]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/producer/filter/filter.h
2.0. Refactoring
[casparcg] / modules / ffmpeg / producer / filter / filter.h
1 #pragma once\r
2 \r
3 #include <common/memory/safe_ptr.h>\r
4 \r
5 #include <string>\r
6 #include <vector>\r
7 \r
8 struct AVFrame;\r
9 \r
10 namespace caspar {\r
11                 \r
12 static bool double_rate(const std::wstring& filters)\r
13 {\r
14         if(filters.find(L"YADIF=1") != std::string::npos)\r
15                 return true;\r
16         \r
17         if(filters.find(L"YADIF=3") != std::string::npos)\r
18                 return true;\r
19 \r
20         return false;\r
21 }\r
22 \r
23 class filter\r
24 {\r
25 public:\r
26         filter(const std::wstring& filters = L"");\r
27 \r
28         std::vector<safe_ptr<AVFrame>> execute(const std::shared_ptr<AVFrame>& frame);\r
29 \r
30 private:\r
31         struct implementation;\r
32         safe_ptr<implementation> impl_;\r
33 };\r
34 \r
35 }