summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-05-22 02:25:23 +0200
committerwm4 <wm4@nowhere>2020-05-22 02:26:05 +0200
commit320fa3bbe73c57e2ba5633a865b6997c1901b4b2 (patch)
treeeae36c9893283fc5a2b74790037bfea432c22557 /test
parent756ae0321bfcab058affa34922d5f759a1947a80 (diff)
downloadmpv-320fa3bbe73c57e2ba5633a865b6997c1901b4b2.tar.bz2
mpv-320fa3bbe73c57e2ba5633a865b6997c1901b4b2.tar.xz
video: add AV_PIX_FMT_UYYVYY411 conversion support
It may be completely useless, and I can't verify it as no known samples or other known/accessible software using it, but why not? Putting this together with he 422 code requires making it slightly more generic. I'm still staying with a "huge" if tree instead of a table to select the scanline worker callback, because it's actually small and not huge (although it not being generic still feels slightly painful).
Diffstat (limited to 'test')
-rw-r--r--test/ref/repack.txt3
-rw-r--r--test/ref/zimg_formats.txt2
-rw-r--r--test/repack.c7
3 files changed, 8 insertions, 4 deletions
diff --git a/test/ref/repack.txt b/test/ref/repack.txt
index ec7a242315..6f0f5b281d 100644
--- a/test/ref/repack.txt
+++ b/test/ref/repack.txt
@@ -200,7 +200,8 @@ rgba64be => [pa] [un] gbrap16 | a=1:1 [tu] [tp]
rgba64be => [pa] [un] gbrapf32 | a=1:1 [planar-f32]
uyvy422 => [pa] [un] yuv422p | a=2:1 [tu] [tp]
uyvy422 => [pa] [un] yuv422pf | a=2:1 [planar-f32]
-uyyvyy411 => no
+uyyvyy411 => [pa] [un] yuv411p | a=4:1 [tu] [tp]
+uyyvyy411 => [pa] [un] yuv411pf | a=4:1 [planar-f32]
vaapi => no
vaapi_idct => no
vaapi_moco => no
diff --git a/test/ref/zimg_formats.txt b/test/ref/zimg_formats.txt
index 94a348e782..a80ff8936e 100644
--- a/test/ref/zimg_formats.txt
+++ b/test/ref/zimg_formats.txt
@@ -115,7 +115,7 @@
rgba64 Zin Zout SWSin SWSout |
rgba64be Zin Zout SWSin SWSout |
uyvy422 Zin Zout SWSin SWSout |
- uyyvyy411 |
+ uyyvyy411 Zin Zout |
vaapi |
vaapi_idct |
vaapi_moco |
diff --git a/test/repack.c b/test/repack.c
index 00ff0cdc8b..f4b5c9c12a 100644
--- a/test/repack.c
+++ b/test/repack.c
@@ -141,8 +141,8 @@ static const struct entry repack_tests[] = {
-AV_PIX_FMT_YUVA444P16, {P16(2), P16(3), P16(4), P16(1)}},
{1, 1, -AV_PIX_FMT_AYUV64BE, {P16(0x0100, 0x0200, 0x0300, 0x0400)},
-AV_PIX_FMT_YUVA444P16, {P16(2), P16(3), P16(4), P16(1)}},
- {2, 1, -AV_PIX_FMT_YUYV422, {P8(1, 2, 3, 4)},
- -AV_PIX_FMT_YUV422P, {P8(1, 3), P8(2), P8(4)}},
+ {4, 1, -AV_PIX_FMT_YUYV422, {P8(1, 2, 3, 4, 5, 6, 7, 8)},
+ -AV_PIX_FMT_YUV422P, {P8(1, 3, 5, 7), P8(2, 6), P8(4, 8)}},
{2, 1, -AV_PIX_FMT_YVYU422, {P8(1, 2, 3, 4)},
-AV_PIX_FMT_YUV422P, {P8(1, 3), P8(4), P8(2)}},
{2, 1, -AV_PIX_FMT_UYVY422, {P8(1, 2, 3, 4)},
@@ -159,6 +159,9 @@ static const struct entry repack_tests[] = {
P16(0x4a4b)},
-AV_PIX_FMT_YUV422P16, {P16(0x1b1a, 0x2b2a), P16(0x3b3a),
P16(0x4b4a)}},
+ {8, 1, -AV_PIX_FMT_UYYVYY411, {P8(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)},
+ -AV_PIX_FMT_YUV411P, {P8(2, 3, 5, 6, 8, 9, 11, 12),
+ P8(1, 7), P8(4, 10)}},
};
static bool is_true_planar(int imgfmt)