mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 15:48:36 +02:00
frontends/va/context: don't set max_references with num_render_targets
For HEVC and VP9 template's max_references are tied to the number of
surfaces associated with context. Later, the decoder is created if
max_references is different to zero.
But vaCreateContext() doesn't really need an array of VASurfaceIDs (see
https://lists.01.org/pipermail/intel-vaapi-media/2017-July/000052.html and
https://github.com/intel/libva/issues/251).
This patch removes the validation of the max_references at decoder
creation and also remove the assignation of num_render_targets to
max_references.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7949>
(cherry picked from commit 925d701014)
This commit is contained in:
parent
06fadeeda7
commit
c5577bed0e
3 changed files with 1 additions and 7 deletions
|
|
@ -193,7 +193,7 @@
|
|||
"description": "frontends/va/context: don't set max_references with num_render_targets",
|
||||
"nominated": false,
|
||||
"nomination_type": null,
|
||||
"resolution": 4,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -271,7 +271,6 @@ vlVaCreateContext(VADriverContextP ctx, VAConfigID config_id, int picture_width,
|
|||
break;
|
||||
|
||||
case PIPE_VIDEO_FORMAT_HEVC:
|
||||
context->templat.max_references = num_render_targets;
|
||||
if (config->entrypoint != PIPE_VIDEO_ENTRYPOINT_ENCODE) {
|
||||
context->desc.h265.pps = CALLOC_STRUCT(pipe_h265_pps);
|
||||
if (!context->desc.h265.pps) {
|
||||
|
|
@ -288,7 +287,6 @@ vlVaCreateContext(VADriverContextP ctx, VAConfigID config_id, int picture_width,
|
|||
break;
|
||||
|
||||
case PIPE_VIDEO_FORMAT_VP9:
|
||||
context->templat.max_references = num_render_targets;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -151,10 +151,6 @@ handlePictureParameterBuffer(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *
|
|||
if (!context->target)
|
||||
return VA_STATUS_ERROR_INVALID_CONTEXT;
|
||||
|
||||
if (context->templat.max_references == 0 &&
|
||||
format != PIPE_VIDEO_FORMAT_JPEG)
|
||||
return VA_STATUS_ERROR_INVALID_BUFFER;
|
||||
|
||||
if (format == PIPE_VIDEO_FORMAT_MPEG4_AVC)
|
||||
context->templat.level = u_get_h264_level(context->templat.width,
|
||||
context->templat.height, &context->templat.max_references);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue