History

avutil/pixfmt: add Y216 pixel format

James Almer committed 2 years ago

Commit f462ba01 parent 9eb7e8d8 files · +45 −2Browse files

Unified · Split

8 files
  1. doc/APIchanges +3 −0
  2. libavutil/pixdesc.c +23 −0
  3. libavutil/pixfmt.h +4 −0
  4. libavutil/tests/pixfmt_best.c +2 −0
  5. libavutil/version.h +1 −1
  6. tests/ref/fate/imgutils +4 −0
  7. tests/ref/fate/pixfmt_best +1 −1
  8. tests/ref/fate/sws-pixdesc-query +7 −0
doc/APIchanges+3−0
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 · 1 unmodified line
22
33 API changes, most recent first:
44
5+2024-10-23 - xxxxxxxxxx - lavu 59.45.100 - pixfmt.h
6+ Add AV_PIX_FMT_Y216.
7+
58 2024-10-15 - xxxxxxxxxx - lavu 59.44.100 - pixfmt.h
69 Add AV_PIX_FMT_RGB96 and AV_PIX_FMT_RGBA128.
710
libavutil/pixdesc.c+23−0
@@ -2948,6 +2948,29 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { · 2947 unmodified lines
29482948 },
29492949 .flags = AV_PIX_FMT_FLAG_PLANAR,
29502950 },
2951+ [AV_PIX_FMT_Y216LE] = {
2952+ .name = "y216le",
2953+ .nb_components = 3,
2954+ .log2_chroma_w = 1,
2955+ .log2_chroma_h = 0,
2956+ .comp = {
2957+ { 0, 4, 0, 0, 16 }, /* Y */
2958+ { 0, 8, 2, 0, 16 }, /* U */
2959+ { 0, 8, 6, 0, 16 }, /* V */
2960+ },
2961+ },
2962+ [AV_PIX_FMT_Y216BE] = {
2963+ .name = "y216be",
2964+ .nb_components = 3,
2965+ .log2_chroma_w = 1,
2966+ .log2_chroma_h = 0,
2967+ .comp = {
2968+ { 0, 4, 0, 0, 16 }, /* Y */
2969+ { 0, 8, 2, 0, 16 }, /* U */
2970+ { 0, 8, 6, 0, 16 }, /* V */
2971+ },
2972+ .flags = AV_PIX_FMT_FLAG_BE,
2973+ },
29512974 };
29522975
29532976 static const char * const color_range_names[] = {
libavutil/pixfmt.h+4−0
@@ -457,6 +457,9 @@ enum AVPixelFormat { · 456 unmodified lines
457457 AV_PIX_FMT_RGB96BE, ///< packed RGBA 32:32:32, 96bpp, RGBRGB..., big-endian
458458 AV_PIX_FMT_RGB96LE, ///< packed RGBA 32:32:32, 96bpp, RGBRGB..., little-endian
459459
460+ AV_PIX_FMT_Y216BE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, big-endian
461+ AV_PIX_FMT_Y216LE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, little-endian
462+
460463 AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
461464 };
462465
@@ -549,6 +552,7 @@ enum AVPixelFormat { · 86 unmodified lines
549552
550553 #define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE)
551554 #define AV_PIX_FMT_Y212 AV_PIX_FMT_NE(Y212BE, Y212LE)
555+#define AV_PIX_FMT_Y216 AV_PIX_FMT_NE(Y216BE, Y216LE)
552556 #define AV_PIX_FMT_XV30 AV_PIX_FMT_NE(XV30BE, XV30LE)
553557 #define AV_PIX_FMT_XV36 AV_PIX_FMT_NE(XV36BE, XV36LE)
554558 #define AV_PIX_FMT_V30X AV_PIX_FMT_NE(V30XBE, V30XLE)
libavutil/tests/pixfmt_best.c+2−0
@@ -50,6 +50,7 @@ static const enum AVPixelFormat packed_list[] = { · 49 unmodified lines
5050 AV_PIX_FMT_XV36,
5151 AV_PIX_FMT_XV30,
5252 AV_PIX_FMT_VUYX,
53+ AV_PIX_FMT_Y216,
5354 AV_PIX_FMT_Y212,
5455 AV_PIX_FMT_Y210,
5556 AV_PIX_FMT_YUYV422,
@@ -210,6 +211,7 @@ int main(void) · 154 unmodified lines
210211 TEST_PACKED(AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUYV422);
211212 TEST_PACKED(AV_PIX_FMT_YUV422P10, AV_PIX_FMT_Y210);
212213 TEST_PACKED(AV_PIX_FMT_YUV422P12, AV_PIX_FMT_Y212);
214+ TEST_PACKED(AV_PIX_FMT_YUV422P16, AV_PIX_FMT_Y216);
213215
214216 #define TEST_SUBSAMPLED(input, expected) \
215217 test(input, expected, &pass, &fail, find_best_subsampled)
libavutil/version.h+1−1
@@ -79,7 +79,7 @@ · 78 unmodified lines
7979 */
8080
8181 #define LIBAVUTIL_VERSION_MAJOR 59
82−#define LIBAVUTIL_VERSION_MINOR 44
82+#define LIBAVUTIL_VERSION_MINOR 45
8383 #define LIBAVUTIL_VERSION_MICRO 100
8484
8585 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
tests/ref/fate/imgutils+4−0
@@ -280,6 +280,8 @@ rgba128be planes: 1, linesizes: 1024 0 0 0, plane_sizes: 49152 0 · 279 unmodified lines
280280 rgba128le planes: 1, linesizes: 1024 0 0 0, plane_sizes: 49152 0 0 0, plane_offsets: 0 0 0, total_size: 49152
281281 rgb96be planes: 1, linesizes: 768 0 0 0, plane_sizes: 36864 0 0 0, plane_offsets: 0 0 0, total_size: 36864
282282 rgb96le planes: 1, linesizes: 768 0 0 0, plane_sizes: 36864 0 0 0, plane_offsets: 0 0 0, total_size: 36864
283+y216be planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
284+y216le planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
283285
284286 image_fill_black tests
285287 yuv420p total_size: 4608, black_unknown_crc: 0xd00f6cc6, black_tv_crc: 0xd00f6cc6, black_pc_crc: 0x234969af
@@ -507,3 +509,5 @@ rgba128be total_size: 49152, black_unknown_crc: 0x59ef499b, black_tv_cr · 221 unmodified lines
507509 rgba128le total_size: 49152, black_unknown_crc: 0x59ef499b, black_tv_crc: 0x59ef499b, black_pc_crc: 0x59ef499b
508510 rgb96be total_size: 36864, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000
509511 rgb96le total_size: 36864, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000
512+y216be total_size: 12288, black_unknown_crc: 0x5483d935, black_tv_crc: 0x5483d935, black_pc_crc: 0x06397bf3
513+y216le total_size: 12288, black_unknown_crc: 0x5d8e1cf6, black_tv_crc: 0x5d8e1cf6, black_pc_crc: 0x8fceec45
tests/ref/fate/pixfmt_best+1−1
@@ -1 +1 @@
1−109 tests passed, 0 tests failed.
1+111 tests passed, 0 tests failed.
tests/ref/fate/sws-pixdesc-query+7−0
@@ -25,6 +25,8 @@ is16BPS: · 24 unmodified lines
2525 rgbaf16le
2626 rgbf16be
2727 rgbf16le
28+ y216be
29+ y216le
2830 ya16be
2931 ya16le
3032 yuv420p16be
@@ -195,6 +197,7 @@ isBE: · 164 unmodified lines
195197 xyz12be
196198 y210be
197199 y212be
200+ y216be
198201 ya16be
199202 yuv420p10be
200203 yuv420p12be
@@ -272,6 +275,8 @@ isYUV: · 71 unmodified lines
272275 y210le
273276 y212be
274277 y212le
278+ y216be
279+ y216le
275280 ya16be
276281 ya16le
277282 ya8
@@ -876,6 +881,8 @@ Packed: · 598 unmodified lines
876881 y210le
877882 y212be
878883 y212le
884+ y216be
885+ y216le
879886 ya16be
880887 ya16le
881888 ya8

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t