-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
+protected:
+ virtual std::string src_parameters () const = 0;
+ virtual std::string src_name () const = 0;
+ virtual void set_parameters (AVFilterContext* context) const = 0;
+ virtual std::string sink_name () const = 0;
+
+ AVFilterGraph* _graph = nullptr;
+ /** true if this graph has no filters in, so it just copies stuff straight through */
+ bool _copy = false;
+ AVFilterContext* _buffer_src_context = nullptr;
+ AVFilterContext* _buffer_sink_context = nullptr;
+ AVFrame* _frame = nullptr;