diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2011-05-08 14:06:04 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-05-08 14:06:04 +0200 |
commit | 299cbe2c9b0e883bda4042ea8b4f1476216d0ea1 (patch) | |
tree | 4bcc9f0c554e8b016a6456f8b351abb8eda059df | |
parent | af3c8f823018ef8c07b25c8834d8032093a49418 (diff) | |
download | ffmpeg-299cbe2c9b0e883bda4042ea8b4f1476216d0ea1.tar.gz |
PIX_FMT_422P10 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/utils.c | 2 | ||||
-rw-r--r-- | libavutil/pixdesc.c | 23 | ||||
-rw-r--r-- | libavutil/pixfmt.h | 3 |
3 files changed, 28 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 5e0aa84ad0..c5d932d399 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -140,6 +140,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l case PIX_FMT_YUV420P9BE: case PIX_FMT_YUV420P10LE: case PIX_FMT_YUV420P10BE: + case PIX_FMT_YUV422P10LE: + case PIX_FMT_YUV422P10BE: w_align= 16; //FIXME check for non mpeg style codecs and use less alignment h_align= 16; 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) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index dae6dc264b..f8f99289f9 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -809,6 +809,29 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { }, .flags = PIX_FMT_BE, }, + [PIX_FMT_YUV422P10LE] = { + .name = "yuv422p10le", + .nb_components= 3, + .log2_chroma_w= 1, + .log2_chroma_h= 0, + .comp = { + {0,1,1,0,9}, /* Y */ + {1,1,1,0,9}, /* U */ + {2,1,1,0,9}, /* V */ + }, + }, + [PIX_FMT_YUV422P10BE] = { + .name = "yuv422p10be", + .nb_components= 3, + .log2_chroma_w= 1, + .log2_chroma_h= 0, + .comp = { + {0,1,1,0,9}, /* Y */ + {1,1,1,0,9}, /* U */ + {2,1,1,0,9}, /* V */ + }, + .flags = PIX_FMT_BE, + }, [PIX_FMT_YUV422P16LE] = { .name = "yuv422p16le", .nb_components= 3, diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index f781967a7d..6713da23f6 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -141,6 +141,8 @@ enum PixelFormat { PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-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 }; @@ -170,6 +172,7 @@ enum PixelFormat { #define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE) #define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE) +#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE) #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE) #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE) #define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE) |