[Bug 679443] [0.11] x264enc produces wrong timestamps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Sep 7 08:45:21 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=679443
  GStreamer | gst-plugins-ugly | 0.11.x

Mark Nauwelaerts <mnauw> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |mnauw at users.sourceforge.net
          Component|gst-plugins-base            |gst-plugins-ugly
         Resolution|                            |FIXED
   Target Milestone|HEAD                        |0.11.x
            Summary|[0.11] Videoencoder messes  |[0.11] x264enc produces
                   |up DTS                      |wrong timestamps

--- Comment #3 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2012-09-07 15:45:15 UTC ---
IMO, there is no reason to hack a particular codec lib's DTS/PTS interpretation
into the base classes.  Rather, one can accept that (in gstreamer sense/specs)
PTS and DTS as set on buffers should be equal for keyframes (as defined by the
baseclass and also long since assumed/established in e.g. gst-ffmpeg).

In that sense, this is a x264enc bug and following commit fixes things to have
it come up with proper timestamps which will play along nicely elsewhere (e.g.
not suprise muxers etc):

-ugly:
commit 839e75d5d145d486a5c114f8f9f7ea362d12866f
Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Fri Sep 7 17:38:18 2012 +0200

    x264enc: handle possibly negative DTS provided by codec

    ... by arranging for an offset such that DTS == PTS for keyframes,
    which is expected elsewhere to go along with semantics of PTS and DTS.

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

Also, for good measure, it's not very 'polite' to overwrite DTS if already set
by baseclass (and then only for keyframe), so let's not do that in baseclass,
but warn at least if they are then not equal as expected:

-base:
commit d4c1b160ef2efa037eaed203e3d73ba5a86e3cd2
Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Fri Sep 7 17:41:27 2012 +0200

    videoencoder: only set invalid DTS equal to PTS for keyframe

    Also add a bit more debug.

    See also https://bugzilla.gnome.org/show_bug.cgi?id=679443

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