From: Leo Liu Date: Tue, 15 Aug 2017 16:06:24 +0000 (-0400) Subject: st/va: create decoder for MJPEG format X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=38b9686df0818c74696ea712a8ef844d354aaeb4;p=mesa.git st/va: create decoder for MJPEG format Mjpeg doesn't need reference Signed-off-by: Leo Liu Reviewed-by: Christian König --- diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c index 338e0902d65..30617e8cfe7 100644 --- a/src/gallium/state_trackers/va/picture.c +++ b/src/gallium/state_trackers/va/picture.c @@ -170,14 +170,17 @@ handlePictureParameterBuffer(vlVaDriver *drv, vlVaContext *context, vlVaBuffer * /* Create the decoder once max_references is known. */ if (!context->decoder) { + enum pipe_video_format format = + u_reduce_video_profile(context->templat.profile); + if (!context->target) return VA_STATUS_ERROR_INVALID_CONTEXT; - if (context->templat.max_references == 0) + if (context->templat.max_references == 0 && + format != PIPE_VIDEO_FORMAT_JPEG) return VA_STATUS_ERROR_INVALID_BUFFER; - if (u_reduce_video_profile(context->templat.profile) == - PIPE_VIDEO_FORMAT_MPEG4_AVC) + if (format == PIPE_VIDEO_FORMAT_MPEG4_AVC) context->templat.level = u_get_h264_level(context->templat.width, context->templat.height, &context->templat.max_references);