From 6cd12cb6a1a9d7ebe481d7f56e036fc5552db59c Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Thu, 7 Jun 2018 15:28:44 -0800 Subject: [PATCH] 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 --- sys/msdk/gstmsdkvpp.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/msdk/gstmsdkvpp.c b/sys/msdk/gstmsdkvpp.c index dae1c4d13f..a20dd51735 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)",