mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-23 11:40:39 +02:00
st/va: Return surface formats depending on config chroma format
This makes the supported format actually match the configuration, and allows the user to observe that NV12 is supported for video processing where previously they couldn't (though it did always work if they blindly tried to use it anyway). Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
e7c7ef3625
commit
e0604eed9f
1 changed files with 10 additions and 2 deletions
|
|
@ -419,11 +419,19 @@ vlVaQuerySurfaceAttributes(VADriverContextP ctx, VAConfigID config_id,
|
|||
/* vlVaCreateConfig returns PIPE_VIDEO_PROFILE_UNKNOWN
|
||||
* only for VAEntrypointVideoProc. */
|
||||
if (config->profile == PIPE_VIDEO_PROFILE_UNKNOWN) {
|
||||
for (j = 0; j < ARRAY_SIZE(vpp_surface_formats); ++j) {
|
||||
if (config->rt_format == VA_RT_FORMAT_RGB32) {
|
||||
for (j = 0; j < ARRAY_SIZE(vpp_surface_formats); ++j) {
|
||||
attribs[i].type = VASurfaceAttribPixelFormat;
|
||||
attribs[i].value.type = VAGenericValueTypeInteger;
|
||||
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE;
|
||||
attribs[i].value.value.i = PipeFormatToVaFourcc(vpp_surface_formats[j]);
|
||||
i++;
|
||||
}
|
||||
} else if (config->rt_format == VA_RT_FORMAT_YUV420) {
|
||||
attribs[i].type = VASurfaceAttribPixelFormat;
|
||||
attribs[i].value.type = VAGenericValueTypeInteger;
|
||||
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE;
|
||||
attribs[i].value.value.i = PipeFormatToVaFourcc(vpp_surface_formats[j]);
|
||||
attribs[i].value.value.i = VA_FOURCC_NV12;
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue