3 #include "../../../mixer/frame_mixer_device.h"
\r
7 struct AVCodecContext;
\r
9 namespace caspar { namespace core { namespace ffmpeg {
\r
11 typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;
\r
13 class video_decoder : boost::noncopyable
\r
16 explicit video_decoder(AVCodecContext* codec_context);
\r
17 safe_ptr<write_frame> execute(const aligned_buffer& video_packet);
\r
18 void initialize(const safe_ptr<frame_mixer_device>& frame_mixer);
\r
20 struct implementation;
\r
21 std::shared_ptr<implementation> impl_;
\r