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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Mar 31 16:18:05 UTC 2016


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

--- Comment #3 from Jan Schmidt <thaytan at noraisin.net> ---
I put up a sample stream at
http://noraisin.net/down/h264_constrained_baseline.pcap

You can play it with

gst-launch-1.0 filesrc location=h264_constrained_baseline.pcap ! pcapparse !
application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96 !
rtph264depay ! vaapisink

If you check the logs, you'll see it that when it gets to the IDR, it has a
large backlog of frames that are all then decoded and output, even though they
could have been output earlier:

0:00:03.551815645  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_h264.c:3255:init_picture: <IDR>
0:00:03.551831009  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 16 (surface 0x04000003)
0:00:03.551851334  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 17 (surface 0x04000004)
0:00:03.551863345  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 18 (surface 0x04000005)
0:00:03.551873942  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 19 (surface 0x04000006)
0:00:03.551885331  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 20 (surface 0x04000007)
0:00:03.551895753  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 21 (surface 0x04000008)
0:00:03.551906464  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 22 (surface 0x04000009)
0:00:03.551916365  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 23 (surface 0x0400000a)
0:00:03.551926310  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:376:push_frame: push frame 24 (surface 0x0400000b)
0:00:03.551934691  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_h264.c:1893:init_picture_poc_0: decode picture order count type
0
0:00:03.551942149  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_h264.c:4128:decode_slice: slice (29599 bytes)
0:00:03.551993820  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_h264.c:2147:init_picture_refs_pic_num: decode picture numbers
0:00:03.551999397  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_h264.c:2826:exec_picture_refs_modification: execute
ref_pic_list_modification()
0:00:03.552005130  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder_objects.c:262:gst_vaapi_picture_decode: decode picture
0x0400000c
0:00:03.552156281  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 16 (surface 0x04000003)
0:00:03.552198621  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 17 (surface 0x04000004)
0:00:03.552208102  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 18 (surface 0x04000005)
0:00:03.552223381  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 19 (surface 0x04000006)
0:00:03.552235232  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 20 (surface 0x04000007)
0:00:03.552248771  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 21 (surface 0x04000008)
0:00:03.552258471  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 22 (surface 0x04000009)
0:00:03.552267505  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 23 (surface 0x0400000a)
0:00:03.552276886  4169       0xc520f0 DEBUG                  vaapi
gstvaapidecoder.c:397:pop_frame: pop frame 24 (surface 0x0400000b)

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