GNOME Bugzilla – Bug 739443
Enable autoplugging of vaapipostproc and allows to connect it with other video post processing elements like videoconvert and videoscale
Last modified: 2014-11-12 08:46:26 UTC
The following pipeline will fail in all occurrences, gst-launch-1.0 filesrc ! demuxer ! parser ! decoder ! vaapipostproc ! videoconvert ! vaapisink Reason: The vaapipostproc is setting output caps format as ENCODED which is the default value of the format property. This format "ENCODED" is not acceptable for element like videoconvert, videoscale..etc. This should be fixed before making vaapipostproc as the default deinterlacer element for a hardware accelerated pipeline. May be better to use one format from the peer_pad_query caps as default if user didn't set the format property for vaapipostproc to something other than "ENCODED". WDT?
Created attachment 289796 [details] [review] vaapipostproc: Fix the output video format setting
Created attachment 289959 [details] [review] vaapipostproc: Tweak the output video format setting to enable the autoplugging
Created attachment 289960 [details] [review] vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass Added the same Klass specifications used in other upstream video postprocessing elements like videoconvert, videoscale, videobalance and deinterlace. An example use case is for this is to help the playsinkto autoplug the hardware accelerated deinterlacer. I am preparing patches to upstream based on this. Please let me know if there is any objection on this.
Review of attachment 289960 [details] [review]: I didn't know we could provide multiple classes in there. OK. :)
Review of attachment 289959 [details] [review]: We probably need to factor this out more with e.g. some pieces of code we have in vaapidecode. IIRC, someone else also proposed such a patch but I don't immediately remember who/where. This looks OK to commit right now anyway.
commit 08bbab889bdd4f793455516a9f4e1e0e9a4a48a1 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon Nov 3 19:20:43 2014 +0200 vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass Added the same Klass specifications used in other upstream video postprocessing elements like videoconvert, videoscale, videobalance and deinterlace. An example use case is for this is to help the playsink to autoplug the hardware accelerated deinterlacer. commit 626e180fef9da611b2faa7a700599ed348b28d61 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon Nov 3 19:19:20 2014 +0200 vaapipostproc: Tweak the output video format setting to enable the autoplugging This is a workaround until auto-plugging is fixed when format=ENCODED + memory:VASurface caps feature are provided. Use the downstream negotiated video format as the output video format if the user didn't ask for the colorspace conversion explicitly. Usecase: This will help to connect elements like videoscale, videorate etc to vaapipostproc. https://bugzilla.gnome.org/show_bug.cgi?id=739443