[Libva] [PATCH] Fix the alpha mask at getting derive images

Xiang, Haihao haihao.xiang at intel.com
Mon Jun 6 01:40:36 UTC 2016


Applied.

Thanks
Haihao

> The alpha mask is set to 0x0 when getting derived images, regardless
> the
> alpha channel in the RGB format. But,
> 
> When RGBx, the x means an alpha mask of 0x00000000
> When RGBA, the A means an alpha mask of 0xff000000
> 
> This patch set the alpha mask correctly.
> 
> Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez at igalia.com>
> ---
>  src/i965_drv_video.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
> index 0a337f4..cbfc081 100644
> --- a/src/i965_drv_video.c
> +++ b/src/i965_drv_video.c
> @@ -4351,14 +4351,12 @@ VAStatus i965_DeriveImage(VADriverContextP
> ctx,
>              image->format.red_mask = 0x000000ff;
>              image->format.green_mask = 0x0000ff00;
>              image->format.blue_mask = 0x00ff0000;
> -            image->format.alpha_mask = 0x00000000;
>              break;
>          case VA_FOURCC_BGRA:
>          case VA_FOURCC_BGRX:
>              image->format.red_mask = 0x00ff0000;
>              image->format.green_mask = 0x0000ff00;
>              image->format.blue_mask = 0x000000ff;
> -            image->format.alpha_mask = 0x00000000;
>              break;
>          default:
>              goto error;
> @@ -4367,10 +4365,12 @@ VAStatus i965_DeriveImage(VADriverContextP
> ctx,
>          switch (image->format.fourcc) {
>          case VA_FOURCC_RGBA:
>          case VA_FOURCC_BGRA:
> +            image->format.alpha_mask = 0xff000000;
>              image->format.depth = 32;
>              break;
>          case VA_FOURCC_RGBX:
>          case VA_FOURCC_BGRX:
> +            image->format.alpha_mask = 0x00000000;
>              image->format.depth = 24;
>              break;
>          default:


More information about the Libva mailing list