After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739443 - Enable autoplugging of vaapipostproc and allows to connect it with other video post processing elements like videoconvert and videoscale
Enable autoplugging of vaapipostproc and allows to connect it with other vide...
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal major
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on: 687182
Blocks: 731852
 
 
Reported: 2014-10-31 10:44 UTC by sreerenj
Modified: 2014-11-12 08:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vaapipostproc: Fix the output video format setting (2.21 KB, patch)
2014-11-01 18:09 UTC, sreerenj
none Details | Review
vaapipostproc: Tweak the output video format setting to enable the autoplugging (2.26 KB, patch)
2014-11-04 05:00 UTC, sreerenj
accepted-commit_now Details | Review
vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass (1.21 KB, patch)
2014-11-04 05:09 UTC, sreerenj
accepted-commit_now Details | Review

Description sreerenj 2014-10-31 10:44:02 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?
Comment 1 sreerenj 2014-11-01 18:09:42 UTC
Created attachment 289796 [details] [review]
vaapipostproc: Fix the output video format setting
Comment 2 sreerenj 2014-11-04 05:00:25 UTC
Created attachment 289959 [details] [review]
vaapipostproc: Tweak the output video format setting to enable the autoplugging
Comment 3 sreerenj 2014-11-04 05:09:59 UTC
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.
Comment 4 Gwenole Beauchesne 2014-11-12 06:33:52 UTC
Review of attachment 289960 [details] [review]:

I didn't know we could provide multiple classes in there. OK. :)
Comment 5 Gwenole Beauchesne 2014-11-12 06:35:13 UTC
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.
Comment 6 Gwenole Beauchesne 2014-11-12 08:46:26 UTC
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