X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilter_graph.h;h=9b403c2bc65734cf03a9b8458180a0b8695a26fc;hb=a9fac36bee5cb70263e2df170b104a8951adcccf;hp=1ff5527ab827c868a8056ccb4e69226f64079681;hpb=f90e90cdec39c7959c26e8199ee2170cedb4f256;p=dcpomatic.git diff --git a/src/lib/filter_graph.h b/src/lib/filter_graph.h index 1ff5527ab..9b403c2bc 100644 --- a/src/lib/filter_graph.h +++ b/src/lib/filter_graph.h @@ -25,28 +25,29 @@ #define DCPOMATIC_FILTER_GRAPH_H #include "util.h" -#include "ffmpeg_compatibility.h" class Image; class VideoFilter; -class FFmpegDecoder; +class FFmpegContent; /** @class FilterGraph * @brief A graph of FFmpeg filters. */ -class FilterGraph +class FilterGraph : public boost::noncopyable { public: - FilterGraph (boost::shared_ptr, FFmpegDecoder* decoder, libdcp::Size s, AVPixelFormat p); + FilterGraph (boost::shared_ptr content, libdcp::Size s, AVPixelFormat p); + ~FilterGraph (); bool can_process (libdcp::Size s, AVPixelFormat p) const; - std::list > process (AVFrame const * frame); + std::list, int64_t> > process (AVFrame * frame); private: AVFilterContext* _buffer_src_context; AVFilterContext* _buffer_sink_context; libdcp::Size _size; ///< size of the images that this chain can process AVPixelFormat _pixel_format; ///< pixel format of the images that this chain can process + AVFrame* _frame; }; #endif