OSDN Git Service

Try to clarify that anyone using get_bits must check for buffer overrun
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 8 Sep 2009 08:30:56 +0000 (08:30 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 8 Sep 2009 08:30:56 +0000 (08:30 +0000)
themselves, get_bits does not do anything in that regard.

Originally committed as revision 19794 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/get_bits.h

index 877f909..19333c2 100644 (file)
@@ -489,6 +489,9 @@ static inline int check_marker(GetBitContext *s, const char *msg)
  * @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger then the actual read bits
  * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
  * @param bit_size the size of the buffer in bits
+ *
+ * While GetBitContext stores the buffer size, for performance reasons you are
+ * responsible for checking for the buffer end yourself (take advantage of the padding)!
  */
 static inline void init_get_bits(GetBitContext *s,
                    const uint8_t *buffer, int bit_size)