From: He Junyan Date: Fri, 29 Mar 2019 05:33:41 +0000 (+0800) Subject: libs: Change the parameter setting order when encode picture. X-Git-Tag: 1.19.3~503^2~557 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6669a7fc575fbbb6dc82fcbcd4d4491e75049e51;p=platform%2Fupstream%2Fgstreamer.git libs: Change the parameter setting order when encode picture. The order in gst_vaapi_enc_picture_encode when encoding one picture is not very correct. The misc parameters are set before the picture parameters. Some of the misc parameters such as ROI may change the current picture parameters. But the later setting of picture parameter will re-init all picture related parameters and clear the previous setting. The right order should be picture parameter first and then misc parameters. Signed-off-by: He Junyan --- diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_objects.c b/gst-libs/gst/vaapi/gstvaapiencoder_objects.c index f31181e..3227607 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_objects.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_objects.c @@ -555,6 +555,10 @@ gst_vaapi_enc_picture_encode (GstVaapiEncPicture * picture) return FALSE; } + /* Submit Picture parameter */ + if (!do_encode (va_display, va_context, &picture->param_id, &picture->param)) + return FALSE; + /* Submit Misc Params */ for (i = 0; i < picture->misc_params->len; i++) { GstVaapiEncMiscParam *const misc = @@ -563,10 +567,6 @@ gst_vaapi_enc_picture_encode (GstVaapiEncPicture * picture) return FALSE; } - /* Submit Picture parameter */ - if (!do_encode (va_display, va_context, &picture->param_id, &picture->param)) - return FALSE; - /* Submit Slice parameters */ for (i = 0; i < picture->slices->len; i++) { GstVaapiEncSlice *const slice = g_ptr_array_index (picture->slices, i);