From 31d326c9ee12e6c8da7b765c9968ac52ac29239f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Tue, 4 Apr 2017 14:39:59 +0200 Subject: [PATCH] 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 --- gst-libs/gst/vaapi/gstvaapiencoder.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder.c b/gst-libs/gst/vaapi/gstvaapiencoder.c index a1ec79136c..f4836e3990 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder.c @@ -604,14 +604,14 @@ get_default_chroma_type (GstVaapiEncoder * encoder, } 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 = GST_VAAPI_ENCODER_GET_CLASS (encoder)->class_data; cip->usage = GST_VAAPI_CONTEXT_USAGE_ENCODE; - cip->profile = get_profile (encoder); + cip->profile = profile; if (cdata->codec == GST_VAAPI_CODEC_JPEG) { cip->entrypoint = GST_VAAPI_ENTRYPOINT_PICTURE_ENCODE; } else { @@ -633,7 +633,7 @@ set_context_info (GstVaapiEncoder * encoder) const GstVideoFormat format = 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->width = GST_VAAPI_ENCODER_WIDTH (encoder); @@ -1168,7 +1168,7 @@ gst_vaapi_encoder_ensure_context_config (GstVaapiEncoder * encoder) if (encoder->context) return TRUE; - init_context_info (encoder); + init_context_info (encoder, cip, get_profile (encoder)); encoder->context = gst_vaapi_context_new (encoder->display, cip); return (encoder->context != NULL); }