diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-10-23 02:11:16 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-10-23 02:11:16 +0000 |
commit | 712a40b59a0f451a558d88db1f9f124463016f97 (patch) | |
tree | 82bc80e9b7a5ba09c01acf205c8ac1e20c44914f /src/libffmpeg/libavcodec/bitstream.h | |
parent | 640063a719556f8569fe848528b39660c6fc31a6 (diff) | |
download | xine-lib-712a40b59a0f451a558d88db1f9f124463016f97.tar.gz xine-lib-712a40b59a0f451a558d88db1f9f124463016f97.tar.bz2 |
big ffmpeg update
it is likely to break, so please keep both pieces
CVS patchset: 7767
CVS date: 2005/10/23 02:11:16
Diffstat (limited to 'src/libffmpeg/libavcodec/bitstream.h')
-rw-r--r-- | src/libffmpeg/libavcodec/bitstream.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libffmpeg/libavcodec/bitstream.h b/src/libffmpeg/libavcodec/bitstream.h index 0e60ea1d4..0182b630b 100644 --- a/src/libffmpeg/libavcodec/bitstream.h +++ b/src/libffmpeg/libavcodec/bitstream.h @@ -53,6 +53,11 @@ typedef struct PutBitContext { static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size) { + if(buffer_size < 0) { + buffer_size = 0; + buffer = NULL; + } + s->buf = buffer; s->buf_end = s->buf + buffer_size; #ifdef ALT_BITSTREAM_WRITER @@ -95,7 +100,7 @@ static inline void flush_put_bits(PutBitContext *s) } void align_put_bits(PutBitContext *s); -void put_string(PutBitContext * pbc, char *s, int put_zero); +void ff_put_string(PutBitContext * pbc, char *s, int put_zero); /* bit input */ /* buffer, buffer_end and size_in_bits must be present and used by every reader */ @@ -672,7 +677,11 @@ static inline void skip_bits1(GetBitContext *s){ static inline void init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size) { - const int buffer_size= (bit_size+7)>>3; + int buffer_size= (bit_size+7)>>3; + if(buffer_size < 0 || bit_size < 0) { + buffer_size = bit_size = 0; + buffer = NULL; + } s->buffer= buffer; s->size_in_bits= bit_size; |