msdk: vpp: fix the filter count in mfxExtVPPDoUse
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 6 Jun 2018 01:01:13 +0000 (17:01 -0800)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 6 Jun 2018 01:01:13 +0000 (17:01 -0800)
Repostion the mfxExtVPPDoUse enabling code
so that it will get the filter algorithm count correctly.

sys/msdk/gstmsdkvpp.c

index 5391107..dae1c4d 100644 (file)
@@ -830,16 +830,6 @@ ensure_filters (GstMsdkVPP * thiz)
     n_filters++;
   }
 
-  /* mfxExtVPPDoUse */
-  if (n_filters) {
-    mfxExtVPPDoUse *mfx_vpp_douse = &thiz->mfx_vpp_douse;
-    mfx_vpp_douse->Header.BufferId = MFX_EXTBUFF_VPP_DOUSE;
-    mfx_vpp_douse->Header.BufferSz = sizeof (mfxExtVPPDoUse);
-    mfx_vpp_douse->NumAlg = n_filters;
-    mfx_vpp_douse->AlgList = thiz->max_filter_algorithms;
-    gst_msdkvpp_add_extra_param (thiz, (mfxExtBuffer *) mfx_vpp_douse);
-  }
-
   /* Mirroring */
   if (thiz->flags & GST_MSDK_FLAG_MIRRORING) {
     mfxExtVPPMirroring *mfx_mirroring = &thiz->mfx_mirroring;
@@ -873,6 +863,16 @@ ensure_filters (GstMsdkVPP * thiz)
         MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION;
     n_filters++;
   }
+
+  /* mfxExtVPPDoUse */
+  if (n_filters) {
+    mfxExtVPPDoUse *mfx_vpp_douse = &thiz->mfx_vpp_douse;
+    mfx_vpp_douse->Header.BufferId = MFX_EXTBUFF_VPP_DOUSE;
+    mfx_vpp_douse->Header.BufferSz = sizeof (mfxExtVPPDoUse);
+    mfx_vpp_douse->NumAlg = n_filters;
+    mfx_vpp_douse->AlgList = thiz->max_filter_algorithms;
+    gst_msdkvpp_add_extra_param (thiz, (mfxExtBuffer *) mfx_vpp_douse);
+  }
 }
 
 static void