lkml.org 
[lkml]   [2021]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] media: coda: Keep metas sync with hardware fifo
From
Date

Le 11/11/2021 à 18:03, Philipp Zabel a écrit :
> Hi Benjamin,
>
> On Mon, 2021-11-08 at 15:24 +0100, Benjamin Gaignard wrote:
>> After updating the output fifo position be sure that metas are also
>> synchronised with this position.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
>> ---
>>  drivers/media/platform/coda/coda-bit.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/media/platform/coda/coda-bit.c b/drivers/media/platform/coda/coda-bit.c
>> index c484c008ab02..28c56286b0de 100644
>> --- a/drivers/media/platform/coda/coda-bit.c
>> +++ b/drivers/media/platform/coda/coda-bit.c
>> @@ -2315,6 +2315,12 @@ static void coda_finish_decode(struct coda_ctx *ctx)
>>   /* Update kfifo out pointer from coda bitstream read pointer */
>>   coda_kfifo_sync_from_device(ctx);
>>
>> + /*
>> + * After updating the read pointer, we need to check if
>> + * any metas are consumed and should be released.
>> + */
>> + coda_decoder_drop_used_metas(ctx);
>> +
> This doesn't look right. If you drop all metas seen by the decoder right
> away, they can't be copied into the decoded picture's meta slot later in
> this function. I'd expect you run into the "empty timestamp list!"
> errors if you do this.

Hi Philipp,

I don't run into the "empty timestamp list!" errors.
The only case I have seen metas been dropped here it is when
an invalid/incomplete frame has been send into the decoder.
When that happens I don't see any interrupt or error message but
the erroneous frame stay in the list.
If that occur 4 times (I'm using CODA 960) then the decoder hang.
Dropping the metas at this moment solve this problem.

Maybe you can guide me to a better solution ?

Regards,
Benjamin

>
> regards
> Philipp

\
 
 \ /
  Last update: 2021-11-12 09:37    [W:0.050 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site