summaryrefslogtreecommitdiff
path: root/src/lib/reel_writer.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-03-19 14:02:47 +0100
committerCarl Hetherington <cth@carlh.net>2024-04-22 13:03:04 +0200
commitf72a79c93626e773214f1a0318adf2445ac2ee72 (patch)
tree7b84a9c0c000618893a3fa3d609507c855735669 /src/lib/reel_writer.h
parent5b2e3126602d508498a99bce256f5f465f095d43 (diff)
Support encoding of MPEG2 DCPs.
Diffstat (limited to 'src/lib/reel_writer.h')
-rw-r--r--src/lib/reel_writer.h13
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;