[Mesa-dev] [PATCH] st/va: delay calling begin_frame until we have all parameters
Christian König
christian.koenig at amd.com
Fri Jan 13 13:33:34 UTC 2017
Am 13.01.2017 um 14:15 schrieb Nayan Deshmukh:
> If begin_frame is called before setting intra_matrix and
> non_intra_matrix it leads to segmentation faults when
> vl_mpeg12_decoder.c is used.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92634
> Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
At one point I would rather like to fix all the codecs (both decoders
and encoders) to don't rely on the picture info to be complete, but that
is clearly a different problem.
So that patch is Reviewed-by: Christian König <christian.koenig at amd.com>
for now.
Regards,
Christian.
> ---
> src/gallium/state_trackers/va/picture.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c
> index b5b9a83..dc7121c 100644
> --- a/src/gallium/state_trackers/va/picture.c
> +++ b/src/gallium/state_trackers/va/picture.c
> @@ -178,9 +178,6 @@ handlePictureParameterBuffer(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *
>
> if (!context->decoder)
> return VA_STATUS_ERROR_ALLOCATION_FAILED;
> -
> - context->decoder->begin_frame(context->decoder, context->target,
> - &context->desc.base);
> }
>
> return vaStatus;
> @@ -310,6 +307,9 @@ handleVASliceDataBufferType(vlVaContext *context, vlVaBuffer *buf)
> buffers[num_buffers] = buf->data;
> sizes[num_buffers] = buf->size;
> ++num_buffers;
> +
> + context->decoder->begin_frame(context->decoder, context->target,
> + &context->desc.base);
> context->decoder->decode_bitstream(context->decoder, context->target, &context->desc.base,
> num_buffers, (const void * const*)buffers, sizes);
> }
More information about the mesa-dev
mailing list