static GstVaapiEncoderStatus gst_vaapi_encoder_mpeg2_reconfigure (GstVaapiEncoder * base_encoder) { GstVaapiEncoderMpeg2 *const encoder = GST_VAAPI_ENCODER_MPEG2_CAST (base_encoder); GstVaapiEncoderStatus status; if (encoder->ip_period > base_encoder->keyframe_period) { encoder->ip_period = base_encoder->keyframe_period - 1; } status = ensure_profile_and_level (encoder); if (status != GST_VAAPI_ENCODER_STATUS_SUCCESS) return status; if (!ensure_bitrate (encoder)) goto error; return set_context_info (base_encoder); /* ERRORS */ error: { return GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED; } }
static GstVaapiEncoderStatus gst_vaapi_encoder_vp8_reconfigure (GstVaapiEncoder * base_encoder) { GstVaapiEncoderVP8 *const encoder = GST_VAAPI_ENCODER_VP8_CAST (base_encoder); GstVaapiEncoderStatus status; status = ensure_profile (encoder); if (status != GST_VAAPI_ENCODER_STATUS_SUCCESS) return status; if (!ensure_bitrate (encoder)) goto error; ensure_control_rate_params (encoder); return set_context_info (base_encoder); /* ERRORS */ error: { return GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED; } }