| ... | ... |
@@ -158,6 +158,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l |
| 158 | 158 |
case PIX_FMT_YUV420P9BE: |
| 159 | 159 |
case PIX_FMT_YUV420P10LE: |
| 160 | 160 |
case PIX_FMT_YUV420P10BE: |
| 161 |
+ case PIX_FMT_YUV422P9LE: |
|
| 162 |
+ case PIX_FMT_YUV422P9BE: |
|
| 161 | 163 |
case PIX_FMT_YUV422P10LE: |
| 162 | 164 |
case PIX_FMT_YUV422P10BE: |
| 163 | 165 |
case PIX_FMT_YUV444P9LE: |
| ... | ... |
@@ -809,6 +809,29 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
|
| 809 | 809 |
}, |
| 810 | 810 |
.flags = PIX_FMT_BE, |
| 811 | 811 |
}, |
| 812 |
+ [PIX_FMT_YUV422P9LE] = {
|
|
| 813 |
+ .name = "yuv422p9le", |
|
| 814 |
+ .nb_components= 3, |
|
| 815 |
+ .log2_chroma_w= 1, |
|
| 816 |
+ .log2_chroma_h= 0, |
|
| 817 |
+ .comp = {
|
|
| 818 |
+ {0,1,1,0,8}, /* Y */
|
|
| 819 |
+ {1,1,1,0,8}, /* U */
|
|
| 820 |
+ {2,1,1,0,8}, /* V */
|
|
| 821 |
+ }, |
|
| 822 |
+ }, |
|
| 823 |
+ [PIX_FMT_YUV422P9BE] = {
|
|
| 824 |
+ .name = "yuv422p9be", |
|
| 825 |
+ .nb_components= 3, |
|
| 826 |
+ .log2_chroma_w= 1, |
|
| 827 |
+ .log2_chroma_h= 0, |
|
| 828 |
+ .comp = {
|
|
| 829 |
+ {0,1,1,0,8}, /* Y */
|
|
| 830 |
+ {1,1,1,0,8}, /* U */
|
|
| 831 |
+ {2,1,1,0,8}, /* V */
|
|
| 832 |
+ }, |
|
| 833 |
+ .flags = PIX_FMT_BE, |
|
| 834 |
+ }, |
|
| 812 | 835 |
[PIX_FMT_YUV422P10LE] = {
|
| 813 | 836 |
.name = "yuv422p10le", |
| 814 | 837 |
.nb_components= 3, |
| ... | ... |
@@ -145,6 +145,8 @@ enum PixelFormat {
|
| 145 | 145 |
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian |
| 146 | 146 |
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian |
| 147 | 147 |
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian |
| 148 |
+ PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian |
|
| 149 |
+ PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian |
|
| 148 | 150 |
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 |
| 149 | 151 |
}; |
| 150 | 152 |
|
| ... | ... |
@@ -170,6 +172,7 @@ enum PixelFormat {
|
| 170 | 170 |
#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE) |
| 171 | 171 |
|
| 172 | 172 |
#define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE) |
| 173 |
+#define PIX_FMT_YUV422P9 PIX_FMT_NE(YUV422P9BE , YUV422P9LE) |
|
| 173 | 174 |
#define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE) |
| 174 | 175 |
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE) |
| 175 | 176 |
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE) |
| ... | ... |
@@ -2662,6 +2662,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c) |
| 2662 | 2662 |
case PIX_FMT_RGB4_BYTE: c->chrToYV12 = palToUV_c; break; |
| 2663 | 2663 |
#if HAVE_BIGENDIAN |
| 2664 | 2664 |
case PIX_FMT_YUV444P9LE: |
| 2665 |
+ case PIX_FMT_YUV422P9LE: |
|
| 2665 | 2666 |
case PIX_FMT_YUV420P9LE: |
| 2666 | 2667 |
case PIX_FMT_YUV422P10LE: |
| 2667 | 2668 |
case PIX_FMT_YUV444P10LE: |
| ... | ... |
@@ -2671,6 +2672,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c) |
| 2671 | 2671 |
case PIX_FMT_YUV444P16LE: c->chrToYV12 = bswap16UV_c; break; |
| 2672 | 2672 |
#else |
| 2673 | 2673 |
case PIX_FMT_YUV444P9BE: |
| 2674 |
+ case PIX_FMT_YUV422P9BE: |
|
| 2674 | 2675 |
case PIX_FMT_YUV420P9BE: |
| 2675 | 2676 |
case PIX_FMT_YUV444P10BE: |
| 2676 | 2677 |
case PIX_FMT_YUV422P10BE: |
| ... | ... |
@@ -2729,6 +2731,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c) |
| 2729 | 2729 |
switch (srcFormat) {
|
| 2730 | 2730 |
#if HAVE_BIGENDIAN |
| 2731 | 2731 |
case PIX_FMT_YUV444P9LE: |
| 2732 |
+ case PIX_FMT_YUV422P9LE: |
|
| 2732 | 2733 |
case PIX_FMT_YUV420P9LE: |
| 2733 | 2734 |
case PIX_FMT_YUV444P10LE: |
| 2734 | 2735 |
case PIX_FMT_YUV422P10LE: |
| ... | ... |
@@ -2739,6 +2742,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c) |
| 2739 | 2739 |
case PIX_FMT_GRAY16LE: c->lumToYV12 = bswap16Y_c; break; |
| 2740 | 2740 |
#else |
| 2741 | 2741 |
case PIX_FMT_YUV444P9BE: |
| 2742 |
+ case PIX_FMT_YUV422P9BE: |
|
| 2742 | 2743 |
case PIX_FMT_YUV420P9BE: |
| 2743 | 2744 |
case PIX_FMT_YUV444P10BE: |
| 2744 | 2745 |
case PIX_FMT_YUV422P10BE: |
| ... | ... |
@@ -535,6 +535,8 @@ const char *sws_format_name(enum PixelFormat format); |
| 535 | 535 |
#define is9_OR_10BPS(x) ( \ |
| 536 | 536 |
(x)==PIX_FMT_YUV420P9LE \ |
| 537 | 537 |
|| (x)==PIX_FMT_YUV420P9BE \ |
| 538 |
+ || (x)==PIX_FMT_YUV422P9LE \ |
|
| 539 |
+ || (x)==PIX_FMT_YUV422P9BE \ |
|
| 538 | 540 |
|| (x)==PIX_FMT_YUV444P9BE \ |
| 539 | 541 |
|| (x)==PIX_FMT_YUV444P9LE \ |
| 540 | 542 |
|| (x)==PIX_FMT_YUV422P10BE \ |
| ... | ... |
@@ -559,6 +561,7 @@ const char *sws_format_name(enum PixelFormat format); |
| 559 | 559 |
#define isPlanarYUV(x) ( \ |
| 560 | 560 |
isPlanar8YUV(x) \ |
| 561 | 561 |
|| (x)==PIX_FMT_YUV420P9LE \ |
| 562 |
+ || (x)==PIX_FMT_YUV422P9LE \ |
|
| 562 | 563 |
|| (x)==PIX_FMT_YUV444P9LE \ |
| 563 | 564 |
|| (x)==PIX_FMT_YUV420P10LE \ |
| 564 | 565 |
|| (x)==PIX_FMT_YUV422P10LE \ |
| ... | ... |
@@ -567,6 +570,7 @@ const char *sws_format_name(enum PixelFormat format); |
| 567 | 567 |
|| (x)==PIX_FMT_YUV422P16LE \ |
| 568 | 568 |
|| (x)==PIX_FMT_YUV444P16LE \ |
| 569 | 569 |
|| (x)==PIX_FMT_YUV420P9BE \ |
| 570 |
+ || (x)==PIX_FMT_YUV422P9BE \ |
|
| 570 | 571 |
|| (x)==PIX_FMT_YUV444P9BE \ |
| 571 | 572 |
|| (x)==PIX_FMT_YUV420P10BE \ |
| 572 | 573 |
|| (x)==PIX_FMT_YUV422P10BE \ |
| ... | ... |
@@ -129,6 +129,8 @@ const static FormatEntry format_entries[PIX_FMT_NB] = {
|
| 129 | 129 |
[PIX_FMT_YUV420P9LE] = { 1 , 1 },
|
| 130 | 130 |
[PIX_FMT_YUV420P10BE] = { 1 , 1 },
|
| 131 | 131 |
[PIX_FMT_YUV420P10LE] = { 1 , 1 },
|
| 132 |
+ [PIX_FMT_YUV422P9BE] = { 1 , 1 },
|
|
| 133 |
+ [PIX_FMT_YUV422P9LE] = { 1 , 1 },
|
|
| 132 | 134 |
[PIX_FMT_YUV422P10BE] = { 1 , 1 },
|
| 133 | 135 |
[PIX_FMT_YUV422P10LE] = { 1 , 1 },
|
| 134 | 136 |
[PIX_FMT_YUV444P9BE] = { 1 , 1 },
|
| ... | ... |
@@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71 |
| 42 | 42 |
yuv422p10le d0607c260a45c973e6639f4e449730ad |
| 43 | 43 |
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed |
| 44 | 44 |
yuv422p16le f87c81bf16916b64d201359be0b4b6f4 |
| 45 |
+yuv422p9be 29b71579946940a8c00fa844c9dff507 |
|
| 46 |
+yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a |
|
| 45 | 47 |
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf |
| 46 | 48 |
yuv444p 0a98447b78fd476aa39686da6a74fa2e |
| 47 | 49 |
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6 |
| ... | ... |
@@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71 |
| 42 | 42 |
yuv422p10le d0607c260a45c973e6639f4e449730ad |
| 43 | 43 |
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed |
| 44 | 44 |
yuv422p16le f87c81bf16916b64d201359be0b4b6f4 |
| 45 |
+yuv422p9be 29b71579946940a8c00fa844c9dff507 |
|
| 46 |
+yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a |
|
| 45 | 47 |
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf |
| 46 | 48 |
yuv444p 0a98447b78fd476aa39686da6a74fa2e |
| 47 | 49 |
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6 |
| ... | ... |
@@ -42,6 +42,8 @@ yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71 |
| 42 | 42 |
yuv422p10le d0607c260a45c973e6639f4e449730ad |
| 43 | 43 |
yuv422p16be 4e9b3b3467aeebb6a528cee5966800ed |
| 44 | 44 |
yuv422p16le f87c81bf16916b64d201359be0b4b6f4 |
| 45 |
+yuv422p9be 29b71579946940a8c00fa844c9dff507 |
|
| 46 |
+yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a |
|
| 45 | 47 |
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf |
| 46 | 48 |
yuv444p 0a98447b78fd476aa39686da6a74fa2e |
| 47 | 49 |
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6 |
| ... | ... |
@@ -42,6 +42,8 @@ yuv422p10be cea7ca6b0e66d6f29539885896c88603 |
| 42 | 42 |
yuv422p10le a10c4a5837547716f13cd61918b145f9 |
| 43 | 43 |
yuv422p16be 285993ee0c0f4f8e511ee46f93c5f38c |
| 44 | 44 |
yuv422p16le 61bfcee8e54465f760164f5a75d40b5e |
| 45 |
+yuv422p9be 82494823944912f73cebc58ad2979bbd |
|
| 46 |
+yuv422p9le fc69c8a21f473916a4b4225636b97e06 |
|
| 45 | 47 |
yuv440p 461503fdb9b90451020aa3b25ddf041c |
| 46 | 48 |
yuv444p 81b2eba962d12e8d64f003ac56f6faf2 |
| 47 | 49 |
yuv444p10be e9d3c8e744b8b0d8187ca092fa203fc9 |
| ... | ... |
@@ -42,6 +42,8 @@ yuv422p10be 588fe319b96513c32e21d3e32b45447f |
| 42 | 42 |
yuv422p10le 11b57f2bd9661024153f3973b9090cdb |
| 43 | 43 |
yuv422p16be c092d083548c2a144c372a98c46875c7 |
| 44 | 44 |
yuv422p16le c071b9397a416d51cbe339345cbcba84 |
| 45 |
+yuv422p9be 7c6f1e140b3999ee7d923854e507752a |
|
| 46 |
+yuv422p9le 51f10d79c07989060dd06e767e6d7d60 |
|
| 45 | 47 |
yuv440p 876385e96165acf51271b20e5d85a416 |
| 46 | 48 |
yuv444p 9c3c667d1613b72d15bc6d851c5eb8f7 |
| 47 | 49 |
yuv444p10be 944a4997c4edb3a8dd0f0493cfd5a1fd |