Try to separate out filter graph code and use a different one for each different...
[dcpomatic.git] / src / lib / filter_graph.h
1 #ifndef DVDOMATIC_FILTER_GRAPH_H
2 #define DVDOMATIC_FILTER_GRAPH_H
3
4 #include "util.h"
5
6 class Decoder;
7 class Image;
8 class Film;
9
10 class FilterGraph
11 {
12 public:
13         FilterGraph (boost::shared_ptr<Film> film, Decoder* decoder, bool crop, Size s, AVPixelFormat p);
14
15         bool can_process (Size s, AVPixelFormat p) const;
16         std::list<boost::shared_ptr<Image> > process (AVFrame* frame);
17
18 private:
19         AVFilterContext* _buffer_src_context;
20         AVFilterContext* _buffer_sink_context;
21         Size _size;
22         AVPixelFormat _pixel_format;
23 };
24
25 #endif