vkencoder-private: add again GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Fri, 15 Nov 2024 11:41:15 +0000 (12:41 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 4 Dec 2024 02:17:45 +0000 (02:17 +0000)
It was already part of the old rate control mechanism but it had wrong the
namespace.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.c
subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.h

index c63a061f01c3ab5987583be7ddd03a848d3a8ade..c9d163a7ca1f541a566d16e14e1947c30a327a7b 100644 (file)
@@ -1424,3 +1424,28 @@ gst_vulkan_encoder_set_rc_mode (GstVulkanEncoder * self,
   priv->session_reset = TRUE;
   priv->rc_mode = rc_mode;
 }
+
+GType
+gst_vulkan_encoder_rate_control_mode_get_type (void)
+{
+  static GType type = 0;
+
+  if (type == 0) {
+    /* *INDENT-OFF* */
+    static const GEnumValue values[] = {
+      { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR,
+        "Driver's default", "default" },
+      { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR,
+        "Constant quantizer", "cqp" },
+      { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR,
+        "Constant bitrate", "cbr" },
+      { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR,
+        "Variable bitrate", "vbr" },
+      { 0, }
+    };
+    /* *INDENT-ON* */
+
+    type = g_enum_register_static ("GstVulkanEncoderRateControlMode", values);
+  }
+  return type;
+}
index 0b936eaef5880c43a30af1170b79de3836d04526..5147b53b3a98f42127e84f70492d1808eb20c357 100644 (file)
 GST_VULKAN_API
 GType gst_vulkan_encoder_get_type       (void);
 
+#define GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE   (gst_vulkan_encoder_rate_control_mode_get_type())
+GST_VULKAN_API
+GType gst_vulkan_encoder_rate_control_mode_get_type (void);
+
 typedef struct _GstVulkanEncoder GstVulkanEncoder;
 typedef struct _GstVulkanEncoderClass GstVulkanEncoderClass;
 typedef struct _GstVulkanEncoderQualityPoperties GstVulkanEncoderQualityProperties;