build: fix for older versions of VA-API (< 0.34.0).

Fix build with older versions of VA-API (< 0.34.0), or versions without
good enough headers for encoding support for instance.
This commit is contained in:
Gwenole Beauchesne 2014-01-23 22:44:09 +01:00
parent b545c6fcbc
commit 614aa4ac95
2 changed files with 15 additions and 1 deletions

View file

@ -152,7 +152,6 @@ context_create (GstVaapiContext * context)
{
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;
@ -196,9 +195,11 @@ context_create (GstVaapiContext * context)
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;
@ -230,6 +231,7 @@ context_create (GstVaapiContext * context)
}
break;
}
#endif
default:
break;
}

View file

@ -214,16 +214,20 @@ string_of_VARateControl (guint rate_control)
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;
}
@ -492,16 +496,20 @@ from_GstVaapiRateControl (guint value)
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;
@ -513,16 +521,20 @@ to_GstVaapiRateControl (guint value)
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;