From 1395d806ba6453548a1cead89a99b45b0d1c9426 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Wed, 10 Dec 2025 17:51:27 +0100 Subject: [PATCH] frontends/va: Also treat PRI/TRC_RESERVED0 as unspecified PIPE_VIDEO_VPP_PRI_RESERVED0 and PIPE_VIDEO_VPP_TRC_RESERVED0 have value 0, and this is what we will get from apps that doesn't set primaries and transfer characteristics at all. Fixes: a284bff8adb ("frontends/va: Set color properties when not using explicit color standard") Reviewed-by: Ruijing Dong Part-of: --- src/gallium/frontends/va/postproc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gallium/frontends/va/postproc.c b/src/gallium/frontends/va/postproc.c index ff42bd38133..60f30e1da1f 100644 --- a/src/gallium/frontends/va/postproc.c +++ b/src/gallium/frontends/va/postproc.c @@ -659,10 +659,12 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex &vpp.in_transfer_characteristics, &vpp.in_matrix_coefficients); } - if (vpp.in_color_primaries == PIPE_VIDEO_VPP_PRI_UNSPECIFIED) + if (vpp.in_color_primaries == PIPE_VIDEO_VPP_PRI_RESERVED0 || + vpp.in_color_primaries == PIPE_VIDEO_VPP_PRI_UNSPECIFIED) vpp.in_color_primaries = PIPE_VIDEO_VPP_PRI_BT709; - if (vpp.in_transfer_characteristics == PIPE_VIDEO_VPP_TRC_UNSPECIFIED) + if (vpp.in_transfer_characteristics == PIPE_VIDEO_VPP_TRC_RESERVED0 || + vpp.in_transfer_characteristics == PIPE_VIDEO_VPP_TRC_UNSPECIFIED) vpp.in_transfer_characteristics = PIPE_VIDEO_VPP_TRC_GAMMA22; if (vpp.in_matrix_coefficients == PIPE_VIDEO_VPP_MCF_UNSPECIFIED || @@ -706,10 +708,12 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex &vpp.out_transfer_characteristics, &vpp.out_matrix_coefficients); } - if (vpp.out_color_primaries == PIPE_VIDEO_VPP_PRI_UNSPECIFIED) + if (vpp.out_color_primaries == PIPE_VIDEO_VPP_PRI_RESERVED0 || + vpp.out_color_primaries == PIPE_VIDEO_VPP_PRI_UNSPECIFIED) vpp.out_color_primaries = PIPE_VIDEO_VPP_PRI_BT709; - if (vpp.out_transfer_characteristics == PIPE_VIDEO_VPP_TRC_UNSPECIFIED) + if (vpp.out_transfer_characteristics == PIPE_VIDEO_VPP_TRC_RESERVED0 || + vpp.out_transfer_characteristics == PIPE_VIDEO_VPP_TRC_UNSPECIFIED) vpp.out_transfer_characteristics = PIPE_VIDEO_VPP_TRC_GAMMA22; if (vpp.out_matrix_coefficients == PIPE_VIDEO_VPP_MCF_UNSPECIFIED ||