Support playback of MPEG2 DCPs.
[dcpomatic.git] / src / lib / dcp_decoder.h
index 0143ef881cf7f43d5a06b6ad927f6ce03840cef3..ee0f306946a7f49055bac3e4b4e3cd6683ee631b 100644 (file)
@@ -29,6 +29,8 @@
 #include "font_id_allocator.h"
 #include <dcp/mono_j2k_picture_asset_reader.h>
 #include <dcp/stereo_j2k_picture_asset_reader.h>
+#include <dcp/mono_mpeg2_picture_asset_reader.h>
+#include <dcp/mpeg2_transcode.h>
 #include <dcp/sound_asset_reader.h>
 #include <dcp/subtitle_asset.h>
 
@@ -98,11 +100,15 @@ private:
        std::shared_ptr<dcp::MonoJ2KPictureAssetReader> _j2k_mono_reader;
        /** Reader for current J2K stereo picture asset, if applicable */
        std::shared_ptr<dcp::StereoJ2KPictureAssetReader> _j2k_stereo_reader;
+       /** Reader for current MPEG2 mono picture asset, if applicable */
+       std::shared_ptr<dcp::MonoMPEG2PictureAssetReader> _mpeg2_mono_reader;
        /** Reader for current sound asset, if applicable */
        std::shared_ptr<dcp::SoundAssetReader> _sound_reader;
        std::shared_ptr<dcp::AtmosAssetReader> _atmos_reader;
        boost::optional<AtmosMetadata> _atmos_metadata;
 
+       std::shared_ptr<dcp::MPEG2Decompressor> _mpeg2_decompressor;
+
        bool _decode_referenced = false;
        boost::optional<int> _forced_reduction;