[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5091e44e-6b44-be2e-f53e-29368009f30d@collabora.com>
Date: Wed, 27 Apr 2022 19:38:28 +0200
From: Benjamin Gaignard <benjamin.gaignard@...labora.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: ezequiel@...guardiasur.com.ar, p.zabel@...gutronix.de,
mchehab@...nel.org, gregkh@...uxfoundation.org,
linux-media@...r.kernel.org, linux-rockchip@...ts.infradead.org,
linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org,
jon@...ocrew.net, aford173@...il.com, kernel@...labora.com
Subject: Re: [PATCH] media: hantro: HEVC: Fix tile info buffer value
computation
Le 27/04/2022 à 16:22, Dan Carpenter a écrit :
> On Wed, Apr 27, 2022 at 03:55:17PM +0200, Benjamin Gaignard wrote:
>> Use pps->column_width_minus1[j] + 1 as value for the tile info buffer
>> instead of pps->column_width_minus1[j + 1].
>> The patch fix DBLK_E_VIXS_2, DBLK_F_VIXS_2, DBLK_G_VIXS_2,
>> SAO_B_MediaTek_5, TILES_A_Cisco_2 and TILES_B_Cisco_1 tests in fluster.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@...labora.com>
> Fixes: cb5dd5a0fa51 ("media: hantro: Introduce G2/HEVC decoder")
>
>> ---
>> drivers/staging/media/hantro/hantro_g2_hevc_dec.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/media/hantro/hantro_g2_hevc_dec.c b/drivers/staging/media/hantro/hantro_g2_hevc_dec.c
>> index bb512389c1a5..ffeb2fbeefd2 100644
>> --- a/drivers/staging/media/hantro/hantro_g2_hevc_dec.c
>> +++ b/drivers/staging/media/hantro/hantro_g2_hevc_dec.c
>> @@ -74,7 +74,7 @@ static void prepare_tile_info_buffer(struct hantro_ctx *ctx)
>> no_chroma = 1;
>> for (j = 0, tmp_w = 0; j < num_tile_cols - 1; j++) {
> ^^^^
> Is this "- 1" still required? I would have assumed the "- 1" here was
> connected with the [j + 1]. What is stored in the last element of the
> ->column_width_minus1 array?
No "- 1" comes from the definition of the field in H.265 which is pps->num_tile_columns_minus1
We add 1 to fill the registers so we need the "- 1" in the loop.
Data ordering isn't documented anywhere so that part is directly inspired by
Hantro/G2 proprietary stack.
Regards,
Benjamin
>
>> tmp_w += pps->column_width_minus1[j] + 1;
>> - *p++ = pps->column_width_minus1[j + 1];
> ^^^^^
>
>> + *p++ = pps->column_width_minus1[j] + 1;
>> *p++ = h;
>> if (i == 0 && h == 1 && ctb_size == 16)
>> no_chroma = 1;
> regards,
> dan carpenter
Powered by blists - more mailing lists