[gstreamer-bugs] [Bug 624784] rtph264pay has wrong keyframe checks?

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jul 20 02:26:07 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=624784
  GStreamer | gst-plugins-good | git

Mark Nauwelaerts <mnauw> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mnauw at users.sourceforge.net

--- Comment #1 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2010-07-20 09:26:05 UTC ---
(In reply to comment #0)
> #define IS_ACCESS_UNIT(x) (((x) > 0x00) && ((x) < 0x06))
> 
> Reading from the spec, normal frames should be marked with 1, and in fact only
> IDR frames can be considered keyframes, so:
> 
> #define IS_ACCESS_UNIT(x) ((x) == 5)
> 

Spec (RFC 3984) says:
----
   Marker bit (M): 1 bit
      Set for the very last packet of the access unit indicated by the
      RTP timestamp, in line with the normal use of the M bit in video
      formats, to allow an efficient playout buffer handling.  For
      aggregation packets (STAP and MTAP), the marker bit in the RTP
      header MUST be set to the value that the marker bit of the last
      NAL unit of the aggregation packet would have been if it were
      transported in its own RTP packet.  Decoders MAY use this bit as
      an early indication of the last packet of an access unit, but MUST
      NOT rely on this property.
----

Where does that say anything about keyframe-ness?

In particular, the above check is indeed a rough check as to whether current
NAL (fragment) terminates Access Unit (in simple cases at least).

> I wonder why it works at all.

See above, because it is only an indication, not to be relied upon anyway.
AFAICS, rtph264depay does not even consider it.

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