[Mesa-dev] [PATCH] st/va: force to flush the last p frame in idr period

Christian König deathsimple at vodafone.de
Tue Oct 18 08:50:30 UTC 2016


Am 17.10.2016 um 22:31 schrieb Alex Deucher:
> On Mon, Oct 17, 2016 at 4:16 PM,  <boyuan.zhang at amd.com> wrote:
>> From: Boyuan Zhang <boyuan.zhang at amd.com>
>>
>> During dual instance encoding submission, if the second encode task and first
>> encode task have no reference dependency, e.g. p following with idr-frame,
>> there is a chance the second task will use for its reconstructed picture
>> buffer the same buffer used by first task for its reference/reconstructed
>> picture. In this case, buffer corruption may occur depending on encoding
>> speed. Fix is to force flush these two tasks separately to avoid race condition
> Please reference the bug when this is committed.
> https://bugs.freedesktop.org/show_bug.cgi?id=98005

Yeah, add a line like "Fixes: 
https://bugs.freedesktop.org/show_bug.cgi?id=98005".

With that done the patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>.

Regards,
Christian.

> Alex
>
>> Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com>
>> ---
>>   src/gallium/state_trackers/va/picture.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c
>> index 7f3d96d..eae5dc4 100644
>> --- a/src/gallium/state_trackers/va/picture.c
>> +++ b/src/gallium/state_trackers/va/picture.c
>> @@ -578,6 +578,9 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID context_id)
>>      }
>>
>>      context->decoder->end_frame(context->decoder, context->target, &context->desc.base);
>> +   if (context->decoder->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE &&
>> +       context->desc.h264enc.p_remain == 1)
>> +      context->decoder->flush(context->decoder);
>>      pipe_mutex_unlock(drv->mutex);
>>      return VA_STATUS_SUCCESS;
>>   }
>> --
>> 2.7.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list