From 38b9686df0818c74696ea712a8ef844d354aaeb4 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Tue, 15 Aug 2017 12:06:24 -0400 Subject: st/va: create decoder for MJPEG format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mjpeg doesn't need reference Signed-off-by: Leo Liu Reviewed-by: Christian König --- src/gallium/state_trackers/va/picture.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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); -- cgit v1.2.3