35 #ifndef LIBDCP_MPEG2_TRANSCODE_H
36 #define LIBDCP_MPEG2_TRANSCODE_H
39 #include "ffmpeg_image.h"
44 struct AVCodecContext;
52 class MonoMPEG2PictureFrame;
65 AVCodec
const* _codec;
66 AVCodecContext* _context;
76 std::vector<FFmpegImage> decompress_frame(std::shared_ptr<const MonoMPEG2PictureFrame> frame);
77 std::vector<FFmpegImage> flush();
80 std::vector<FFmpegImage> decompress_packet(AVPacket* packet);
82 AVFrame* _decompressed_frame;
95 typedef std::pair<std::shared_ptr<MonoMPEG2PictureFrame>, int64_t>
IndexedFrame;
97 boost::optional<IndexedFrame> compress_frame(
FFmpegImage const& image);
98 boost::optional<IndexedFrame> flush();
101 boost::optional<IndexedFrame> send_and_receive(AVFrame
const* frame);
std::pair< std::shared_ptr< MonoMPEG2PictureFrame >, int64_t > IndexedFrame
Namespace for everything in libdcp.
The integer, two-dimensional size of something.