Browse code

PIX_FMT_422P10 support Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Baptiste Coudurier authored on 2011/05/08 21:06:04
Showing 3 changed files
... ...
@@ -140,6 +140,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l
140 140
     case PIX_FMT_YUV420P9BE:
141 141
     case PIX_FMT_YUV420P10LE:
142 142
     case PIX_FMT_YUV420P10BE:
143
+    case PIX_FMT_YUV422P10LE:
144
+    case PIX_FMT_YUV422P10BE:
143 145
         w_align= 16; //FIXME check for non mpeg style codecs and use less alignment
144 146
         h_align= 16;
145 147
         if(s->codec_id == CODEC_ID_MPEG2VIDEO || s->codec_id == CODEC_ID_MJPEG || s->codec_id == CODEC_ID_AMV || s->codec_id == CODEC_ID_THP || s->codec_id == CODEC_ID_H264)
... ...
@@ -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_YUV422P10LE] = {
813
+        .name = "yuv422p10le",
814
+        .nb_components= 3,
815
+        .log2_chroma_w= 1,
816
+        .log2_chroma_h= 0,
817
+        .comp = {
818
+            {0,1,1,0,9},        /* Y */
819
+            {1,1,1,0,9},        /* U */
820
+            {2,1,1,0,9},        /* V */
821
+        },
822
+    },
823
+    [PIX_FMT_YUV422P10BE] = {
824
+        .name = "yuv422p10be",
825
+        .nb_components= 3,
826
+        .log2_chroma_w= 1,
827
+        .log2_chroma_h= 0,
828
+        .comp = {
829
+            {0,1,1,0,9},        /* Y */
830
+            {1,1,1,0,9},        /* U */
831
+            {2,1,1,0,9},        /* V */
832
+        },
833
+        .flags = PIX_FMT_BE,
834
+    },
812 835
     [PIX_FMT_YUV422P16LE] = {
813 836
         .name = "yuv422p16le",
814 837
         .nb_components= 3,
... ...
@@ -141,6 +141,8 @@ enum PixelFormat {
141 141
     PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
142 142
     PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
143 143
     PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
144
+    PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
145
+    PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
144 146
 
145 147
     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
146 148
 };
... ...
@@ -170,6 +172,7 @@ enum PixelFormat {
170 170
 
171 171
 #define PIX_FMT_YUV420P9  PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
172 172
 #define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
173
+#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
173 174
 #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
174 175
 #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
175 176
 #define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)