diff --git a/gst-libs/gst/vaapi/gstvaapitypes.h b/gst-libs/gst/vaapi/gstvaapitypes.h index 9cc646f57e..33d7619821 100644 --- a/gst-libs/gst/vaapi/gstvaapitypes.h +++ b/gst-libs/gst/vaapi/gstvaapitypes.h @@ -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 */ diff --git a/gst-libs/gst/vaapi/gstvaapiutils.c b/gst-libs/gst/vaapi/gstvaapiutils.c index c1cca4633c..569e4b5d23 100644 --- a/gst-libs/gst/vaapi/gstvaapiutils.c +++ b/gst-libs/gst/vaapi/gstvaapiutils.c @@ -543,6 +543,10 @@ from_GstVaapiRateControl (guint value) #ifdef VA_RC_VBR_CONSTRAINED 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); @@ -568,6 +572,10 @@ to_GstVaapiRateControl (guint value) #ifdef VA_RC_VBR_CONSTRAINED 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); diff --git a/gst-libs/gst/vaapi/gstvaapivalue.c b/gst-libs/gst/vaapi/gstvaapivalue.c index e6bacfbed0..5ca01ce2b4 100644 --- a/gst-libs/gst/vaapi/gstvaapivalue.c +++ b/gst-libs/gst/vaapi/gstvaapivalue.c @@ -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}, };