{
const GstVaapiContextInfo *const cip = &context->info;
GstVaapiDisplay *const display = GST_VAAPI_OBJECT_DISPLAY (context);
- guint va_rate_control;
VAConfigAttrib attribs[3], *attrib = attribs;
VAContextID context_id;
VASurfaceID surface_id;
attrib++;
switch (cip->usage) {
+#if USE_ENCODERS
case GST_VAAPI_CONTEXT_USAGE_ENCODE:
{
const GstVaapiConfigInfoEncoder *const config = &cip->config.encoder;
+ guint va_rate_control;
/* Rate control */
attrib->type = VAConfigAttribRateControl;
}
break;
}
+#endif
default:
break;
}
switch (rate_control) {
case VA_RC_NONE:
return "None";
+#ifdef VA_RC_CQP
case VA_RC_CQP:
return "CQP";
+#endif
case VA_RC_CBR:
return "CBR";
case VA_RC_VCM:
return "VCM";
case VA_RC_VBR:
return "VBR";
+#ifdef VA_RC_VBR_CONSTRAINED
case VA_RC_VBR_CONSTRAINED:
return "VBR-Constrained";
+#endif
default:
break;
}
switch (value) {
case GST_VAAPI_RATECONTROL_NONE:
return VA_RC_NONE;
+#ifdef VA_RC_CQP
case GST_VAAPI_RATECONTROL_CQP:
return VA_RC_CQP;
+#endif
case GST_VAAPI_RATECONTROL_CBR:
return VA_RC_CBR;
case GST_VAAPI_RATECONTROL_VCM:
return VA_RC_VCM;
case GST_VAAPI_RATECONTROL_VBR:
return VA_RC_VBR;
+#ifdef VA_RC_VBR_CONSTRAINED
case GST_VAAPI_RATECONTROL_VBR_CONSTRAINED:
return VA_RC_VBR_CONSTRAINED;
+#endif
}
GST_ERROR ("unsupported GstVaapiRateControl value %u", value);
return VA_RC_NONE;
switch (value) {
case VA_RC_NONE:
return GST_VAAPI_RATECONTROL_NONE;
+#ifdef VA_RC_CQP
case VA_RC_CQP:
return GST_VAAPI_RATECONTROL_CQP;
+#endif
case VA_RC_CBR:
return GST_VAAPI_RATECONTROL_CBR;
case VA_RC_VCM:
return GST_VAAPI_RATECONTROL_VCM;
case VA_RC_VBR:
return GST_VAAPI_RATECONTROL_VBR;
+#ifdef VA_RC_VBR_CONSTRAINED
case VA_RC_VBR_CONSTRAINED:
return GST_VAAPI_RATECONTROL_VBR_CONSTRAINED;
+#endif
}
GST_ERROR ("unsupported VA-API Rate Control value %u", value);
return GST_VAAPI_RATECONTROL_NONE;