summaryrefslogtreecommitdiff
path: root/sys/msdk
diff options
context:
space:
mode:
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>2018-06-07 15:28:44 -0800
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>2018-06-07 15:28:44 -0800
commit6cd12cb6a1a9d7ebe481d7f56e036fc5552db59c (patch)
treea8ba00653f896de9c0c66358a652dea1ebcf7b10 /sys/msdk
parent06f7d1f6c5de7796a656159208b0d8d6d4bf6205 (diff)
downloadgstreamer-plugins-bad-6cd12cb6a1a9d7ebe481d7f56e036fc5552db59c.tar.gz
msdk: vpp: Add filters to VideoParm before doing the Query
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
Diffstat (limited to 'sys/msdk')
-rw-r--r--sys/msdk/gstmsdkvpp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/msdk/gstmsdkvpp.c b/sys/msdk/gstmsdkvpp.c
index dae1c4d13..a20dd5173 100644
--- a/sys/msdk/gstmsdkvpp.c
+++ b/sys/msdk/gstmsdkvpp.c
@@ -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)",