aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-10-21 21:38:55 -0300
committerJames Almer <jamrial@gmail.com>2024-10-23 14:11:16 -0300
commitf462ba05f54dae6b4113c2d2162b861ed2ffe27c (patch)
tree48eeeb8dfe9472ea6f66d14ea69e1cb29bd2c315
parent9eb7e8d2a4da108c9cf5d25984cf20b613ce593e (diff)
downloadffmpeg-f462ba05f54dae6b4113c2d2162b861ed2ffe27c.tar.gz
avutil/pixfmt: add Y216 pixel format
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/pixdesc.c23
-rw-r--r--libavutil/pixfmt.h4
-rw-r--r--libavutil/tests/pixfmt_best.c2
-rw-r--r--libavutil/version.h2
-rw-r--r--tests/ref/fate/imgutils4
-rw-r--r--tests/ref/fate/pixfmt_best2
-rw-r--r--tests/ref/fate/sws-pixdesc-query7
8 files changed, 45 insertions, 2 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 508de490ef..e71ca57119 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
+2024-10-23 - xxxxxxxxxx - lavu 59.45.100 - pixfmt.h
+ Add AV_PIX_FMT_Y216.
+
2024-10-15 - xxxxxxxxxx - lavu 59.44.100 - pixfmt.h
Add AV_PIX_FMT_RGB96 and AV_PIX_FMT_RGBA128.
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index e15105e9f4..ba96803e5b 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -2948,6 +2948,29 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
+ [AV_PIX_FMT_Y216LE] = {
+ .name = "y216le",
+ .nb_components = 3,
+ .log2_chroma_w = 1,
+ .log2_chroma_h = 0,
+ .comp = {
+ { 0, 4, 0, 0, 16 }, /* Y */
+ { 0, 8, 2, 0, 16 }, /* U */
+ { 0, 8, 6, 0, 16 }, /* V */
+ },
+ },
+ [AV_PIX_FMT_Y216BE] = {
+ .name = "y216be",
+ .nb_components = 3,
+ .log2_chroma_w = 1,
+ .log2_chroma_h = 0,
+ .comp = {
+ { 0, 4, 0, 0, 16 }, /* Y */
+ { 0, 8, 2, 0, 16 }, /* U */
+ { 0, 8, 6, 0, 16 }, /* V */
+ },
+ .flags = AV_PIX_FMT_FLAG_BE,
+ },
};
static const char * const color_range_names[] = {
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 0dc4abc972..0b6b69fdeb 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -457,6 +457,9 @@ enum AVPixelFormat {
AV_PIX_FMT_RGB96BE, ///< packed RGBA 32:32:32, 96bpp, RGBRGB..., big-endian
AV_PIX_FMT_RGB96LE, ///< packed RGBA 32:32:32, 96bpp, RGBRGB..., little-endian
+ AV_PIX_FMT_Y216BE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, big-endian
+ AV_PIX_FMT_Y216LE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, little-endian
+
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
};
@@ -549,6 +552,7 @@ enum AVPixelFormat {
#define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE)
#define AV_PIX_FMT_Y212 AV_PIX_FMT_NE(Y212BE, Y212LE)
+#define AV_PIX_FMT_Y216 AV_PIX_FMT_NE(Y216BE, Y216LE)
#define AV_PIX_FMT_XV30 AV_PIX_FMT_NE(XV30BE, XV30LE)
#define AV_PIX_FMT_XV36 AV_PIX_FMT_NE(XV36BE, XV36LE)
#define AV_PIX_FMT_V30X AV_PIX_FMT_NE(V30XBE, V30XLE)
diff --git a/libavutil/tests/pixfmt_best.c b/libavutil/tests/pixfmt_best.c
index fe04e26689..c853be0e34 100644
--- a/libavutil/tests/pixfmt_best.c
+++ b/libavutil/tests/pixfmt_best.c
@@ -50,6 +50,7 @@ static const enum AVPixelFormat packed_list[] = {
AV_PIX_FMT_XV36,
AV_PIX_FMT_XV30,
AV_PIX_FMT_VUYX,
+ AV_PIX_FMT_Y216,
AV_PIX_FMT_Y212,
AV_PIX_FMT_Y210,
AV_PIX_FMT_YUYV422,
@@ -210,6 +211,7 @@ int main(void)
TEST_PACKED(AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUYV422);
TEST_PACKED(AV_PIX_FMT_YUV422P10, AV_PIX_FMT_Y210);
TEST_PACKED(AV_PIX_FMT_YUV422P12, AV_PIX_FMT_Y212);
+ TEST_PACKED(AV_PIX_FMT_YUV422P16, AV_PIX_FMT_Y216);
#define TEST_SUBSAMPLED(input, expected) \
test(input, expected, &pass, &fail, find_best_subsampled)
diff --git a/libavutil/version.h b/libavutil/version.h
index 9ebed5d75c..b4268a14a7 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 59
-#define LIBAVUTIL_VERSION_MINOR 44
+#define LIBAVUTIL_VERSION_MINOR 45
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils
index 8639baa550..7fbb1fd902 100644
--- a/tests/ref/fate/imgutils
+++ b/tests/ref/fate/imgutils
@@ -280,6 +280,8 @@ rgba128be planes: 1, linesizes: 1024 0 0 0, plane_sizes: 49152 0
rgba128le planes: 1, linesizes: 1024 0 0 0, plane_sizes: 49152 0 0 0, plane_offsets: 0 0 0, total_size: 49152
rgb96be planes: 1, linesizes: 768 0 0 0, plane_sizes: 36864 0 0 0, plane_offsets: 0 0 0, total_size: 36864
rgb96le planes: 1, linesizes: 768 0 0 0, plane_sizes: 36864 0 0 0, plane_offsets: 0 0 0, total_size: 36864
+y216be planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
+y216le planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
image_fill_black tests
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
rgba128le total_size: 49152, black_unknown_crc: 0x59ef499b, black_tv_crc: 0x59ef499b, black_pc_crc: 0x59ef499b
rgb96be total_size: 36864, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000
rgb96le total_size: 36864, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000
+y216be total_size: 12288, black_unknown_crc: 0x5483d935, black_tv_crc: 0x5483d935, black_pc_crc: 0x06397bf3
+y216le total_size: 12288, black_unknown_crc: 0x5d8e1cf6, black_tv_crc: 0x5d8e1cf6, black_pc_crc: 0x8fceec45
diff --git a/tests/ref/fate/pixfmt_best b/tests/ref/fate/pixfmt_best
index 72486587c6..72560f5df9 100644
--- a/tests/ref/fate/pixfmt_best
+++ b/tests/ref/fate/pixfmt_best
@@ -1 +1 @@
-109 tests passed, 0 tests failed.
+111 tests passed, 0 tests failed.
diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query
index aa2edcfcb0..a4bbc8bfcb 100644
--- a/tests/ref/fate/sws-pixdesc-query
+++ b/tests/ref/fate/sws-pixdesc-query
@@ -25,6 +25,8 @@ is16BPS:
rgbaf16le
rgbf16be
rgbf16le
+ y216be
+ y216le
ya16be
ya16le
yuv420p16be
@@ -195,6 +197,7 @@ isBE:
xyz12be
y210be
y212be
+ y216be
ya16be
yuv420p10be
yuv420p12be
@@ -272,6 +275,8 @@ isYUV:
y210le
y212be
y212le
+ y216be
+ y216le
ya16be
ya16le
ya8
@@ -876,6 +881,8 @@ Packed:
y210le
y212be
y212le
+ y216be
+ y216le
ya16be
ya16le
ya8