va: h265enc: map the mbbrc to correct enum value in get_property()
authorHe Junyan <junyan.he@intel.com>
Fri, 28 Apr 2023 14:25:11 +0000 (22:25 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 15 Jun 2023 23:36:35 +0000 (23:36 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4870>

subprojects/gst-plugins-bad/sys/va/gstvah265enc.c

index 5606349..c585093 100644 (file)
@@ -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;