From ca5bb27641b6645136b9a73a8930aba6e1bc0728 Mon Sep 17 00:00:00 2001 From: Thong Thai Date: Mon, 8 May 2023 13:26:10 -0400 Subject: [PATCH] frontends/va/config: check for QVBR support when creating Fixes: 30a6363c8f6 ("frontend/va: Support QVBR rate control mode") Signed-off-by: Thong Thai Reviewed-by: Ruijing Dong Part-of: --- src/gallium/frontends/va/config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/frontends/va/config.c b/src/gallium/frontends/va/config.c index bb658609d32..0e484763c13 100644 --- a/src/gallium/frontends/va/config.c +++ b/src/gallium/frontends/va/config.c @@ -599,7 +599,10 @@ vlVaCreateConfig(VADriverContextP ctx, VAProfile profile, VAEntrypoint entrypoin config->rc = PIPE_H2645_ENC_RATE_CONTROL_METHOD_VARIABLE; else if (attrib_list[i].value == VA_RC_CQP) config->rc = PIPE_H2645_ENC_RATE_CONTROL_METHOD_DISABLE; - else if (attrib_list[i].value == VA_RC_QVBR) + else if (attrib_list[i].value == VA_RC_QVBR && + (pscreen->get_video_param(pscreen, ProfileToPipe(profile), + PIPE_VIDEO_ENTRYPOINT_ENCODE, + PIPE_VIDEO_CAP_ENC_RATE_CONTROL_QVBR) > 0)) config->rc = PIPE_H2645_ENC_RATE_CONTROL_METHOD_QUALITY_VARIABLE; else { FREE(config);