From a848621480d99316184426a0224378d5afc1d603 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 560634953f..c585093592 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c @@ -4874,9 +4874,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; -- 2.34.1