[Bug 732203] h264parse: improve handling of byte-stream/au format

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jul 1 07:34:30 PDT 2014


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

Gwenole Beauchesne <gb.devel> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #23 from Gwenole Beauchesne <gb.devel at gmail.com> 2014-07-01 14:34:24 UTC ---
commit 804c0ac27bb011dc3e4a62b547c7cbed34666612
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Wed Jun 25 17:19:00 2014 +0200

    tests: h264parse: add test for byte-stream/au output.

    Check that conversion to byte-stream/au formats work and that we
    can effectively drop broken/invalid NAL units from the resulting
    access unit buffer.

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

    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

commit fb2263632524296f499812cdc548f4b3f9a60dd9
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Wed Jun 25 18:47:55 2014 +0200

    tests: h264parse: check SEI buffering_period() message is output.

    If an SEI NAL unit with a buffering_period() message is inserted
    between an SPS and PPS NAL unit, check that the output buffer still
    contain it. i.e. make sure that this SEI message is not dropped.

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

    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

commit 7d44a51bfe6f54061956be9d31590fa11319a8ef
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Thu Jun 26 09:44:26 2014 +0200

    h264parse: fix collection of access units to preserve config headers.

    Always use a GstAdapter when collecting access units (alignment="au")
    in either byte-stream or avcC format. This is required to properly
    preserve config headers like SPS and PPS when invalid or broken NAL
    units are subsequently parsed.

    More precisely, this fixes scenario like:
    <SPS> <PPS> <invalid-NAL> <slice>

    where we used to reset the output frame buffer when an invalid or
    broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
    preventing the next slice unit to be decoded, should this also
    represent any valid data.

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

    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

commit 34c2cfd4ddcc370a273d5c86d403e421a94d0157
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Wed Jun 25 13:14:10 2014 +0200

    h264parse: improve conditions for skipping NAL units.

    Carefully track cases when skipping broken or invalid NAL units is
    necessary. In particular, always allow NAL units to be processed
    and let that gst_h264_parse_process_nal() function decide on whether
    the current NAL needs to be dropped or not.

    This fixes parsing of streams with SEI NAL buffering_period() message
    inserted between SPS and PPS, or SPS-Ext NAL following a traditional
    SPS NAL unit, among other cases too.

    Practical examples from the H.264 AVC conformance suite include
    alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
    when parsing in stream-format=byte-stream,alignment=au mode.

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

    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

commit 7bb6443bfbaaddfe1f48617ba5f58518053736ab
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Wed Jun 25 11:06:41 2014 +0200

    h264parse: introduce new state tracking variables.

    Improve parser state tracking by introducing new flags reflecting
    it: "got-sps", "got-pps" and "got-slice". This is an addition for
    robustness purposes.

    Older have_sps and have_pps variables are kept because they have
    a different meaning. i.e. they are used for deciding on when to
    submit updated caps or not, and rather mean "have new SPS/PPS to
    be submitted?"

    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

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