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).
Showing the changes to test (3 of 4 files). Show all
Unified · Split
| @@ -200,7 +200,8 @@ rgba64be => [pa] [un] gbrap16 | a=1:1 [tu] [tp] · 199 unmodified lines | ||
| 200 | 200 | rgba64be => [pa] [un] gbrapf32 | a=1:1 [planar-f32] |
| 201 | 201 | uyvy422 => [pa] [un] yuv422p | a=2:1 [tu] [tp] |
| 202 | 202 | uyvy422 => [pa] [un] yuv422pf | a=2:1 [planar-f32] |
| 203 | −uyyvyy411 => no | |
| 203 | +uyyvyy411 => [pa] [un] yuv411p | a=4:1 [tu] [tp] | |
| 204 | +uyyvyy411 => [pa] [un] yuv411pf | a=4:1 [planar-f32] | |
| 204 | 205 | vaapi => no |
| 205 | 206 | vaapi_idct => no |
| 206 | 207 | vaapi_moco => no |
| @@ -115,7 +115,7 @@ · 114 unmodified lines | ||
| 115 | 115 | rgba64 Zin Zout SWSin SWSout | |
| 116 | 116 | rgba64be Zin Zout SWSin SWSout | |
| 117 | 117 | uyvy422 Zin Zout SWSin SWSout | |
| 118 | − uyyvyy411 | | |
| 118 | + uyyvyy411 Zin Zout | | |
| 119 | 119 | vaapi | |
| 120 | 120 | vaapi_idct | |
| 121 | 121 | vaapi_moco | |
| @@ -141,8 +141,8 @@ static const struct entry repack_tests[] = { · 140 unmodified lines | ||
| 141 | 141 | -AV_PIX_FMT_YUVA444P16, {P16(2), P16(3), P16(4), P16(1)}}, |
| 142 | 142 | {1, 1, -AV_PIX_FMT_AYUV64BE, {P16(0x0100, 0x0200, 0x0300, 0x0400)}, |
| 143 | 143 | -AV_PIX_FMT_YUVA444P16, {P16(2), P16(3), P16(4), P16(1)}}, |
| 144 | − {2, 1, -AV_PIX_FMT_YUYV422, {P8(1, 2, 3, 4)}, | |
| 145 | − -AV_PIX_FMT_YUV422P, {P8(1, 3), P8(2), P8(4)}}, | |
| 144 | + {4, 1, -AV_PIX_FMT_YUYV422, {P8(1, 2, 3, 4, 5, 6, 7, 8)}, | |
| 145 | + -AV_PIX_FMT_YUV422P, {P8(1, 3, 5, 7), P8(2, 6), P8(4, 8)}}, | |
| 146 | 146 | {2, 1, -AV_PIX_FMT_YVYU422, {P8(1, 2, 3, 4)}, |
| 147 | 147 | -AV_PIX_FMT_YUV422P, {P8(1, 3), P8(4), P8(2)}}, |
| 148 | 148 | {2, 1, -AV_PIX_FMT_UYVY422, {P8(1, 2, 3, 4)}, |
| @@ -159,6 +159,9 @@ static const struct entry repack_tests[] = { · 10 unmodified lines | ||
| 159 | 159 | P16(0x4a4b)}, |
| 160 | 160 | -AV_PIX_FMT_YUV422P16, {P16(0x1b1a, 0x2b2a), P16(0x3b3a), |
| 161 | 161 | P16(0x4b4a)}}, |
| 162 | + {8, 1, -AV_PIX_FMT_UYYVYY411, {P8(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)}, | |
| 163 | + -AV_PIX_FMT_YUV411P, {P8(2, 3, 5, 6, 8, 9, 11, 12), | |
| 164 | + P8(1, 7), P8(4, 10)}}, | |
| 162 | 165 | }; |
| 163 | 166 | |
| 164 | 167 | static bool is_true_planar(int imgfmt) |