namespace caspar { namespace core {\r
\r
class output sealed : public target<std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>>\r
- , boost::noncopyable\r
+ , boost::noncopyable\r
{\r
public:\r
explicit output(const safe_ptr<diagnostics::graph>& graph, const video_format_desc& format_desc, int channel_index);\r
#include <boost/noncopyable.hpp>\r
\r
#include <algorithm>\r
+#include <stdint.h>\r
+#include <limits>\r
#include <functional>\r
#include <string>\r
#include <vector>\r
-#include <stdint.h>\r
-#include <numeric>\r
\r
#include <boost/thread/future.hpp>\r
#include <boost/property_tree/ptree_fwd.hpp>\r
#include <queue>\r
#include <string>\r
#include <vector>\r
-\r
#include <tbb/atomic.h>\r
#include <tbb/concurrent_queue.h>\r
-\r
+#include <tbb/cache_aligned_allocator.h>\r
#include <boost/assign.hpp>\r
#include <boost/circular_buffer.hpp>\r
#include <boost/timer.hpp>\r
#include <boost/foreach.hpp>\r
#include <boost/range.hpp>\r
#include <boost/range/algorithm.hpp>\r
+#include <boost/property_tree/ptree.hpp>\r
+#include <boost/algorithm/string.hpp>\r
+\r
+#if defined(_MSC_VER)\r
+#pragma warning (push)\r
+#pragma warning (disable : 4244)\r
+#endif\r
+extern "C" \r
+{\r
+ #define __STDC_CONSTANT_MACROS\r
+ #define __STDC_LIMIT_MACROS\r
+ #include <libavcodec/avcodec.h>\r
+}\r
+#if defined(_MSC_VER)\r
+#pragma warning (pop)\r
+#endif\r
+\r
+#pragma warning(push)\r
+#pragma warning(disable : 4996)\r
+\r
+ #include <atlbase.h>\r
+\r
+ #include <atlcom.h>\r
+ #include <atlhost.h>\r
+\r
+#pragma warning(push)\r
+\r
+#include <functional>\r
+\r
\r
#include "../common/memory/safe_ptr.h"\r
#include "../common/utility/string.h"\r
-//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
-\r
#include "../common/exception/exceptions.h"\r
#include "../common/exception/win32_exception.h"\r
#include "../common/log/Log.h"\r
\r
#define NOMINMAX\r
\r
-#include <memory>\r
-#include <array>\r
-#include <functional>\r
#include <algorithm>\r
-#include <vector>\r
+#include <array>\r
+#include <asmlib.h>\r
+#include <assert.h>\r
+#include <boost/algorithm/string.hpp>\r
+#include <boost/algorithm/string/case_conv.hpp>\r
+#include <boost/algorithm/string/predicate.hpp>\r
+#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/lexical_cast.hpp>\r
+#include <boost/noncopyable.hpp>\r
+#include <boost/property_tree/ptree.hpp>\r
+#include <boost/range/adaptors.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+#include <boost/range/algorithm/find.hpp>\r
+#include <boost/range/algorithm/find_if.hpp>\r
+#include <boost/range/algorithm_ext/push_back.hpp>\r
+#include <boost/range/iterator_range.hpp>\r
+#include <boost/regex.hpp>\r
+#include <boost/thread/condition_variable.hpp>\r
+#include <boost/thread/mutex.hpp>\r
+#include <boost/thread/once.hpp>\r
+#include <boost/thread/thread.hpp>\r
+#include <boost/timer.hpp>\r
+#include <crtdbg.h>\r
+#include <cstdint>\r
+#include <cstdio>\r
+#include <deque>\r
#include <deque>\r
+#include <functional>\r
+#include <iostream>\r
+#include <limits>\r
+#include <math.h>\r
+#include <memory>\r
#include <queue>\r
+#include <sstream>\r
#include <string>\r
-#include <math.h>\r
-\r
#include <tbb/atomic.h>\r
+#include <tbb/cache_aligned_allocator.h>\r
#include <tbb/concurrent_queue.h>\r
+#include <tbb/concurrent_unordered_map.h>\r
#include <tbb/parallel_for.h>\r
-\r
-#include <boost/assign.hpp>\r
-#include <boost/algorithm/string.hpp>\r
-#include <boost/filesystem.hpp>\r
-#include <boost/foreach.hpp>\r
-#include <boost/range/algorithm.hpp>\r
-#include <boost/property_tree/ptree.hpp>\r
-#include <boost/assign.hpp>\r
-\r
-#include <common/utility/string.h>\r
-#include <common/utility/assert.h>\r
-#include <common/memory/safe_ptr.h>\r
-//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
-\r
-#include <common/log/log.h>\r
-#include <common/exception/exceptions.h>\r
-#include <common/exception/win32_exception.h>\r
+#include <tbb/parallel_invoke.h>\r
+#include <tbb/recursive_mutex.h>\r
+#include <tbb/tbb_thread.h>\r
+#include <unordered_map>\r
+#include <vector>\r
\r
#pragma warning(push, 1)\r
\r
{\r
#define __STDC_CONSTANT_MACROS\r
#define __STDC_LIMIT_MACROS\r
- #include <libavformat/avformat.h>\r
#include <libavcodec/avcodec.h>\r
+ #include <libavfilter/avcodec.h>\r
#include <libavfilter/avfilter.h>\r
+ #include <libavfilter/avfiltergraph.h>\r
+ #include <libavfilter/buffersink.h>\r
+ #include <libavfilter/vsrc_buffer.h>\r
+ #include <libavformat/avformat.h>\r
+ #include <libavutil/avutil.h>\r
+ #include <libavutil/common.h>\r
+ #include <libavutil/cpu.h>\r
+ #include <libavutil/error.h>\r
+ #include <libavutil/imgutils.h>\r
+ #include <libavutil/opt.h>\r
+ #include <libavutil/pixdesc.h>\r
+ #include <libavutil/samplefmt.h>\r
#include <libswscale/swscale.h>\r
}\r
\r
#include <core/consumer/frame_consumer.h>\r
#include <core/video_format.h>\r
\r
+#include <common/env.h>\r
#include <common/concurrency/executor.h>\r
#include <common/diagnostics/graph.h>\r
-#include <common/env.h>\r
+#include <common/memory/safe_ptr.h>\r
#include <common/utility/string.h>\r
#include <common/utility/param.h>\r
\r
#include <boost/algorithm/string.hpp>\r
#include <boost/timer.hpp>\r
#include <boost/property_tree/ptree.hpp>\r
-\r
-#include <tbb/cache_aligned_allocator.h>\r
-#include <tbb/parallel_invoke.h>\r
+#include <boost/filesystem.hpp>\r
\r
#if defined(_MSC_VER)\r
#pragma warning (push)\r
\r
#pragma once\r
\r
-#include <boost/property_tree/ptree.hpp>\r
+#include <common/memory/safe_ptr.h>\r
+\r
+#include <boost/property_tree/ptree_fwd.hpp>\r
\r
#include <string>\r
#include <vector>\r
*/\r
#include "ffmpeg_error.h"\r
\r
-#include <common/exception/exceptions.h>\r
#include <common/utility/string.h>\r
\r
#pragma warning(disable: 4146)\r
#pragma once\r
\r
#include <common/exception/exceptions.h>\r
-#include <common/utility/string.h>\r
\r
#include <string>\r
\r
\r
#include <core/video_format.h>\r
\r
+#include <common/log/log.h>\r
+\r
#include <tbb/cache_aligned_allocator.h>\r
\r
#include <queue>\r
#include "audio_resampler.h"\r
\r
#include <common/exception/exceptions.h>\r
+#include <common/log/log.h>\r
\r
#if defined(_MSC_VER)\r
#pragma warning (push)\r
#include <boost/filesystem.hpp>\r
#include <boost/range/algorithm/find_if.hpp>\r
#include <boost/range/algorithm/find.hpp>\r
+#include <boost/property_tree/ptree.hpp>\r
#include <boost/regex.hpp>\r
\r
#include <tbb/parallel_invoke.h>\r
#include "../util/util.h"\r
#include "../../ffmpeg_error.h"\r
\r
-#include <core/video_format.h>\r
-\r
#include <common/diagnostics/graph.h>\r
#include <common/exception/exceptions.h>\r
#include <common/exception/win32_exception.h>\r
+#include <common/log/log.h>\r
+\r
+#include <core/video_format.h>\r
\r
#include <tbb/concurrent_queue.h>\r
#include <tbb/atomic.h>\r
#include <common/env.h>\r
#include <common/exception/exceptions.h>\r
#include <common/log/log.h>\r
+#include <common/utility/assert.h>\r
\r
#if defined(_MSC_VER)\r
#pragma warning (push)\r
#include <common/env.h>\r
#include <common/utility/assert.h>\r
\r
-#include <tbb/task.h>\r
#include <tbb/atomic.h>\r
#include <tbb/parallel_for.h>\r
#include <tbb/tbb_thread.h>\r
#include "flv.h"\r
\r
#include <common/exception/exceptions.h>\r
+#include <common/log/log.h>\r
\r
#include <boost/filesystem.hpp>\r
\r
\r
#include "../../ffmpeg_error.h"\r
\r
+#include <common/log/log.h>\r
#include <core/producer/frame/frame_transform.h>\r
#include <core/producer/frame/frame_factory.h>\r
\r
* Author: Robert Nagy, ronag89@gmail.com\r
*/\r
\r
-\r
#pragma once\r
\r
#include <common/memory/safe_ptr.h>\r