From 96e576a818d503629c75fb00456396cfb52fc7c2 Mon Sep 17 00:00:00 2001 From: He Junyan Date: Fri, 28 Apr 2023 22:25:11 +0800 Subject: [PATCH] va: h265enc: map the mbbrc to correct enum value in get_property() Part-of: --- .../gst-plugins-bad/sys/va/gstvah265enc.c | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c b/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c index da0bebf044..d8e57db801 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c @@ -4875,9 +4875,30 @@ gst_va_h265_enc_get_property (GObject * object, guint prop_id, case PROP_AUD: g_value_set_boolean (value, self->prop.aud); break; - case PROP_MBBRC: - g_value_set_enum (value, self->prop.mbbrc); + case PROP_MBBRC:{ + GstVaFeature mbbrc = GST_VA_FEATURE_AUTO; + /* Macroblock-level rate control. + * 0: use default, + * 1: always enable, + * 2: always disable, + * other: reserved. */ + switch (self->prop.mbbrc) { + case 2: + mbbrc = GST_VA_FEATURE_DISABLED; + break; + case 1: + mbbrc = GST_VA_FEATURE_ENABLED; + break; + case 0: + mbbrc = GST_VA_FEATURE_AUTO; + break; + default: + g_assert_not_reached (); + } + + g_value_set_enum (value, mbbrc); break; + } case PROP_BITRATE: g_value_set_uint (value, self->prop.bitrate); break;