vaapipostproc: change the way of handling deinterlace

The current vaapipostproc calls driver's video processing
pipeline for deinterlacing only if it is Advance deinterlacing.
Modify in the way that it always tries with driver's video
processing pipeline for deinterlacing, and falls back to software
method of appending picture structure meta data only if it fails
with driver's method.

https://bugzilla.gnome.org/show_bug.cgi?id=797095
This commit is contained in:
Soon, Thean Siew 2018-10-04 02:20:10 +08:00 committed by Víctor Manuel Jáquez Leal
parent b1b36a44a4
commit ee27377cb3

View file

@ -1314,9 +1314,7 @@ gst_vaapipostproc_transform (GstBaseTransform * trans, GstBuffer * inbuf,
ret = GST_FLOW_NOT_SUPPORTED;
if (postproc->flags) {
/* Use VA/VPP extensions to process this frame */
if (postproc->has_vpp &&
(postproc->flags != GST_VAAPI_POSTPROC_FLAG_DEINTERLACE ||
deint_method_is_advanced (postproc->deinterlace_method))) {
if (postproc->has_vpp) {
ret = gst_vaapipostproc_process_vpp (trans, buf, outbuf);
if (ret != GST_FLOW_NOT_SUPPORTED)
goto done;