[Mesa-dev] [PATCH 08/12] st/va: add entrypoint check for HEVC
From: Boyuan Zhang Add entrypoint check for HEVC to differentiate decode and encode jobs. Signed-off-by: Boyuan Zhang Acked-by: Christian König --- src/gallium/state_trackers/va/context.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c index f03b326..f567f54 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; -- 2.7.4 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 08/12] st/va: add entrypoint check for HEVC
From: Boyuan Zhang Add entrypoint check for HEVC to differentiate decode and encode jobs. Signed-off-by: Boyuan Zhang --- src/gallium/state_trackers/va/context.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c index f03b326..f567f54 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; -- 2.7.4 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev