From 61e59cd92c779a4684ebfa554feacc0a4e8d3c78 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 27 Dec 2012 00:58:45 +0100 Subject: imgfmt: add more ffmpeg pixel formats Most of these probably don't have much actual use, but at least allow images of these formats to be handed to swscale, should any decoder output them. --- video/fmt-conversion.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) (limited to 'video/fmt-conversion.c') diff --git a/video/fmt-conversion.c b/video/fmt-conversion.c index cf3aaa7452..c20097224e 100644 --- a/video/fmt-conversion.c +++ b/video/fmt-conversion.c @@ -55,11 +55,20 @@ static const struct { {IMGFMT_RGB4, PIX_FMT_BGR4}, {IMGFMT_PAL8, PIX_FMT_PAL8}, {IMGFMT_GBRP, PIX_FMT_GBRP}, + {IMGFMT_GBRP9_BE, PIX_FMT_GBRP9BE}, + {IMGFMT_GBRP9_LE, PIX_FMT_GBRP9LE}, + {IMGFMT_GBRP10_BE, PIX_FMT_GBRP10BE}, + {IMGFMT_GBRP10_LE, PIX_FMT_GBRP10LE}, + {IMGFMT_GBRP16_BE, PIX_FMT_GBRP16BE}, + {IMGFMT_GBRP16_LE, PIX_FMT_GBRP16LE}, {IMGFMT_YUYV, PIX_FMT_YUYV422}, {IMGFMT_UYVY, PIX_FMT_UYVY422}, {IMGFMT_NV12, PIX_FMT_NV12}, {IMGFMT_NV21, PIX_FMT_NV21}, {IMGFMT_Y8, PIX_FMT_GRAY8}, + // Support really ancient ffmpeg versions (before e91946ed23dfbb) + // Newer versions use PIX_FMT_GRAY8A + {IMGFMT_YA8, PIX_FMT_Y400A}, {IMGFMT_Y16_LE, PIX_FMT_GRAY16LE}, {IMGFMT_Y16_BE, PIX_FMT_GRAY16BE}, {IMGFMT_410P, PIX_FMT_YUV410P}, @@ -69,8 +78,6 @@ static const struct { {IMGFMT_444P, PIX_FMT_YUV444P}, {IMGFMT_440P, PIX_FMT_YUV440P}, - {IMGFMT_420AP, PIX_FMT_YUVA420P}, - {IMGFMT_420P16_LE, PIX_FMT_YUV420P16LE}, {IMGFMT_420P16_BE, PIX_FMT_YUV420P16BE}, {IMGFMT_420P9_LE, PIX_FMT_YUV420P9LE}, @@ -97,6 +104,34 @@ static const struct { {IMGFMT_444P, PIX_FMT_YUVJ444P}, {IMGFMT_440P, PIX_FMT_YUVJ440P}, + {IMGFMT_420AP, PIX_FMT_YUVA420P}, + +#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52, 10, 0) + {IMGFMT_422AP, PIX_FMT_YUVA422P}, + {IMGFMT_444AP, PIX_FMT_YUVA444P}, + + {IMGFMT_420AP9_BE, AV_PIX_FMT_YUVA420P9BE}, + {IMGFMT_420AP9_LE, AV_PIX_FMT_YUVA420P9LE}, + {IMGFMT_420AP10_BE, AV_PIX_FMT_YUVA420P10BE}, + {IMGFMT_420AP10_LE, AV_PIX_FMT_YUVA420P10LE}, + {IMGFMT_420AP16_BE, AV_PIX_FMT_YUVA420P16BE}, + {IMGFMT_420AP16_LE, AV_PIX_FMT_YUVA420P16LE}, + + {IMGFMT_422AP9_BE, AV_PIX_FMT_YUVA422P9BE}, + {IMGFMT_422AP9_LE, AV_PIX_FMT_YUVA422P9LE}, + {IMGFMT_422AP10_BE, AV_PIX_FMT_YUVA422P10BE}, + {IMGFMT_422AP10_LE, AV_PIX_FMT_YUVA422P10LE}, + {IMGFMT_422AP16_BE, AV_PIX_FMT_YUVA422P16BE}, + {IMGFMT_422AP16_LE, AV_PIX_FMT_YUVA422P16LE}, + + {IMGFMT_444AP9_BE, AV_PIX_FMT_YUVA444P9BE}, + {IMGFMT_444AP9_LE, AV_PIX_FMT_YUVA444P9LE}, + {IMGFMT_444AP10_BE, AV_PIX_FMT_YUVA444P10BE}, + {IMGFMT_444AP10_LE, AV_PIX_FMT_YUVA444P10LE}, + {IMGFMT_444AP16_BE, AV_PIX_FMT_YUVA444P16BE}, + {IMGFMT_444AP16_LE, AV_PIX_FMT_YUVA444P16LE}, +#endif + // ffmpeg only #if LIBAVUTIL_VERSION_MICRO >= 100 {IMGFMT_420P12_LE, PIX_FMT_YUV420P12LE}, @@ -112,7 +147,21 @@ static const struct { {IMGFMT_444P14_BE, PIX_FMT_YUV444P14BE}, {IMGFMT_444P14_LE, PIX_FMT_YUV444P14LE}, + {IMGFMT_GBRP12_BE, PIX_FMT_GBRP12BE}, + {IMGFMT_GBRP12_LE, PIX_FMT_GBRP12LE}, + {IMGFMT_GBRP14_BE, PIX_FMT_GBRP14BE}, + {IMGFMT_GBRP14_LE, PIX_FMT_GBRP14LE}, + {IMGFMT_BGR0, PIX_FMT_BGR0}, + {IMGFMT_0RGB, PIX_FMT_0RGB}, + {IMGFMT_RGB0, PIX_FMT_RGB0}, + {IMGFMT_0BGR, PIX_FMT_0BGR}, + {IMGFMT_BGR0, PIX_FMT_BGR0}, + + {IMGFMT_RGBA64_BE, PIX_FMT_RGBA64BE}, + {IMGFMT_RGBA64_LE, PIX_FMT_RGBA64LE}, + {IMGFMT_BGRA64_BE, PIX_FMT_BGRA64BE}, + {IMGFMT_BGRA64_LE, PIX_FMT_BGRA64LE}, #endif {IMGFMT_VDPAU_MPEG1, PIX_FMT_VDPAU_MPEG1}, -- cgit v1.2.3