]> git.sesse.net Git - casparcg/blobdiff - modules/ffmpeg/producer/filter/filter.h
2.0. ogl_consumer: Deinterlacer enabled when running in interlaced channel.
[casparcg] / modules / ffmpeg / producer / filter / filter.h
index 959ec25b9334668e34ccac07f3aa0423872c32d2..6fabbd67331333badc123f4d29c0285d5ea3f16b 100644 (file)
@@ -2,10 +2,13 @@
 \r
 #include <common/memory/safe_ptr.h>\r
 \r
+#include <boost/noncopyable.hpp>\r
+\r
 #include <string>\r
 #include <vector>\r
 \r
 struct AVFrame;\r
+enum PixelFormat;\r
 \r
 namespace caspar {\r
                \r
@@ -20,13 +23,14 @@ static bool double_rate(const std::wstring& filters)
        return false;\r
 }\r
 \r
-class filter\r
+class filter : boost::noncopyable\r
 {\r
 public:\r
-       filter(const std::wstring& filters);\r
+       filter(const std::wstring& filters = L"", const std::vector<PixelFormat>& pix_fmts = std::vector<PixelFormat>());\r
+       filter(filter&& other);\r
+       filter& operator=(filter&& other);\r
 \r
-       void push(const std::shared_ptr<AVFrame>& frame);\r
-       std::vector<safe_ptr<AVFrame>> poll();\r
+       std::vector<safe_ptr<AVFrame>> execute(const std::shared_ptr<AVFrame>& frame);\r
 \r
 private:\r
        struct implementation;\r