GNOME Bugzilla – Bug 765095
vaapipostproc: doesn't resize when allocation query is different from negotiation caps and same color format
Last modified: 2016-04-29 08:44:54 UTC
Created attachment 326081 [details] sample file Since bug 753914, in vaapidecode, the allocation query can be different from the negotiated caps. When connecting to the vaapipostproc (as in vaapidecodebin the postprocessor will resize the frame to the negotiated, __if and only if__, some other parameter is activated to avoid the passthrough. If it is not, the surface won't be mapped into a image. Test case: forcing the passthrough gst-launch-1.0 filesrc location=sample.264 ! h264parse ! vaapidecodebin ! \ video/x-raw, format=NV12 ! videoconvert ! ximagesink The solution might be either: 1\ use the same parameters in the postproc allocation query which might required a similar patch in gstbasetransform as in bug 764421 2\ Break the passthrough if the allocation query is different from the negotiation caps, forcing the resizing
Created attachment 326115 [details] [review] vaapispostproc: resize if negotiated and allocation caps are different Since commit 859a2b2, in vaapidecode, allocation query can be different from the negotiated caps. When connecting the vaapidecoder to the vaapipostprocessor, the last one will resize the frame to the negotiated, if and only if, some other parameter is activated to avoid the passthrough. If it is not, the surface won't be mapped into a image. If not, the image won't be resized and the output buffer would be mapped. This patch will break the passthrough if the allocation query is different from the negotiation caps, forcing the resizing.
Comment on attachment 326115 [details] [review] vaapispostproc: resize if negotiated and allocation caps are different commit e519f2ea79c4bc174c9bd495d86acaf749933705 Author: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> Date: Fri Apr 15 17:57:25 2016 +0200 vaapipostproc: resize if negotiated and allocation caps are different