Remove a NAL unit's trailing zero bytes even when dst_length is 1.
authorReinhard Nissl <rnissl@gmx.de>
Mon, 9 Apr 2007 13:39:35 +0000 (13:39 +0000)
committerDiego Biurrun <diego@biurrun.de>
Mon, 9 Apr 2007 13:39:35 +0000 (13:39 +0000)
commit6ac9696e774d0fd0905bf08415cc8c58ef1cb3e7
tree498a5b305f4446c57bc0c9571c20b440a124a3bf
parentff82e429cbf25599b857a6bb484145b372c115ba
Remove a NAL unit's trailing zero bytes even when dst_length is 1.
Consider the following byte sequence

    00 00 01 0a 00 00 00 01 09 ...
               ^  ^
               A  B

decode_nal() determines dst_length to be 1 (i. e. the byte between label
A and B above). However, this byte is a trailing zero byte as the spec
says the the current NAL unit is terminated by a byte sequence 00 00 00.

The current code used a loop to decrement dst_length accordingly. But the
loop doesn't start as the loop condition checks for dst_length > 1, which
should read dst_length > 0.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8689 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavcodec/h264.c