diff options
| -rw-r--r-- | src/reel.cc | 16 | ||||
| -rw-r--r-- | src/reel.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/reel.cc b/src/reel.cc index 1e31f1e1..95ed58f7 100644 --- a/src/reel.cc +++ b/src/reel.cc @@ -524,3 +524,19 @@ Reel::can_be_read() const return std::all_of(assets.begin(), assets.end(), [](shared_ptr<const ReelFileAsset> asset) { return asset->can_be_read(); }); } + +PictureEncoding +Reel::picture_encoding() const +{ + if (!_main_picture || !_main_picture->asset_ref().resolved()) { + return PictureEncoding::NO_VIDEO; + } + + auto pic = _main_picture->asset_ref().asset(); + if (dynamic_pointer_cast<MPEG2PictureAsset>(pic)) { + return PictureEncoding::MPEG2; + } + + return PictureEncoding::JPEG2000; +} + @@ -152,6 +152,8 @@ public: void resolve_refs (std::vector<std::shared_ptr<Asset>>); + PictureEncoding picture_encoding() const; + private: friend struct ::dcp_add_kdm_test; |
