mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
This commit is contained in:
parent
e85297e0e7
commit
dc49bf1270
@ -158,6 +158,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l
|
|||||||
case PIX_FMT_YUV420P9BE:
|
case PIX_FMT_YUV420P9BE:
|
||||||
case PIX_FMT_YUV420P10LE:
|
case PIX_FMT_YUV420P10LE:
|
||||||
case PIX_FMT_YUV420P10BE:
|
case PIX_FMT_YUV420P10BE:
|
||||||
|
case PIX_FMT_YUV422P9LE:
|
||||||
|
case PIX_FMT_YUV422P9BE:
|
||||||
case PIX_FMT_YUV422P10LE:
|
case PIX_FMT_YUV422P10LE:
|
||||||
case PIX_FMT_YUV422P10BE:
|
case PIX_FMT_YUV422P10BE:
|
||||||
case PIX_FMT_YUV444P9LE:
|
case PIX_FMT_YUV444P9LE:
|
||||||
|
@ -809,6 +809,29 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
|
|||||||
},
|
},
|
||||||
.flags = PIX_FMT_BE,
|
.flags = PIX_FMT_BE,
|
||||||
},
|
},
|
||||||
|
[PIX_FMT_YUV422P9LE] = {
|
||||||
|
.name = "yuv422p9le",
|
||||||
|
.nb_components= 3,
|
||||||
|
.log2_chroma_w= 1,
|
||||||
|
.log2_chroma_h= 0,
|
||||||
|
.comp = {
|
||||||
|
{0,1,1,0,8}, /* Y */
|
||||||
|
{1,1,1,0,8}, /* U */
|
||||||
|
{2,1,1,0,8}, /* V */
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[PIX_FMT_YUV422P9BE] = {
|
||||||
|
.name = "yuv422p9be",
|
||||||
|
.nb_components= 3,
|
||||||
|
.log2_chroma_w= 1,
|
||||||
|
.log2_chroma_h= 0,
|
||||||
|
.comp = {
|
||||||
|
{0,1,1,0,8}, /* Y */
|
||||||
|
{1,1,1,0,8}, /* U */
|
||||||
|
{2,1,1,0,8}, /* V */
|
||||||
|
},
|
||||||
|
.flags = PIX_FMT_BE,
|
||||||
|
},
|
||||||
[PIX_FMT_YUV422P10LE] = {
|
[PIX_FMT_YUV422P10LE] = {
|
||||||
.name = "yuv422p10le",
|
.name = "yuv422p10le",
|
||||||
.nb_components= 3,
|
.nb_components= 3,
|
||||||
|
@ -145,6 +145,8 @@ enum PixelFormat {
|
|||||||
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
|
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
|
||||||
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
|
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
|
||||||
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
|
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
|
||||||
|
PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
|
||||||
|
PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
|
||||||
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
|
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
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -170,6 +172,7 @@ enum PixelFormat {
|
|||||||
#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
|
#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
|
||||||
|
|
||||||
#define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
|
#define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
|
||||||
|
#define PIX_FMT_YUV422P9 PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
|
||||||
#define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
|
#define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
|
||||||
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
|
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
|
||||||
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
|
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
|
||||||
|
@ -2662,6 +2662,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
|
|||||||
case PIX_FMT_RGB4_BYTE: c->chrToYV12 = palToUV_c; break;
|
case PIX_FMT_RGB4_BYTE: c->chrToYV12 = palToUV_c; break;
|
||||||
#if HAVE_BIGENDIAN
|
#if HAVE_BIGENDIAN
|
||||||
case PIX_FMT_YUV444P9LE:
|
case PIX_FMT_YUV444P9LE:
|
||||||
|
case PIX_FMT_YUV422P9LE:
|
||||||
case PIX_FMT_YUV420P9LE:
|
case PIX_FMT_YUV420P9LE:
|
||||||
case PIX_FMT_YUV422P10LE:
|
case PIX_FMT_YUV422P10LE:
|
||||||
case PIX_FMT_YUV444P10LE:
|
case PIX_FMT_YUV444P10LE:
|
||||||
@ -2671,6 +2672,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
|
|||||||
case PIX_FMT_YUV444P16LE: c->chrToYV12 = bswap16UV_c; break;
|
case PIX_FMT_YUV444P16LE: c->chrToYV12 = bswap16UV_c; break;
|
||||||
#else
|
#else
|
||||||
case PIX_FMT_YUV444P9BE:
|
case PIX_FMT_YUV444P9BE:
|
||||||
|
case PIX_FMT_YUV422P9BE:
|
||||||
case PIX_FMT_YUV420P9BE:
|
case PIX_FMT_YUV420P9BE:
|
||||||
case PIX_FMT_YUV444P10BE:
|
case PIX_FMT_YUV444P10BE:
|
||||||
case PIX_FMT_YUV422P10BE:
|
case PIX_FMT_YUV422P10BE:
|
||||||
@ -2729,6 +2731,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
|
|||||||
switch (srcFormat) {
|
switch (srcFormat) {
|
||||||
#if HAVE_BIGENDIAN
|
#if HAVE_BIGENDIAN
|
||||||
case PIX_FMT_YUV444P9LE:
|
case PIX_FMT_YUV444P9LE:
|
||||||
|
case PIX_FMT_YUV422P9LE:
|
||||||
case PIX_FMT_YUV420P9LE:
|
case PIX_FMT_YUV420P9LE:
|
||||||
case PIX_FMT_YUV444P10LE:
|
case PIX_FMT_YUV444P10LE:
|
||||||
case PIX_FMT_YUV422P10LE:
|
case PIX_FMT_YUV422P10LE:
|
||||||
@ -2739,6 +2742,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
|
|||||||
case PIX_FMT_GRAY16LE: c->lumToYV12 = bswap16Y_c; break;
|
case PIX_FMT_GRAY16LE: c->lumToYV12 = bswap16Y_c; break;
|
||||||
#else
|
#else
|
||||||
case PIX_FMT_YUV444P9BE:
|
case PIX_FMT_YUV444P9BE:
|
||||||
|
case PIX_FMT_YUV422P9BE:
|
||||||
case PIX_FMT_YUV420P9BE:
|
case PIX_FMT_YUV420P9BE:
|
||||||
case PIX_FMT_YUV444P10BE:
|
case PIX_FMT_YUV444P10BE:
|
||||||
case PIX_FMT_YUV422P10BE:
|
case PIX_FMT_YUV422P10BE:
|
||||||
|
@ -535,6 +535,8 @@ const char *sws_format_name(enum PixelFormat format);
|
|||||||
#define is9_OR_10BPS(x) ( \
|
#define is9_OR_10BPS(x) ( \
|
||||||
(x)==PIX_FMT_YUV420P9LE \
|
(x)==PIX_FMT_YUV420P9LE \
|
||||||
|| (x)==PIX_FMT_YUV420P9BE \
|
|| (x)==PIX_FMT_YUV420P9BE \
|
||||||
|
|| (x)==PIX_FMT_YUV422P9LE \
|
||||||
|
|| (x)==PIX_FMT_YUV422P9BE \
|
||||||
|| (x)==PIX_FMT_YUV444P9BE \
|
|| (x)==PIX_FMT_YUV444P9BE \
|
||||||
|| (x)==PIX_FMT_YUV444P9LE \
|
|| (x)==PIX_FMT_YUV444P9LE \
|
||||||
|| (x)==PIX_FMT_YUV422P10BE \
|
|| (x)==PIX_FMT_YUV422P10BE \
|
||||||
@ -559,6 +561,7 @@ const char *sws_format_name(enum PixelFormat format);
|
|||||||
#define isPlanarYUV(x) ( \
|
#define isPlanarYUV(x) ( \
|
||||||
isPlanar8YUV(x) \
|
isPlanar8YUV(x) \
|
||||||
|| (x)==PIX_FMT_YUV420P9LE \
|
|| (x)==PIX_FMT_YUV420P9LE \
|
||||||
|
|| (x)==PIX_FMT_YUV422P9LE \
|
||||||
|| (x)==PIX_FMT_YUV444P9LE \
|
|| (x)==PIX_FMT_YUV444P9LE \
|
||||||
|| (x)==PIX_FMT_YUV420P10LE \
|
|| (x)==PIX_FMT_YUV420P10LE \
|
||||||
|| (x)==PIX_FMT_YUV422P10LE \
|
|| (x)==PIX_FMT_YUV422P10LE \
|
||||||
@ -567,6 +570,7 @@ const char *sws_format_name(enum PixelFormat format);
|
|||||||
|| (x)==PIX_FMT_YUV422P16LE \
|
|| (x)==PIX_FMT_YUV422P16LE \
|
||||||
|| (x)==PIX_FMT_YUV444P16LE \
|
|| (x)==PIX_FMT_YUV444P16LE \
|
||||||
|| (x)==PIX_FMT_YUV420P9BE \
|
|| (x)==PIX_FMT_YUV420P9BE \
|
||||||
|
|| (x)==PIX_FMT_YUV422P9BE \
|
||||||
|| (x)==PIX_FMT_YUV444P9BE \
|
|| (x)==PIX_FMT_YUV444P9BE \
|
||||||
|| (x)==PIX_FMT_YUV420P10BE \
|
|| (x)==PIX_FMT_YUV420P10BE \
|
||||||
|| (x)==PIX_FMT_YUV422P10BE \
|
|| (x)==PIX_FMT_YUV422P10BE \
|
||||||
|
@ -129,6 +129,8 @@ const static FormatEntry format_entries[PIX_FMT_NB] = {
|
|||||||
[PIX_FMT_YUV420P9LE] = { 1 , 1 },
|
[PIX_FMT_YUV420P9LE] = { 1 , 1 },
|
||||||
[PIX_FMT_YUV420P10BE] = { 1 , 1 },
|
[PIX_FMT_YUV420P10BE] = { 1 , 1 },
|
||||||
[PIX_FMT_YUV420P10LE] = { 1 , 1 },
|
[PIX_FMT_YUV420P10LE] = { 1 , 1 },
|
||||||
|
[PIX_FMT_YUV422P9BE] = { 1 , 1 },
|
||||||
|
[PIX_FMT_YUV422P9LE] = { 1 , 1 },
|
||||||
[PIX_FMT_YUV422P10BE] = { 1 , 1 },
|
[PIX_FMT_YUV422P10BE] = { 1 , 1 },
|
||||||
[PIX_FMT_YUV422P10LE] = { 1 , 1 },
|
[PIX_FMT_YUV422P10LE] = { 1 , 1 },
|
||||||
[PIX_FMT_YUV444P9BE] = { 1 , 1 },
|
[PIX_FMT_YUV444P9BE] = { 1 , 1 },
|
||||||
|
@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
|
|||||||
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
||||||
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
||||||
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
||||||
|
yuv422p9be 29b71579946940a8c00fa844c9dff507
|
||||||
|
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
|
||||||
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
||||||
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
||||||
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
||||||
|
@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
|
|||||||
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
||||||
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
||||||
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
||||||
|
yuv422p9be 29b71579946940a8c00fa844c9dff507
|
||||||
|
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
|
||||||
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
||||||
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
||||||
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
||||||
|
@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
|
|||||||
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
yuv422p10le d0607c260a45c973e6639f4e449730ad
|
||||||
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed
|
||||||
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
yuv422p16le f87c81bf16916b64d201359be0b4b6f4
|
||||||
|
yuv422p9be 29b71579946940a8c00fa844c9dff507
|
||||||
|
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
|
||||||
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
|
||||||
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
yuv444p 0a98447b78fd476aa39686da6a74fa2e
|
||||||
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
|
||||||
|
@ -42,6 +42,8 @@ yuv422p10be cea7ca6b0e66d6f29539885896c88603
|
|||||||
yuv422p10le a10c4a5837547716f13cd61918b145f9
|
yuv422p10le a10c4a5837547716f13cd61918b145f9
|
||||||
yuv422p16be 285993ee0c0f4f8e511ee46f93c5f38c
|
yuv422p16be 285993ee0c0f4f8e511ee46f93c5f38c
|
||||||
yuv422p16le 61bfcee8e54465f760164f5a75d40b5e
|
yuv422p16le 61bfcee8e54465f760164f5a75d40b5e
|
||||||
|
yuv422p9be 82494823944912f73cebc58ad2979bbd
|
||||||
|
yuv422p9le fc69c8a21f473916a4b4225636b97e06
|
||||||
yuv440p 461503fdb9b90451020aa3b25ddf041c
|
yuv440p 461503fdb9b90451020aa3b25ddf041c
|
||||||
yuv444p 81b2eba962d12e8d64f003ac56f6faf2
|
yuv444p 81b2eba962d12e8d64f003ac56f6faf2
|
||||||
yuv444p10be e9d3c8e744b8b0d8187ca092fa203fc9
|
yuv444p10be e9d3c8e744b8b0d8187ca092fa203fc9
|
||||||
|
@ -42,6 +42,8 @@ yuv422p10be 588fe319b96513c32e21d3e32b45447f
|
|||||||
yuv422p10le 11b57f2bd9661024153f3973b9090cdb
|
yuv422p10le 11b57f2bd9661024153f3973b9090cdb
|
||||||
yuv422p16be c092d083548c2a144c372a98c46875c7
|
yuv422p16be c092d083548c2a144c372a98c46875c7
|
||||||
yuv422p16le c071b9397a416d51cbe339345cbcba84
|
yuv422p16le c071b9397a416d51cbe339345cbcba84
|
||||||
|
yuv422p9be 7c6f1e140b3999ee7d923854e507752a
|
||||||
|
yuv422p9le 51f10d79c07989060dd06e767e6d7d60
|
||||||
yuv440p 876385e96165acf51271b20e5d85a416
|
yuv440p 876385e96165acf51271b20e5d85a416
|
||||||
yuv444p 9c3c667d1613b72d15bc6d851c5eb8f7
|
yuv444p 9c3c667d1613b72d15bc6d851c5eb8f7
|
||||||
yuv444p10be 944a4997c4edb3a8dd0f0493cfd5a1fd
|
yuv444p10be 944a4997c4edb3a8dd0f0493cfd5a1fd
|
||||||
|
Loading…
Reference in New Issue
Block a user