[gstreamer-bugs] [Bug 639681] [ffdec_wmv3] regression: video very unsmooth with various mms streams

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Jan 16 11:34:32 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=639681
  GStreamer | gst-ffmpeg | git

--- Comment #2 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2011-01-16 19:34:26 UTC ---
Happens even with video downloaded to local file. Watch the initial sequence of
the 20071011 clip closely, quite noticable there.

Something funny going on with timestamp interpolation: note the 10ms frame
durations and the  jump from 4.3secs to 5.6secs:

$ gst-launch-0.10 uridecodebin
uri=file:///home/tpm/samples/639681-mms-Halvseint_11_10_07_1000_296971_20071011_222500-video-occasionally-freezes.wmv
 ! video/x-raw-yuv ! fakesink

timestamp: 0:00:04.154000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.194000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.234000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.235000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.236000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.237000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.238000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.239000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.240000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.241000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.242000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.243000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.244000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.245000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.285000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.286000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.287000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.288000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.289000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.290000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.291000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.292000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.293000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.294000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.295000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.296000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.297000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.298000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.299000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.300000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.301000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.302000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.303000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.630000000, duration: 0:00:00.001000000, flags:   1
timestamp: 0:00:05.631000000, duration: 0:00:00.040000000, flags: 257

Compare this to what the demuxer outputs:

$ gst-launch-0.10
file:///home/tpm/samples/639681-mms-Halvseint_11_10_07_1000_296971_20071011_222500-video-occasionally-freezes.wmv
 ! asfdemux ! video/x-wmv ! fakesink


timestamp: 0:00:04.150000000, duration: 0:00:00.040000000, flags: 256
timestamp: 0:00:04.190000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.230000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.270000000, duration: 0:00:00.040000000, flags: 256
timestamp: 0:00:04.310000000, duration: 0:00:00.040000000, flags: 257
timestamp: 0:00:04.350000000, duration: 0:00:00.040000000, flags: 256
timestamp: 0:00:04.390000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.430000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.470000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.510000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.550000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.590000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.630000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.670000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.710000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.750000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.790000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.830000000, duration: 0:00:00.040000000, flags: 256
timestamp: 0:00:04.870000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.910000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:04.950000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:04.990000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.030000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.070000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.110000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.150000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.190000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.230000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.270000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.310000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.350000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.390000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.430000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.470000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.510000000, duration: 0:00:00.001000000, flags: 257
timestamp: 0:00:05.550000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.590000000, duration: 0:00:00.001000000, flags: 256
timestamp: 0:00:05.630000000, duration: 0:00:00.001000000, flags:   0

So basically the demuxer outputs bogus durations (not sure yet if this is a
parsing bug or brokenness in the stream) but correct timestamps.

It looks like ffdec_wmv3 then ignores the timestamps on the delta frames and
instead uses the (bogus) durations to calculate timestamps.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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