Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only...
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 24 Mar 2016 13:08:50 +0000 (15:08 +0200)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 24 Mar 2016 13:08:50 +0000 (15:08 +0200)
commit859a2b2f4f15fda98fd831555295f37f0db07802
tree944d38e0649b5f53dafc9a52c0ba0d0bb248b098
parentc2aa405a3eeabd3621414d4d5f0190223461d96a
Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed

-- Maintaing decoded surface resoluton and actual display resoultion separately
-- Before pushing every frames downstream, check for the requirement of pool negoation and
output_state negotiation: This is needed to avoid multiple issuses with cropping,
multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
This is slight overhead, but safe enough. Optimization could be possible though.

https://bugzilla.gnome.org/show_bug.cgi?id=753914
gst/vaapi/gstvaapidecode.c
gst/vaapi/gstvaapidecode.h
gst/vaapi/gstvaapipluginbase.c
gst/vaapi/gstvaapipluginbase.h
gst/vaapi/gstvaapipostproc.c