]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/ffmpeg.cpp
2.0.0.2: Mayor solution reconfiguration.
[casparcg] / modules / ffmpeg / ffmpeg.cpp
1 #include "StdAfx.h"\r
2 \r
3 #include "consumer/ffmpeg_consumer.h"\r
4 #include "producer/ffmpeg_producer.h"\r
5 \r
6 #include <core/consumer/frame_consumer.h>\r
7 #include <core/producer/frame_producer.h>\r
8 \r
9 #if defined(_MSC_VER)\r
10 #pragma warning (disable : 4244)\r
11 #endif\r
12 \r
13 extern "C" \r
14 {\r
15         #define __STDC_CONSTANT_MACROS\r
16         #define __STDC_LIMIT_MACROS\r
17         #include <libavformat/avformat.h>\r
18         #include <libswscale/swscale.h>\r
19         #include <libavcodec/avcodec.h>\r
20 }\r
21 \r
22 namespace caspar {\r
23 \r
24 void init_ffmpeg()\r
25 {\r
26         av_register_all();\r
27         avcodec_init();\r
28 \r
29         core::register_consumer_factory(create_ffmpeg_consumer);\r
30         core::register_producer_factory(create_ffmpeg_producer);\r
31 }\r
32 \r
33 std::wstring get_avcodec_version()\r
34 {\r
35         std::wstringstream str;\r
36         str << ((avcodec_version() >> 16) & 0xFF) << L"." << ((avcodec_version() >> 8) & 0xFF) << L"." << ((avcodec_version() >> 0) & 0xFF);\r
37         return str.str();\r
38 }\r
39 \r
40 std::wstring get_avformat_version()\r
41 {\r
42         std::wstringstream str;\r
43         str << ((avformat_version() >> 16) & 0xFF) << L"." << ((avformat_version() >> 8) & 0xFF) << L"." << ((avformat_version() >> 0) & 0xFF);\r
44         return str.str();\r
45 }\r
46 \r
47 std::wstring get_swscale_version()\r
48 {\r
49         std::wstringstream str;\r
50         str << ((swscale_version() >> 16) & 0xFF) << L"." << ((swscale_version() >> 8) & 0xFF) << L"." << ((swscale_version() >> 0) & 0xFF);\r
51         return str.str();\r
52 }\r
53 \r
54 }