ffmpeg/tools: Function to go from AVPixelFormat to video_format

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2019-07-25 01:36:16 +02:00
parent 3e7fd3ea55
commit e17fa119a1
2 changed files with 29 additions and 0 deletions
+27
View File
@@ -194,6 +194,33 @@ AVPixelFormat ffmpeg::tools::obs_videoformat_to_avpixelformat(video_format v)
throw std::invalid_argument("unknown format"); throw std::invalid_argument("unknown format");
} }
video_format ffmpeg::tools::avpixelformat_to_obs_videoformat(AVPixelFormat v)
{
switch (v) {
case AV_PIX_FMT_YUV420P:
return VIDEO_FORMAT_I420;
case AV_PIX_FMT_NV12:
return VIDEO_FORMAT_NV12;
case AV_PIX_FMT_YVYU422:
return VIDEO_FORMAT_YVYU;
case AV_PIX_FMT_YUYV422:
return VIDEO_FORMAT_YUY2;
case AV_PIX_FMT_UYVY422:
return VIDEO_FORMAT_UYVY;
case AV_PIX_FMT_RGBA:
return VIDEO_FORMAT_RGBA;
case AV_PIX_FMT_BGRA:
return VIDEO_FORMAT_BGRA;
case AV_PIX_FMT_BGR0:
return VIDEO_FORMAT_BGRX;
case AV_PIX_FMT_GRAY8:
return VIDEO_FORMAT_Y800;
case AV_PIX_FMT_YUV444P:
return VIDEO_FORMAT_I444;
}
return VIDEO_FORMAT_NONE;
}
AVColorSpace ffmpeg::tools::obs_videocolorspace_to_avcolorspace(video_colorspace v) AVColorSpace ffmpeg::tools::obs_videocolorspace_to_avcolorspace(video_colorspace v)
{ {
switch (v) { switch (v) {
+2
View File
@@ -42,6 +42,8 @@ namespace ffmpeg {
AVPixelFormat obs_videoformat_to_avpixelformat(video_format v); AVPixelFormat obs_videoformat_to_avpixelformat(video_format v);
video_format avpixelformat_to_obs_videoformat(AVPixelFormat v);
AVColorSpace obs_videocolorspace_to_avcolorspace(video_colorspace v); AVColorSpace obs_videocolorspace_to_avcolorspace(video_colorspace v);
AVColorRange obs_videorangetype_to_avcolorrange(video_range_type v); AVColorRange obs_videorangetype_to_avcolorrange(video_range_type v);