summaryrefslogtreecommitdiffstats
path: root/video/fmt-conversion.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/fmt-conversion.c')
-rw-r--r--video/fmt-conversion.c53
1 files changed, 51 insertions, 2 deletions
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},