[FFmpeg-devel] [PATCH 1/6] lavu/pixfmt: add new pixel format ayuv/y210/y410
Carl Eugen Hoyos
ceffmpeg at gmail.com
Tue Sep 10 22:24:45 EEST 2019
Am Di., 10. Sept. 2019 um 18:08 Uhr schrieb Linjie Fu <linjie.fu at intel.com>:
>
> Add some packed pixel formats for hardware decode support
> in VAAPI and QSV:
>
> 4:2:2 10 bit: Y210
> 4:4:4 8 bit: AYUV
> 4:4:4 10 bit: Y410
Please add a short explanation (either in the commit message or
only in this thread) for which kind of samples these pixel formats
are needed.
Or to say it differently: Why is the hardware outputting planar
formats for some samples and packed for others?
I see you added LE and BE versions: Why are both needed?
And if they are needed, why is there only AYUV and not AYUV
and VUYA?
> Signed-off-by: Linjie Fu <linjie.fu at intel.com>
> ---
> libavutil/pixdesc.c | 62 +++++++++++++++++++++++++++++++++++++++++++
> libavutil/pixfmt.h | 9 +++++++
> libavutil/tests/pixfmt_best.c | 1 +
> libavutil/version.h | 2 +-
> 4 files changed, 73 insertions(+), 1 deletion(-)
> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> index d78e863..0176a2a 100644
> --- a/libavutil/pixfmt.h
> +++ b/libavutil/pixfmt.h
> @@ -348,6 +348,12 @@ 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
I believe they are 16bpp.
Carl Eugen
More information about the ffmpeg-devel
mailing list