mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-28 12:32:17 +02:00
pixfmt: add P010 pixel format
P010 is the 10-bit variant of NV12 (planar luma, packed chroma), using two bytes per component to store 10-bit data plus 6-bit zeroes in the LSBs. Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
b55566db4c
commit
b7c5f88523
@ -13,6 +13,9 @@ libavutil: 2015-08-28
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2016-xx-xx - xxxxxxx - lavu 55.18.0 - pixdesc.h
|
||||||
|
Add AV_PIX_FMT_P010(LE/BE).
|
||||||
|
|
||||||
2016-xx-xx - xxxxxxx - lavc 57.24.0 - avcodec.h
|
2016-xx-xx - xxxxxxx - lavc 57.24.0 - avcodec.h
|
||||||
Decoders now export the frame timestamp as AVFrame.pts. It was
|
Decoders now export the frame timestamp as AVFrame.pts. It was
|
||||||
previously exported as AVFrame.pkt_pts, which is now deprecated.
|
previously exported as AVFrame.pkt_pts, which is now deprecated.
|
||||||
|
@ -1590,6 +1590,30 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
|
|||||||
.name = "cuda",
|
.name = "cuda",
|
||||||
.flags = AV_PIX_FMT_FLAG_HWACCEL,
|
.flags = AV_PIX_FMT_FLAG_HWACCEL,
|
||||||
},
|
},
|
||||||
|
[AV_PIX_FMT_P010LE] = {
|
||||||
|
.name = "p010le",
|
||||||
|
.nb_components = 3,
|
||||||
|
.log2_chroma_w = 1,
|
||||||
|
.log2_chroma_h = 1,
|
||||||
|
.comp = {
|
||||||
|
{ 0, 2, 0, 6, 10, 1, 9, 1 }, /* Y */
|
||||||
|
{ 1, 4, 0, 6, 10, 3, 9, 1 }, /* U */
|
||||||
|
{ 1, 4, 2, 6, 10, 3, 9, 3 }, /* V */
|
||||||
|
},
|
||||||
|
.flags = AV_PIX_FMT_FLAG_PLANAR,
|
||||||
|
},
|
||||||
|
[AV_PIX_FMT_P010BE] = {
|
||||||
|
.name = "p010be",
|
||||||
|
.nb_components = 3,
|
||||||
|
.log2_chroma_w = 1,
|
||||||
|
.log2_chroma_h = 1,
|
||||||
|
.comp = {
|
||||||
|
{ 0, 2, 0, 6, 10, 1, 9, 1 }, /* Y */
|
||||||
|
{ 1, 4, 0, 6, 10, 3, 9, 1 }, /* U */
|
||||||
|
{ 1, 4, 2, 6, 10, 3, 9, 3 }, /* V */
|
||||||
|
},
|
||||||
|
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
#if FF_API_PLUS1_MINUS1
|
#if FF_API_PLUS1_MINUS1
|
||||||
FF_ENABLE_DEPRECATION_WARNINGS
|
FF_ENABLE_DEPRECATION_WARNINGS
|
||||||
|
@ -227,6 +227,9 @@ enum AVPixelFormat {
|
|||||||
*/
|
*/
|
||||||
AV_PIX_FMT_CUDA,
|
AV_PIX_FMT_CUDA,
|
||||||
|
|
||||||
|
AV_PIX_FMT_P010LE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
|
||||||
|
AV_PIX_FMT_P010BE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, 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
|
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
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -282,6 +285,7 @@ enum AVPixelFormat {
|
|||||||
|
|
||||||
#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
|
#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
|
||||||
#define AV_PIX_FMT_NV20 AV_PIX_FMT_NE(NV20BE, NV20LE)
|
#define AV_PIX_FMT_NV20 AV_PIX_FMT_NE(NV20BE, NV20LE)
|
||||||
|
#define AV_PIX_FMT_P010 AV_PIX_FMT_NE(P010BE, P010LE)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chromaticity coordinates of the source primaries.
|
* Chromaticity coordinates of the source primaries.
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||||
#define LIBAVUTIL_VERSION_MINOR 17
|
#define LIBAVUTIL_VERSION_MINOR 18
|
||||||
#define LIBAVUTIL_VERSION_MICRO 0
|
#define LIBAVUTIL_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user