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
This commit is contained in:
Sreerenj Balachandran 2018-06-07 15:28:44 -08:00
parent 06f7d1f6c5
commit 6cd12cb6a1

View 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)",