mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 10:41:04 +00:00
libs: encoder: refactor init_context_info()
In order to generate vaapi contexts iterative, the function init_context_info() is refactored to pass, as parameters the GstVaapiContextInfo and the GstVaapiProfile. https://bugzilla.gnome.org/show_bug.cgi?id=771291
This commit is contained in:
parent
db7268117d
commit
31d326c9ee
1 changed files with 5 additions and 5 deletions
|
@ -604,14 +604,14 @@ get_default_chroma_type (GstVaapiEncoder * encoder,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_context_info (GstVaapiEncoder * encoder)
|
init_context_info (GstVaapiEncoder * encoder, GstVaapiContextInfo * cip,
|
||||||
|
GstVaapiProfile profile)
|
||||||
{
|
{
|
||||||
GstVaapiContextInfo *const cip = &encoder->context_info;
|
|
||||||
const GstVaapiEncoderClassData *const cdata =
|
const GstVaapiEncoderClassData *const cdata =
|
||||||
GST_VAAPI_ENCODER_GET_CLASS (encoder)->class_data;
|
GST_VAAPI_ENCODER_GET_CLASS (encoder)->class_data;
|
||||||
|
|
||||||
cip->usage = GST_VAAPI_CONTEXT_USAGE_ENCODE;
|
cip->usage = GST_VAAPI_CONTEXT_USAGE_ENCODE;
|
||||||
cip->profile = get_profile (encoder);
|
cip->profile = profile;
|
||||||
if (cdata->codec == GST_VAAPI_CODEC_JPEG) {
|
if (cdata->codec == GST_VAAPI_CODEC_JPEG) {
|
||||||
cip->entrypoint = GST_VAAPI_ENTRYPOINT_PICTURE_ENCODE;
|
cip->entrypoint = GST_VAAPI_ENTRYPOINT_PICTURE_ENCODE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -633,7 +633,7 @@ set_context_info (GstVaapiEncoder * encoder)
|
||||||
const GstVideoFormat format =
|
const GstVideoFormat format =
|
||||||
GST_VIDEO_INFO_FORMAT (GST_VAAPI_ENCODER_VIDEO_INFO (encoder));
|
GST_VIDEO_INFO_FORMAT (GST_VAAPI_ENCODER_VIDEO_INFO (encoder));
|
||||||
|
|
||||||
init_context_info (encoder);
|
init_context_info (encoder, cip, get_profile (encoder));
|
||||||
|
|
||||||
cip->chroma_type = gst_vaapi_video_format_get_chroma_type (format);
|
cip->chroma_type = gst_vaapi_video_format_get_chroma_type (format);
|
||||||
cip->width = GST_VAAPI_ENCODER_WIDTH (encoder);
|
cip->width = GST_VAAPI_ENCODER_WIDTH (encoder);
|
||||||
|
@ -1168,7 +1168,7 @@ gst_vaapi_encoder_ensure_context_config (GstVaapiEncoder * encoder)
|
||||||
if (encoder->context)
|
if (encoder->context)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
init_context_info (encoder);
|
init_context_info (encoder, cip, get_profile (encoder));
|
||||||
encoder->context = gst_vaapi_context_new (encoder->display, cip);
|
encoder->context = gst_vaapi_context_new (encoder->display, cip);
|
||||||
return (encoder->context != NULL);
|
return (encoder->context != NULL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue