> -----Original Message-----
> From: libva-bounces+haihao.xiang=intel....@lists.freedesktop.org
> [mailto:libva-bounces+haihao.xiang=intel....@lists.freedesktop.org] On
> Behalf Of yakui.z...@intel.com
> Sent: Tuesday, September 18, 2012 4:01 PM
> To: libva@lists.freedesktop.org
> Subject: [Libva] [PATCH ] Fix inconsistent surface dimension during allocating
> surface buffer object
> 
> From: Zhao Yakui <yakui.z...@intel.com>
> 
> When one surface is created, the height/width is aligned to 16 pixels.

Actually orig_width/height is the width/height, width/height is the stride in 
x/y-axis.  

> But when trying to allocate the buffer object for it, the width is aligned to 
> 128
> and height is aligned to 32. 

It is the requirement of the Y-tiled surface however for linear surface, 
aligning to 16 byte is enough 

> If the surface is mapped and accessed

You can't map the surface directly, do you mean vaDeriveImage() first then 
calling vaMapBuffer() to 
Access the surface ? Allocating the buffer object will be done before deriving 
the image.

> before
> allocating the buffer object, the incorrect dimension is returned and and the
> incorrect content is written.
> 
> From: Zhao Yakui <yakui.z...@intel.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
> 588961f..8956367 100644
> --- a/src/i965_drv_video.c
> +++ b/src/i965_drv_video.c
> @@ -506,8 +506,8 @@ i965_CreateSurfaces(VADriverContextP ctx,
>          obj_surface->orig_width = width;
>          obj_surface->orig_height = height;
> 
> -        obj_surface->width = ALIGN(width, 16);
> -        obj_surface->height = ALIGN(height, 16);
> +        obj_surface->width = ALIGN(width, 128);
> +        obj_surface->height = ALIGN(height, 32);
>          obj_surface->flags = SURFACE_REFERENCED;
>          obj_surface->fourcc = 0;
>          obj_surface->bo = NULL;
> --
> 1.7.12-rc1
> 
> _______________________________________________
> Libva mailing list
> Libva@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to