lavu: add yuv440p10/12 pixfmts.

This commit is contained in:
Ronald S. Bultje 2015-05-05 09:37:59 -04:00
parent 4b13a542a2
commit 98f7f0f7e8
2 changed files with 54 additions and 0 deletions

View File

@ -605,6 +605,54 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV440P10LE] = {
.name = "yuv440p10le",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV440P10BE] = {
.name = "yuv440p10be",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV440P12LE] = {
.name = "yuv440p12le",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 11 }, /* Y */
{ 1, 1, 1, 0, 11 }, /* U */
{ 2, 1, 1, 0, 11 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV440P12BE] = {
.name = "yuv440p12be",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 11 }, /* Y */
{ 1, 1, 1, 0, 11 }, /* U */
{ 2, 1, 1, 0, 11 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUVA420P] = {
.name = "yuva420p",
.nb_components = 4,

View File

@ -307,6 +307,10 @@ enum AVPixelFormat {
#if !FF_API_XVMC
AV_PIX_FMT_XVMC,///< XVideo Motion Acceleration via common packet passing
#endif /* !FF_API_XVMC */
AV_PIX_FMT_YUV440P10LE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
AV_PIX_FMT_YUV440P10BE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
AV_PIX_FMT_YUV440P12LE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
AV_PIX_FMT_YUV440P12BE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
AV_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
@ -362,9 +366,11 @@ enum AVPixelFormat {
#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
#define AV_PIX_FMT_YUV440P10 AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE)
#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
#define AV_PIX_FMT_YUV440P12 AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE)
#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)