frontends/va: add surface alignment attribute

It is only taking effect in hevc encoding so far.

Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280>
This commit is contained in:
Ruijing Dong
2024-03-19 13:30:19 -04:00
committed by Marge Bot
parent 7525d2242b
commit b24748a93a

View File

@@ -725,6 +725,16 @@ vlVaQuerySurfaceAttributes(VADriverContextP ctx, VAConfigID config_id,
config->profile, config->entrypoint,
PIPE_VIDEO_CAP_MAX_HEIGHT);
i++;
#if VA_CHECK_VERSION(1, 21, 0)
attribs[i].type = VASurfaceAttribAlignmentSize;
attribs[i].value.type = VAGenericValueTypeInteger;
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE;
attribs[i].value.value.i =
pscreen->get_video_param(pscreen,
config->profile, config->entrypoint,
PIPE_VIDEO_CAP_ENC_SURFACE_ALIGNMENT);
i++;
#endif
} else {
attribs[i].type = VASurfaceAttribMaxWidth;
attribs[i].value.type = VAGenericValueTypeInteger;