[FFmpeg-devel] [PATCH 2/3] lavu/hwcontext_qsv: Add support for pix_fmt RGB32.
Carl Eugen Hoyos
ceffmpeg at gmail.com
Thu Mar 22 18:54:55 EET 2018
2018-03-22 16:05 GMT+01:00, Zhong Li <zhong.li at intel.com>:
> RGB32 format may be used as overlay with alpha blending.
> So add RGB32 format support.
>
> Signed-off-by: ChaoX A Liu <chaox.a.liu at intel.com>
> Signed-off-by: Zhong Li <zhong.li at intel.com>
> ---
> libavutil/hwcontext_qsv.c | 43 +++++++++++++++++++++++++++++++++----------
> 1 file changed, 33 insertions(+), 10 deletions(-)
>
> diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
> index 0fefec3..dcaf072 100644
> --- a/libavutil/hwcontext_qsv.c
> +++ b/libavutil/hwcontext_qsv.c
> @@ -90,6 +90,7 @@ static const struct {
> uint32_t fourcc;
> } supported_pixel_formats[] = {
> { AV_PIX_FMT_NV12, MFX_FOURCC_NV12 },
> + { AV_PIX_FMT_RGB32,MFX_FOURCC_RGB4 },
Imo, AV_PIX_FMT_BGRA would be more readable.
And please kindly confirm that you did test this, the
description on https://software.intel.com/en-us/node/628506
is so misleading that it cannot easily be used a source.
[...]
> + case AV_PIX_FMT_RGB32:
> + surface->Data.B = frame->data[0];
> + surface->Data.G = frame->data[0] + 1;
> + surface->Data.R = frame->data[0] + 2;
> + surface->Data.A = frame->data[0] + 3;
Does this mean every FFmpeg rgb pix_fmt could be
supported with the appropriate matrix?
Wouldn't this be very little code for a great performance
gain given the "wrong" input?
Thank you, Carl Eugen
More information about the ffmpeg-devel
mailing list