Add mapping for Macroblock level rate control (VA_RC_MB)
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 11 May 2016 09:04:46 +0000 (12:04 +0300)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 11 May 2016 09:04:46 +0000 (12:04 +0300)
gst-libs/gst/vaapi/gstvaapitypes.h
gst-libs/gst/vaapi/gstvaapiutils.c
gst-libs/gst/vaapi/gstvaapivalue.c

index 9cc646f..33d7619 100644 (file)
@@ -146,6 +146,7 @@ typedef enum {
  * @GST_VAAPI_RATECONTROL_VBR: Variable bitrate
  * @GST_VAAPI_RATECONTROL_VBR_CONSTRAINED: Variable bitrate with peak
  *   rate higher than average bitrate
+ * @GST_VAAPI_RATECONTROL_MB: Macroblock based rate control
  *
  * The set of allowed rate control values for #GstVaapiRateControl.
  * Note: this is only valid for encoders.
@@ -157,6 +158,7 @@ typedef enum {
     GST_VAAPI_RATECONTROL_VCM,
     GST_VAAPI_RATECONTROL_VBR,
     GST_VAAPI_RATECONTROL_VBR_CONSTRAINED,
+    GST_VAAPI_RATECONTROL_MB,
 } GstVaapiRateControl;
 
 /* Define a mask for GstVaapiRateControl */
index c1cca46..569e4b5 100644 (file)
@@ -544,6 +544,10 @@ from_GstVaapiRateControl (guint value)
     case GST_VAAPI_RATECONTROL_VBR_CONSTRAINED:
       return VA_RC_VBR_CONSTRAINED;
 #endif
+#ifdef VA_RC_MB
+    case GST_VAAPI_RATECONTROL_MB:
+      return VA_RC_MB;
+#endif
   }
   GST_ERROR ("unsupported GstVaapiRateControl value %u", value);
   return VA_RC_NONE;
@@ -569,6 +573,10 @@ to_GstVaapiRateControl (guint value)
     case VA_RC_VBR_CONSTRAINED:
       return GST_VAAPI_RATECONTROL_VBR_CONSTRAINED;
 #endif
+#ifdef VA_RC_MB
+    case VA_RC_MB:
+      return GST_VAAPI_RATECONTROL_MB;
+#endif
   }
   GST_ERROR ("unsupported VA-API Rate Control value %u", value);
   return GST_VAAPI_RATECONTROL_NONE;
index e6bacfb..5ca01ce 100644 (file)
@@ -143,6 +143,8 @@ gst_vaapi_rate_control_get_type (void)
         "Variable bitrate", "vbr"},
     {GST_VAAPI_RATECONTROL_VBR_CONSTRAINED,
         "Variable bitrate - Constrained", "vbr_constrained"},
+    {GST_VAAPI_RATECONTROL_MB,
+        "Macroblock based rate control", "mb"},
     {0, NULL, NULL},
   };