]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/producer/util.h
2.0. - device_buffer: Removed unnecessary glFlush.
[casparcg] / modules / ffmpeg / producer / util.h
1 #pragma once\r
2 \r
3 #include <common/memory/safe_ptr.h>\r
4 \r
5 #include <core/video_format.h>\r
6 #include <core/producer/frame/pixel_format.h>\r
7 \r
8 struct AVFrame;\r
9 enum PixelFormat;\r
10 \r
11 namespace caspar {\r
12 \r
13 namespace core {\r
14 \r
15 struct pixel_format_desc;\r
16 class write_frame;\r
17 struct frame_factory;\r
18 \r
19 }\r
20 \r
21 core::video_mode::type          get_mode(AVFrame& frame);\r
22 core::pixel_format::type        get_pixel_format(PixelFormat pix_fmt);\r
23 core::pixel_format_desc         get_pixel_format_desc(PixelFormat pix_fmt, size_t width, size_t height);\r
24 PixelFormat                                     get_ffmpeg_pixel_format(const core::pixel_format_desc& format_desc);\r
25 safe_ptr<AVFrame>                       as_av_frame(const safe_ptr<core::write_frame>& frame);\r
26 bool                                            try_make_gray(const safe_ptr<AVFrame>& frame);\r
27 safe_ptr<core::write_frame> make_write_frame(const void* tag, const safe_ptr<AVFrame>& decoded_frame, const safe_ptr<core::frame_factory>& frame_factory, int hints);\r
28 \r
29 }