msdk: vpp: Add filters to VideoParm before doing the Query
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 7 Jun 2018 23:28:44 +0000 (15:28 -0800)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 7 Jun 2018 23:28:44 +0000 (15:28 -0800)
Make sure all the enabled filter structures are added in the
mfxVideoParm before doing the VPPQuery so that msdk
can do the input param validation

https://bugzilla.gnome.org/show_bug.cgi?id=796465

sys/msdk/gstmsdkvpp.c

index dae1c4d..a20dd51 100644 (file)
@@ -959,6 +959,15 @@ gst_msdkvpp_initialize (GstMsdkVPP * thiz)
   if (thiz->flags & GST_MSDK_FLAG_DEINTERLACE)
     thiz->param.vpp.Out.PicStruct = MFX_PICSTRUCT_PROGRESSIVE;
 
+  /* Enable the required filters */
+  ensure_filters (thiz);
+
+  /* Add exteneded buffers */
+  if (thiz->num_extra_params) {
+    thiz->param.NumExtParam = thiz->num_extra_params;
+    thiz->param.ExtParam = thiz->extra_params;
+  }
+
   /* validate parameters and allow the Media SDK to make adjustments */
   status = MFXVideoVPP_Query (session, &thiz->param, &thiz->param);
   if (status < MFX_ERR_NONE) {
@@ -970,18 +979,9 @@ gst_msdkvpp_initialize (GstMsdkVPP * thiz)
         msdk_status_to_string (status));
   }
 
-  /* Enable the required filters */
-  ensure_filters (thiz);
-
   /* set passthrough according to filter operation change */
   gst_msdkvpp_set_passthrough (thiz);
 
-  /* Add exteneded buffers */
-  if (thiz->num_extra_params) {
-    thiz->param.NumExtParam = thiz->num_extra_params;
-    thiz->param.ExtParam = thiz->extra_params;
-  }
-
   status = MFXVideoVPP_QueryIOSurf (session, &thiz->param, request);
   if (status < MFX_ERR_NONE) {
     GST_ERROR_OBJECT (thiz, "VPP Query IO surfaces failed (%s)",