<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>
<div dir="auto">Well that's the complete wrong place for that.
<div dir="auto"><br>
</div>
<div dir="auto">The stride of the surface is determined by addrlib. That one should handle aligning the parameters.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Christian.</div>
</div>
<div class="x_gmail_extra"><br>
<div class="x_gmail_quote">Am 02.10.2018 20:38 schrieb "Sharma, Deepak" <Deepak.Sharma@amd.com>:<br type="attribution">
</div>
</div>
</div>
<font size="2"><span style="font-size:11pt;">
<div class="PlainText">Christian, the issue which trying to address here is vlvaGetImage doesn’t use width/height
<br>
passed to function. box.width is calculated from surface and that will end up in wrong stride for dst buffer<br>
for said resolution. So was thinking to use aligned width/height for vaCreateImage as well as surface.
<br>
But as you said that depends on codec , So I think either we can use width/height aligned based on codec
<br>
or use passed width/height in vlvaGetImage to fix this issue. <br>
<br>
Thanks,<br>
Deepak<br>
<br>
-----Original Message-----<br>
From: Christian König <ckoenig.leichtzumerken@gmail.com> <br>
Sent: Tuesday, October 2, 2018 3:42 AM<br>
To: Sharma, Deepak <Deepak.Sharma@amd.com>; mesa-dev@lists.freedesktop.org<br>
Cc: Guttula, Suresh <Suresh.Guttula@amd.com><br>
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.<br>
<br>
Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:<br>
> From: suresh guttula <suresh.guttula@amd.com><br>
><br>
> In case of decoding of resolution like 40x24, while allocating surface <br>
> video buffer is always aligned with macroblock width/height which is 16.<br>
> But when application tries to get data after decoding through <br>
> vaCreateImage /vaGetImage, image width/height aligned with 2 and <br>
> result a smaller image buffer which causes the memory stomping issue.<br>
<br>
Well NAK. It depends on the codec if the picture needs to be aligned to<br>
16 or not.<br>
<br>
For example VC-1 would created decoding errors with that.<br>
<br>
Regards,<br>
Christian.<br>
<br>
><br>
> Signed-off-by: suresh guttula <suresh.guttula@amd.com><br>
> ---<br>
>   src/gallium/state_trackers/va/image.c | 4 ++--<br>
>   1 file changed, 2 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/src/gallium/state_trackers/va/image.c <br>
> b/src/gallium/state_trackers/va/image.c<br>
> index 3f892c9..2fc47b7 100644<br>
> --- a/src/gallium/state_trackers/va/image.c<br>
> +++ b/src/gallium/state_trackers/va/image.c<br>
> @@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat *format, int width, int heig<br>
>      img->format = *format;<br>
>      img->width = width;<br>
>      img->height = height;<br>
> -   w = align(width, 2);<br>
> -   h = align(height, 2);<br>
> +   w = align(width, 16);<br>
> +   h = align(height, 16);<br>
>   <br>
>      switch (format->fourcc) {<br>
>      case VA_FOURCC('N','V','1','2'):<br>
<br>
</div>
</span></font>
</body>
</html>