[Bug 753914] vaapidecode: Always report cropped resolution in src caps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Mar 24 15:50:47 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=753914

sreerenj <bsreerenj at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #15 from sreerenj <bsreerenj at gmail.com> ---
Pushed, clsoing..

Note: vaapidecode ! xvimagesink will fail if there is crop_meta attached to the
buffer. As per the discussion here in #762543, there is a fix need in
gst_video_frame_map () to handle the crop values.

OR
We should replace the crop_meta implementation with GstVideoAlignment , which
requires some major rewrite in gstvaapivideomemory, gstvaapipostproc,
gstvaapisink and other places too.

commit 959d14ce8a9e0de184dfc7e73090e5287fa1f11e
Author: Sreerenj Balachandran <sreerenj.balachandran at intel.com>
Date:   Thu Mar 24 15:09:43 2016 +0200

    vaapidecode: Fix decide_allocation handling

    Set the already configured pool in decide_allocation query
    in cases where pool renegotiation is not required.

    https://bugzilla.gnome.org/show_bug.cgi?id=753914

commit 6b17ed90601e3849c657d9c233f247cff744d3f6
Author: Sreerenj Balachandran <sreerenj.balachandran at intel.com>
Date:   Thu Mar 24 15:09:15 2016 +0200

    vaapidecode: Derive and save the decoded surface format

    After the decoding of first frame, try to extract the exact
    decoded surface format using vaDeriveImage and keep this
    as the format in decoded_info.

    https://bugzilla.gnome.org/show_bug.cgi?id=753914

commit 859a2b2f4f15fda98fd831555295f37f0db07802
Author: Sreerenj Balachandran <sreerenj.balachandran at intel.com>
Date:   Thu Mar 24 15:08:50 2016 +0200

    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

commit c2aa405a3eeabd3621414d4d5f0190223461d96a
Author: Sreerenj Balachandran <sreerenj.balachandran at intel.com>
Date:   Thu Mar 24 15:08:27 2016 +0200

    vaapidecode: Delay the output format setting until we have a decoded
surface

    This will help to consoidate the out caps negotiation to a single place,
    which will make the code simpler, allows to get the exact decoded format
    if needed and the selected chroma type too.

    https://bugzilla.gnome.org/show_bug.cgi?id=753914

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list