[FFmpeg-devel] [PATCH 1/8] lavu/pix_fmt: add new pixel format y210
Fu, Linjie
linjie.fu at intel.com
Sun Jan 12 09:57:32 EET 2020
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Mark Thompson
> Sent: Thursday, January 9, 2020 05:47
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH 1/8] lavu/pix_fmt: add new pixel format
> y210
>
> On 29/12/2019 16:28, Linjie Fu wrote:
> > Add some packed 4:2:2 10-bit pixel formats for hardware decode support
> > in VAAPI and QSV.
> >
> > Signed-off-by: Linjie Fu <linjie.fu at intel.com>
> > ---
> > libavutil/pixdesc.c | 23 +++++++++++++++++++++++
> > libavutil/pixfmt.h | 5 +++++
> > libavutil/version.h | 2 +-
> > tests/ref/fate/sws-pixdesc-query | 7 +++++++
> > 4 files changed, 36 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> > index 05dd4a1..1e118ef 100644
> > --- a/libavutil/pixdesc.c
> > +++ b/libavutil/pixdesc.c
> > @@ -205,6 +205,29 @@ static const AVPixFmtDescriptor
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
> > { 0, 4, 1, 0, 8, 3, 7, 2 }, /* V */
> > },
> > },
> > + [AV_PIX_FMT_Y210LE] = {
> > + .name = "y210le",
> > + .nb_components = 3,
> > + .log2_chroma_w = 1,
> > + .log2_chroma_h = 0,
> > + .comp = {
> > + { 0, 4, 0, 6, 10, 3, 9, 1 }, /* Y */
> > + { 0, 8, 2, 6, 10, 7, 9, 3 }, /* U */
> > + { 0, 8, 6, 6, 10, 7, 9, 7 }, /* V */
> > + },
> > + },
> > + [AV_PIX_FMT_Y210BE] = {
> > + .name = "y210be",
> > + .nb_components = 3,
> > + .log2_chroma_w = 1,
> > + .log2_chroma_h = 0,
> > + .comp = {
> > + { 0, 4, 0, 6, 10, 3, 9, 1 }, /* Y */
> > + { 0, 8, 2, 6, 10, 7, 9, 3 }, /* U */
> > + { 0, 8, 6, 6, 10, 7, 9, 7 }, /* V */
> > + },
> > + .flags = AV_PIX_FMT_FLAG_BE,
> > + },
> > [AV_PIX_FMT_RGB24] = {
> > .name = "rgb24",
> > .nb_components = 3,
> > diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> > index 37ecebd..7ffa5a0 100644
> > --- a/libavutil/pixfmt.h
> > +++ b/libavutil/pixfmt.h
> > @@ -348,6 +348,9 @@ enum AVPixelFormat {
> > AV_PIX_FMT_NV24, ///< planar YUV 4:4:4, 24bpp, 1 plane for Y and 1
> plane for the UV components, which are interleaved (first byte U and the
> following byte V)
> > AV_PIX_FMT_NV42, ///< as above, but U and V bytes are swapped
> >
> > + AV_PIX_FMT_Y210BE, ///< packed YUV 4:2:2, 32bpp, Y0 Cb Y1 Cr, big-
> endian
> > + AV_PIX_FMT_Y210LE, ///< packed YUV 4:2:2, 32bpp, Y0 Cb Y1 Cr, little-
> endian
>
> These comments should be clear that the data are in the high bits (like P010),
> rather than in the low bits (like most formats used by software codecs).
>
> Being consistent with other comments would write 20bpp rather than 32bpp,
> though I'm not sure how much information that number is really adding.
>
Would update the comments like:
packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, zeros in the low bits, big-endian
Thanks.
More information about the ffmpeg-devel
mailing list