diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-03-19 14:02:47 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-04-22 13:03:04 +0200 |
| commit | f72a79c93626e773214f1a0318adf2445ac2ee72 (patch) | |
| tree | 7b84a9c0c000618893a3fa3d609507c855735669 /src/lib/reel_writer.h | |
| parent | 5b2e3126602d508498a99bce256f5f465f095d43 (diff) | |
Support encoding of MPEG2 DCPs.
Diffstat (limited to 'src/lib/reel_writer.h')
| -rw-r--r-- | src/lib/reel_writer.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/reel_writer.h b/src/lib/reel_writer.h index 30abdd563..f6273f8e9 100644 --- a/src/lib/reel_writer.h +++ b/src/lib/reel_writer.h @@ -31,7 +31,10 @@ #include "weak_film.h" #include <dcp/atmos_asset_writer.h> #include <dcp/file.h> +#include <dcp/ffmpeg_image.h> #include <dcp/j2k_picture_asset_writer.h> +#include <dcp/mono_mpeg2_picture_frame.h> +#include <dcp/mpeg2_picture_asset_writer.h> class AudioBuffers; @@ -46,6 +49,7 @@ namespace dcp { class MonoJ2KPictureAssetWriter; class J2KPictureAsset; class J2KPictureAssetWriter; + class MPEG2PictureAsset; class Reel; class ReelAsset; class ReelPictureAsset; @@ -70,11 +74,12 @@ public: ); void write (std::shared_ptr<const dcp::Data> encoded, Frame frame, Eyes eyes); - void fake_write (int size); + void fake_write(dcp::J2KFrameInfo const& info); void repeat_write (Frame frame, Eyes eyes); void write (std::shared_ptr<const AudioBuffers> audio); void write(PlayerText text, TextType type, boost::optional<DCPTextTrack> track, dcpomatic::DCPTimePeriod period, FontIdMap const& fonts, std::shared_ptr<dcpomatic::Font> chosen_interop_font); void write (std::shared_ptr<const dcp::AtmosFrame> atmos, AtmosMetadata metadata); + void write(std::shared_ptr<dcp::MonoMPEG2PictureFrame> image); void finish (boost::filesystem::path output_dcp); std::shared_ptr<dcp::Reel> create_reel ( @@ -131,9 +136,11 @@ private: dcp::ArrayData _default_font; - std::shared_ptr<dcp::J2KPictureAsset> _picture_asset; + std::shared_ptr<dcp::J2KPictureAsset> _j2k_picture_asset; + std::shared_ptr<dcp::MPEG2PictureAsset> _mpeg2_picture_asset; /** picture asset writer, or 0 if we are not writing any picture because we already have one */ - std::shared_ptr<dcp::J2KPictureAssetWriter> _picture_asset_writer; + std::shared_ptr<dcp::J2KPictureAssetWriter> _j2k_picture_asset_writer; + std::shared_ptr<dcp::MPEG2PictureAssetWriter> _mpeg2_picture_asset_writer; std::shared_ptr<dcp::SoundAsset> _sound_asset; std::shared_ptr<dcp::SoundAssetWriter> _sound_asset_writer; std::shared_ptr<dcp::SubtitleAsset> _subtitle_asset; |
