X-Git-Url: https://main.carlh.net/gitweb/?p=libdcp.git;a=blobdiff_plain;f=src%2Fpicture_asset.h;h=6ee3bd24b53662b4b24299b271ef7054f1439899;hp=696776dad6a46b4d6ccf1182db33ee03a20c07d6;hb=ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89;hpb=0e29e68e94daade47167ac5bc6b51362ef02b5c3 diff --git a/src/picture_asset.h b/src/picture_asset.h index 696776da..6ee3bd24 100644 --- a/src/picture_asset.h +++ b/src/picture_asset.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of libdcp. @@ -31,40 +31,49 @@ files in the program, then also delete it here. */ -#ifndef LIBDCP_PICTURE_ASSET_H -#define LIBDCP_PICTURE_ASSET_H /** @file src/picture_asset.h - * @brief PictureAsset class. + * @brief PictureAsset class */ + +#ifndef LIBDCP_PICTURE_ASSET_H +#define LIBDCP_PICTURE_ASSET_H + + #include "mxf.h" #include "util.h" #include "metadata.h" + namespace ASDCP { namespace JP2K { struct PictureDescriptor; } } -namespace dcp -{ + +namespace dcp { + class MonoPictureFrame; class StereoPictureFrame; class PictureAssetWriter; + /** @class PictureAsset - * @brief An asset made up of JPEG2000 data. + * @brief An asset made up of JPEG2000 data */ class PictureAsset : public Asset, public MXF { public: + /** Load a PictureAsset from a file */ explicit PictureAsset (boost::filesystem::path file); + + /** Create a new PictureAsset with a given edit rate and standard */ explicit PictureAsset (Fraction edit_rate, Standard standard); - virtual boost::shared_ptr start_write ( + virtual std::shared_ptr start_write ( boost::filesystem::path file, bool overwrite ) = 0; @@ -101,6 +110,8 @@ public: return _intrinsic_duration; } + static std::string static_pkl_type (Standard standard); + protected: friend class MonoPictureAssetWriter; friend class StereoPictureAssetWriter; @@ -122,7 +133,7 @@ protected: /** The total length of this content in video frames. The amount of * content presented may be less than this. */ - int64_t _intrinsic_duration; + int64_t _intrinsic_duration = 0; /** picture size in pixels */ Size _size; Fraction _frame_rate; @@ -135,4 +146,5 @@ private: } + #endif