After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732719 - MPEG-2 video decoder generates incorrect timestamps
MPEG-2 video decoder generates incorrect timestamps
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 720305
 
 
Reported: 2014-07-04 05:16 UTC by Jan Schmidt
Modified: 2014-07-04 05:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch - always respect an input timestamp on MPEG-2 data (1.44 KB, patch)
2014-07-04 05:16 UTC, Jan Schmidt
committed Details | Review

Description Jan Schmidt 2014-07-04 05:16:45 UTC
Created attachment 279878 [details] [review]
Patch - always respect an input timestamp on MPEG-2 data

The timestamp generator in gstvaapidecoder_mpeg2.c always interpolates frame timestamps within a GOP, even when it's been fed input PTS for every frame.

That leads to incorrect output timestamps in some situations - for example live playback where input timestamps have been scaled based on arrival time from the network and no longer exactly match the declared framerate.
Comment 1 Gwenole Beauchesne 2014-07-04 05:42:49 UTC
Review of attachment 279878 [details] [review]:

LGTM. I don't know why I didn't use that pts parameter. :)
Comment 2 Gwenole Beauchesne 2014-07-04 05:43:38 UTC
commit 22dc8c42514e1d5d3f89d064e52b252f01fce54b
Author: Jan Schmidt <jan@centricular.com>
Date:   Fri Jul 4 15:13:32 2014 +1000

    decoder: mpeg2: respect any input PTS provided for a frame.
    
    The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
    frame timestamps within a GOP, even when it's been fed input PTS for
    every frame.
    
    That leads to incorrect output timestamps in some situations - for example
    live playback where input timestamps have been scaled based on arrival time
    from the network and don't exactly match the framerate.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=732719