deps/media-playback: Convert YUV alpha formats to RGB on GPU

I40A -> RGBA, 1080p, CPU
swscale (MMX), Intel i7-6700: 1910 us -> 0 us

GPU measurements used Intel GPA with SetStablePowerState.

I40A -> RGBA, 1080p, GPU
Intel HD Graphics 530: 0 us -> 677 us
NVIDIA RTX 2080 Ti: 0 us -> 43 us
This commit is contained in:
jpark37 2019-08-11 11:26:52 -07:00
parent 90c545b52c
commit 1e87df89bb
2 changed files with 15 additions and 0 deletions

View file

@ -61,6 +61,15 @@ static enum AVPixelFormat closest_format(enum AVPixelFormat fmt)
case AV_PIX_FMT_YUV420P14LE:
return AV_PIX_FMT_YUV420P;
case AV_PIX_FMT_YUVA420P:
return AV_PIX_FMT_YUVA420P;
case AV_PIX_FMT_YUVA422P:
return AV_PIX_FMT_YUVA422P;
case AV_PIX_FMT_YUVA444P:
return AV_PIX_FMT_YUVA444P;
case AV_PIX_FMT_RGBA:
case AV_PIX_FMT_BGRA:
case AV_PIX_FMT_BGR0:

View file

@ -48,6 +48,12 @@ static inline enum video_format convert_pixel_format(int f)
return VIDEO_FORMAT_BGRA;
case AV_PIX_FMT_BGR0:
return VIDEO_FORMAT_BGRX;
case AV_PIX_FMT_YUVA420P:
return VIDEO_FORMAT_I40A;
case AV_PIX_FMT_YUVA422P:
return VIDEO_FORMAT_I42A;
case AV_PIX_FMT_YUVA444P:
return VIDEO_FORMAT_YUVA;
default:;
}