Commit 9bd6ea56 authored by Luca Barbato's avatar Luca Barbato

pixfmt: Add yuv444p12 pixel format

parent 0aebbbd0
...@@ -1342,6 +1342,30 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { ...@@ -1342,6 +1342,30 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
}, },
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR, .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
}, },
[AV_PIX_FMT_YUV444P12LE] = {
.name = "yuv444p12le",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 2, 0, 0, 12, 1, 11, 1 }, /* Y */
{ 1, 2, 0, 0, 12, 1, 11, 1 }, /* U */
{ 2, 2, 0, 0, 12, 1, 11, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV444P12BE] = {
.name = "yuv444p12be",
.nb_components = 3,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 2, 0, 0, 12, 1, 11, 1 }, /* Y */
{ 1, 2, 0, 0, 12, 1, 11, 1 }, /* U */
{ 2, 2, 0, 0, 12, 1, 11, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
[AV_PIX_FMT_YUV444P10LE] = { [AV_PIX_FMT_YUV444P10LE] = {
.name = "yuv444p10le", .name = "yuv444p10le",
.nb_components = 3, .nb_components = 3,
...@@ -1892,6 +1916,7 @@ enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt) ...@@ -1892,6 +1916,7 @@ enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
PIX_FMT_SWAP_ENDIANNESS(YUV444P10); PIX_FMT_SWAP_ENDIANNESS(YUV444P10);
PIX_FMT_SWAP_ENDIANNESS(YUV420P12); PIX_FMT_SWAP_ENDIANNESS(YUV420P12);
PIX_FMT_SWAP_ENDIANNESS(YUV422P12); PIX_FMT_SWAP_ENDIANNESS(YUV422P12);
PIX_FMT_SWAP_ENDIANNESS(YUV444P12);
PIX_FMT_SWAP_ENDIANNESS(YUV420P16); PIX_FMT_SWAP_ENDIANNESS(YUV420P16);
PIX_FMT_SWAP_ENDIANNESS(YUV422P16); PIX_FMT_SWAP_ENDIANNESS(YUV422P16);
PIX_FMT_SWAP_ENDIANNESS(YUV444P16); PIX_FMT_SWAP_ENDIANNESS(YUV444P16);
......
...@@ -236,6 +236,9 @@ enum AVPixelFormat { ...@@ -236,6 +236,9 @@ enum AVPixelFormat {
AV_PIX_FMT_YUV422P12BE, ///< planar YUV 4:2:2, 24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian AV_PIX_FMT_YUV422P12BE, ///< planar YUV 4:2:2, 24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV422P12LE, ///< planar YUV 4:2:2, 24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian AV_PIX_FMT_YUV422P12LE, ///< planar YUV 4:2:2, 24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_YUV444P12BE, ///< planar YUV 4:4:4, 36bpp, (1 Cr & Cb sample per 1x1 Y), big-endian
AV_PIX_FMT_YUV444P12LE, ///< planar YUV 4:4:4, 36bpp, (1 Cr & Cb sample per 1x1 Y), little-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 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
}; };
...@@ -271,6 +274,7 @@ enum AVPixelFormat { ...@@ -271,6 +274,7 @@ enum AVPixelFormat {
#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE) #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_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE) #define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE) #define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE) #define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE) #define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
......
...@@ -1159,10 +1159,12 @@ void ff_get_unscaled_swscale(SwsContext *c) ...@@ -1159,10 +1159,12 @@ void ff_get_unscaled_swscale(SwsContext *c)
dstFormat != AV_PIX_FMT_P010LE && dstFormat != AV_PIX_FMT_P010BE && dstFormat != AV_PIX_FMT_P010LE && dstFormat != AV_PIX_FMT_P010BE &&
dstFormat != AV_PIX_FMT_YUV420P12LE && dstFormat != AV_PIX_FMT_YUV420P12BE && dstFormat != AV_PIX_FMT_YUV420P12LE && dstFormat != AV_PIX_FMT_YUV420P12BE &&
dstFormat != AV_PIX_FMT_YUV422P12LE && dstFormat != AV_PIX_FMT_YUV422P12BE && dstFormat != AV_PIX_FMT_YUV422P12LE && dstFormat != AV_PIX_FMT_YUV422P12BE &&
dstFormat != AV_PIX_FMT_YUV444P12LE && dstFormat != AV_PIX_FMT_YUV444P12BE &&
srcFormat != AV_PIX_FMT_NV12 && srcFormat != AV_PIX_FMT_NV21 && srcFormat != AV_PIX_FMT_NV12 && srcFormat != AV_PIX_FMT_NV21 &&
srcFormat != AV_PIX_FMT_P010LE && srcFormat != AV_PIX_FMT_P010BE && srcFormat != AV_PIX_FMT_P010LE && srcFormat != AV_PIX_FMT_P010BE &&
srcFormat != AV_PIX_FMT_YUV420P12LE && srcFormat != AV_PIX_FMT_YUV420P12BE && srcFormat != AV_PIX_FMT_YUV420P12LE && srcFormat != AV_PIX_FMT_YUV420P12BE &&
srcFormat != AV_PIX_FMT_YUV422P12LE && srcFormat != AV_PIX_FMT_YUV422P12BE)) srcFormat != AV_PIX_FMT_YUV422P12LE && srcFormat != AV_PIX_FMT_YUV422P12BE &&
srcFormat != AV_PIX_FMT_YUV444P12LE && srcFormat != AV_PIX_FMT_YUV444P12BE))
{ {
if (isPacked(c->srcFormat)) if (isPacked(c->srcFormat))
c->swscale = packedCopyWrapper; c->swscale = packedCopyWrapper;
......
...@@ -177,6 +177,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = { ...@@ -177,6 +177,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_YUV444P9LE] = { 1, 1 }, [AV_PIX_FMT_YUV444P9LE] = { 1, 1 },
[AV_PIX_FMT_YUV444P10BE] = { 1, 1 }, [AV_PIX_FMT_YUV444P10BE] = { 1, 1 },
[AV_PIX_FMT_YUV444P10LE] = { 1, 1 }, [AV_PIX_FMT_YUV444P10LE] = { 1, 1 },
[AV_PIX_FMT_YUV444P12BE] = { 1, 1 },
[AV_PIX_FMT_YUV444P12LE] = { 1, 1 },
[AV_PIX_FMT_GBRP] = { 1, 1 }, [AV_PIX_FMT_GBRP] = { 1, 1 },
[AV_PIX_FMT_GBRP9LE] = { 1, 1 }, [AV_PIX_FMT_GBRP9LE] = { 1, 1 },
[AV_PIX_FMT_GBRP9BE] = { 1, 1 }, [AV_PIX_FMT_GBRP9BE] = { 1, 1 },
......
pixdesc-yuv444p12be f20564006d137df0fc6bb7466fd0fc64
pixdesc-yuv444p12le 9d5db1a9354b62181e09aa93c1ffa19a
...@@ -62,6 +62,8 @@ yuv440p 12000ce709b38aac3f7b7f59b07847ef ...@@ -62,6 +62,8 @@ yuv440p 12000ce709b38aac3f7b7f59b07847ef
yuv444p 628c9d1e10c22e0e512b27c0e03b46e6 yuv444p 628c9d1e10c22e0e512b27c0e03b46e6
yuv444p10be b60d77db54a592ed088ebf7964e2dd5e yuv444p10be b60d77db54a592ed088ebf7964e2dd5e
yuv444p10le 1752a238eb27fb7c746e349536f60686 yuv444p10le 1752a238eb27fb7c746e349536f60686
yuv444p12be be54f88f9b9034b5b9bc466132bfba10
yuv444p12le 714c3c5789897b56cb9ae6a45688e395
yuv444p16be 8e1e2f04cb2e97f80fdfecbb2c5679a0 yuv444p16be 8e1e2f04cb2e97f80fdfecbb2c5679a0
yuv444p16le 5677b2caa63e0c075eac6937b03cf2a6 yuv444p16le 5677b2caa63e0c075eac6937b03cf2a6
yuv444p9be 5ab55576b180b2966e9ed5a1ea55508a yuv444p9be 5ab55576b180b2966e9ed5a1ea55508a
......
...@@ -62,6 +62,8 @@ yuv440p 12000ce709b38aac3f7b7f59b07847ef ...@@ -62,6 +62,8 @@ yuv440p 12000ce709b38aac3f7b7f59b07847ef
yuv444p 628c9d1e10c22e0e512b27c0e03b46e6 yuv444p 628c9d1e10c22e0e512b27c0e03b46e6
yuv444p10be b60d77db54a592ed088ebf7964e2dd5e yuv444p10be b60d77db54a592ed088ebf7964e2dd5e
yuv444p10le 1752a238eb27fb7c746e349536f60686 yuv444p10le 1752a238eb27fb7c746e349536f60686
yuv444p12be be54f88f9b9034b5b9bc466132bfba10
yuv444p12le 714c3c5789897b56cb9ae6a45688e395
yuv444p16be 8e1e2f04cb2e97f80fdfecbb2c5679a0 yuv444p16be 8e1e2f04cb2e97f80fdfecbb2c5679a0
yuv444p16le 5677b2caa63e0c075eac6937b03cf2a6 yuv444p16le 5677b2caa63e0c075eac6937b03cf2a6
yuv444p9be 5ab55576b180b2966e9ed5a1ea55508a yuv444p9be 5ab55576b180b2966e9ed5a1ea55508a
......
...@@ -62,6 +62,8 @@ yuv440p 4713a7b7ce80dd06923626d13589c098 ...@@ -62,6 +62,8 @@ yuv440p 4713a7b7ce80dd06923626d13589c098
yuv444p fd733672651ad5bbffb046fd67151fee yuv444p fd733672651ad5bbffb046fd67151fee
yuv444p10be 34b38d54167df70044bdc08518d91009 yuv444p10be 34b38d54167df70044bdc08518d91009
yuv444p10le 0812e3371c9589c6621408812f9e7a27 yuv444p10le 0812e3371c9589c6621408812f9e7a27
yuv444p12be 936147950ba1b511570da85a0922abf3
yuv444p12le 4a9ec677190371ef5e342ffac1ace735
yuv444p16be e89fe5a4624ed06603580b4a74af9170 yuv444p16be e89fe5a4624ed06603580b4a74af9170
yuv444p16le 6944d11048ff4013c5e60359faf1bd2d yuv444p16le 6944d11048ff4013c5e60359faf1bd2d
yuv444p9be 04a950e843d099eb9ade2ddcea494fb3 yuv444p9be 04a950e843d099eb9ade2ddcea494fb3
......
...@@ -62,6 +62,8 @@ yuv440p fade395d957e1e3b117ac11c09404964 ...@@ -62,6 +62,8 @@ yuv440p fade395d957e1e3b117ac11c09404964
yuv444p a3c2a074c3609226bf1a0bc4de5c0e51 yuv444p a3c2a074c3609226bf1a0bc4de5c0e51
yuv444p10be b02fac8bc5a564a755567a86dc3ceae0 yuv444p10be b02fac8bc5a564a755567a86dc3ceae0
yuv444p10le 88860297f729c90526b157b6bf1e2fcf yuv444p10le 88860297f729c90526b157b6bf1e2fcf
yuv444p12be d8af56e4b09130e14a9449c84a03cab0
yuv444p12le 0ccfbd671b8000c0f950b9dfae8ea879
yuv444p16be 26fbffad3c28aa1a6c47f2be6d146173 yuv444p16be 26fbffad3c28aa1a6c47f2be6d146173
yuv444p16le 3d13dcea82caec9eb563a1d7a2e4b339 yuv444p16le 3d13dcea82caec9eb563a1d7a2e4b339
yuv444p9be df39c0778e5b13f306e9928c5b0ddbb2 yuv444p9be df39c0778e5b13f306e9928c5b0ddbb2
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment