[Bug 762509] New: H.264 decoder stores too many pictures in the DPB before output

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Feb 23 05:45:13 UTC 2016


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

            Bug ID: 762509
           Summary: H.264 decoder stores too many pictures in the DPB
                    before output
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: thaytan at noraisin.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

Created attachment 321918
  --> https://bugzilla.gnome.org/attachment.cgi?id=321918&action=edit
debug log showing number of pictures in DPB

The H.264 VAAPI decoder only outputs a frame if the DPB has as many frames as
the DPB size (as taken from the maximum of the level/profile info and the SPS
num_ref_frames), which means it ends up decoding and storing lots of decoded
frames which could otherwise be already output.

The frames are then all output together when an IDR arrives. Even in a sequence
with only I & P slices, the decoder accumulates many frames (up to 9 in the
attached log, to which I've added a printf showing the DPB growing and
shrinking).

That also means the VAAPI decoder's response to the latency query is way too
low, so the decoder won't work properly in a live playback scenario.

Attaching a patch for discussion which attempts to bump out pictures from the
DPB more often.

-- 
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