From: Boyuan Zhang Date: Thu, 25 Jan 2018 19:21:13 +0000 (-0500) Subject: st/va: add entrypoint check for HEVC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a9c0861c6c4e26207b8e2fc18f6efd824e92d960;p=mesa.git st/va: add entrypoint check for HEVC Add entrypoint check for HEVC to differentiate decode and encode jobs. Signed-off-by: Boyuan Zhang Acked-by: Christian König --- diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c index f03b326ff18..f567f544fde 100644 --- a/src/gallium/state_trackers/va/context.c +++ b/src/gallium/state_trackers/va/context.c @@ -263,16 +263,18 @@ vlVaCreateContext(VADriverContextP ctx, VAConfigID config_id, int picture_width, case PIPE_VIDEO_FORMAT_HEVC: context->templat.max_references = num_render_targets; - context->desc.h265.pps = CALLOC_STRUCT(pipe_h265_pps); - if (!context->desc.h265.pps) { - FREE(context); - return VA_STATUS_ERROR_ALLOCATION_FAILED; - } - context->desc.h265.pps->sps = CALLOC_STRUCT(pipe_h265_sps); - if (!context->desc.h265.pps->sps) { - FREE(context->desc.h265.pps); - FREE(context); - return VA_STATUS_ERROR_ALLOCATION_FAILED; + if (config->entrypoint != PIPE_VIDEO_ENTRYPOINT_ENCODE) { + context->desc.h265.pps = CALLOC_STRUCT(pipe_h265_pps); + if (!context->desc.h265.pps) { + FREE(context); + return VA_STATUS_ERROR_ALLOCATION_FAILED; + } + context->desc.h265.pps->sps = CALLOC_STRUCT(pipe_h265_sps); + if (!context->desc.h265.pps->sps) { + FREE(context->desc.h265.pps); + FREE(context); + return VA_STATUS_ERROR_ALLOCATION_FAILED; + } } break;