From f9ca1ac7968f155db51944eac11d393d862e1baa Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 27 Jan 2012 00:43:23 +0000 Subject: [PATCH] sws/pixfmt/pixdesc: add support for yuva444p Signed-off-by: Ronald S. Bultje Conflicts: libavutil/avutil.h libavutil/pixfmt.h --- libavutil/avutil.h | 2 +- libavutil/pixdesc.c | 13 +++++++++++++ libavutil/pixfmt.h | 2 ++ libswscale/utils.c | 1 + tests/ref/lavfi/pixdesc | 1 + tests/ref/lavfi/pixfmts_copy | 1 + tests/ref/lavfi/pixfmts_null | 1 + tests/ref/lavfi/pixfmts_scale | 1 + tests/ref/lavfi/pixfmts_vflip | 1 + 9 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libavutil/avutil.h b/libavutil/avutil.h index 3f772621e0..8abd969477 100644 --- a/libavutil/avutil.h +++ b/libavutil/avutil.h @@ -154,7 +154,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 51 -#define LIBAVUTIL_VERSION_MINOR 34 +#define LIBAVUTIL_VERSION_MINOR 35 #define LIBAVUTIL_VERSION_MICRO 101 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e73fbfe99d..c04ec3139e 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -571,6 +571,19 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { }, .flags = PIX_FMT_PLANAR, }, + [PIX_FMT_YUVA444P] = { + .name = "yuva444p", + .nb_components = 4, + .log2_chroma_w = 0, + .log2_chroma_h = 0, + .comp = { + { 0, 0, 1, 0, 7 }, /* Y */ + { 1, 0, 1, 0, 7 }, /* U */ + { 2, 0, 1, 0, 7 }, /* V */ + { 3, 0, 1, 0, 7 }, /* A */ + }, + .flags = PIX_FMT_PLANAR, + }, [PIX_FMT_VDPAU_H264] = { .name = "vdpau_h264", .log2_chroma_w = 1, diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index f0d9c019af..b3a8dd045a 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -179,6 +179,8 @@ enum PixelFormat { PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGB0RGB0... PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR... PIX_FMT_BGR0, ///< packed BGR 8:8:8, 32bpp, BGR0BGR0... + PIX_FMT_YUVA444P, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples) + 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 }; diff --git a/libswscale/utils.c b/libswscale/utils.c index 5826c17e31..b483d07406 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -111,6 +111,7 @@ static const FormatEntry format_entries[PIX_FMT_NB] = { [PIX_FMT_YUV440P] = { 1 , 1 }, [PIX_FMT_YUVJ440P] = { 1 , 1 }, [PIX_FMT_YUVA420P] = { 1 , 1 }, + [PIX_FMT_YUVA444P] = { 1 , 1 }, [PIX_FMT_RGB48BE] = { 1 , 1 }, [PIX_FMT_RGB48LE] = { 1 , 1 }, [PIX_FMT_RGBA64BE] = { 0 , 0 }, diff --git a/tests/ref/lavfi/pixdesc b/tests/ref/lavfi/pixdesc index f5e398e560..423901e53c 100644 --- a/tests/ref/lavfi/pixdesc +++ b/tests/ref/lavfi/pixdesc @@ -61,6 +61,7 @@ yuv444p16le 20f86bc2f68d2b3f1f2b48b97b2189f4 yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054 yuv444p9le f0606604a5c08becab6ba500124c4b7c yuva420p a29884f3f3dfe1e00b961bc17bef3d47 +yuva444p f531f0aceeda53adfd2f89f2cb43488c yuvj420p 32eec78ba51857b16ce9b813a49b7189 yuvj422p 0dfa0ed434f73be51428758c69e082cb yuvj440p 657501a28004e27a592757a7509f5189 diff --git a/tests/ref/lavfi/pixfmts_copy b/tests/ref/lavfi/pixfmts_copy index 11ed0238ed..b673131408 100644 --- a/tests/ref/lavfi/pixfmts_copy +++ b/tests/ref/lavfi/pixfmts_copy @@ -62,6 +62,7 @@ yuv444p16le 20f86bc2f68d2b3f1f2b48b97b2189f4 yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054 yuv444p9le f0606604a5c08becab6ba500124c4b7c yuva420p a29884f3f3dfe1e00b961bc17bef3d47 +yuva444p f531f0aceeda53adfd2f89f2cb43488c yuvj420p 32eec78ba51857b16ce9b813a49b7189 yuvj422p 0dfa0ed434f73be51428758c69e082cb yuvj440p 657501a28004e27a592757a7509f5189 diff --git a/tests/ref/lavfi/pixfmts_null b/tests/ref/lavfi/pixfmts_null index 11ed0238ed..b673131408 100644 --- a/tests/ref/lavfi/pixfmts_null +++ b/tests/ref/lavfi/pixfmts_null @@ -62,6 +62,7 @@ yuv444p16le 20f86bc2f68d2b3f1f2b48b97b2189f4 yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054 yuv444p9le f0606604a5c08becab6ba500124c4b7c yuva420p a29884f3f3dfe1e00b961bc17bef3d47 +yuva444p f531f0aceeda53adfd2f89f2cb43488c yuvj420p 32eec78ba51857b16ce9b813a49b7189 yuvj422p 0dfa0ed434f73be51428758c69e082cb yuvj440p 657501a28004e27a592757a7509f5189 diff --git a/tests/ref/lavfi/pixfmts_scale b/tests/ref/lavfi/pixfmts_scale index f45295128d..dffb37379a 100644 --- a/tests/ref/lavfi/pixfmts_scale +++ b/tests/ref/lavfi/pixfmts_scale @@ -62,6 +62,7 @@ yuv444p16le a0c5d3c7bf3f181db503cf8e450d1335 yuv444p9be 9ac2643ce7f7e5c4e17c8c9fd8494d4a yuv444p9le 896a1cc9cccca1ba410dd53942d33cc4 yuva420p 8673a9131fb47de69788863f93a50eb7 +yuva444p 2d09fa4aaf1f6def1d41f0af78fe4433 yuvj420p 30427bd6caf5bda93a173dbebe759e09 yuvj422p fc8288f64fd149573f73cf8da05d8e6d yuvj440p 508ac7a9ddeb6d1794a1100ba7a1664c diff --git a/tests/ref/lavfi/pixfmts_vflip b/tests/ref/lavfi/pixfmts_vflip index 1e9a636291..5c8d8d7b74 100644 --- a/tests/ref/lavfi/pixfmts_vflip +++ b/tests/ref/lavfi/pixfmts_vflip @@ -62,6 +62,7 @@ yuv444p16le 8e83323cf102d6c823a03ae8a7b7e033 yuv444p9be 6ac92b7dc9ab2fc59bee99204886899a yuv444p9le 85aef13a654953d3455d89770b0d74bd yuva420p c705d1cf061d8c6580ac690b55f92276 +yuva444p f374c860e711e8226105de8f02f08f3b yuvj420p 41fd02b204da0ab62452cd14b595e2e4 yuvj422p 7f6ca9bc1812cde02036d7d29a7cce43 yuvj440p 25711c3c0fd15ec19c59a10784fcfb96