diff options
author | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-01-20 17:24:54 -0300 |
---|---|---|
committer | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-01-22 08:36:30 -0300 |
commit | 4f0fc9a16fe0e340c48107cf62d17f75302d30d0 (patch) | |
tree | 02143e1dba28417188674d84a8d81e9904d8dad5 /gst-libs/gst/codecparsers/gsth264parser.c | |
parent | 99c2aa14c363c087ca690a698c40e11fb84ca118 (diff) | |
download | gstreamer-plugins-bad-4f0fc9a16fe0e340c48107cf62d17f75302d30d0.tar.gz |
h264parser: remove trailling 0x00 bytes as the spec doesn't allow them
The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.
So our parser should strip any trailling 0x00.
https://bugzilla.gnome.org/show_bug.cgi?id=721384
Diffstat (limited to 'gst-libs/gst/codecparsers/gsth264parser.c')
-rw-r--r-- | gst-libs/gst/codecparsers/gsth264parser.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c index 93bea9735..4f0f986cc 100644 --- a/gst-libs/gst/codecparsers/gsth264parser.c +++ b/gst-libs/gst/codecparsers/gsth264parser.c @@ -1283,7 +1283,10 @@ gst_h264_parser_identify_nalu (GstH264NalParser * nalparser, return GST_H264_PARSER_NO_NAL_END; } - if (off2 > 0 && data[nalu->offset + off2 - 1] == 00) + /* Mini performance improvement: + * We could have a way to store how many 0s were skipped to avoid + * parsing them again on the next NAL */ + while (off2 > 0 && data[nalu->offset + off2 - 1] == 00) off2--; nalu->size = off2; |