diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-02-22 12:09:33 -0800 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2012-02-26 10:03:14 +0100 |
commit | 25b4ed053f0e4c48b4b4afdcf84306bbd7752314 (patch) | |
tree | 7f5545595acf38186c34f17f8aaec8deb089636c | |
parent | e1f2a6a32b86fef0916338e21851c9b4f499f706 (diff) | |
download | ffmpeg-25b4ed053f0e4c48b4b4afdcf84306bbd7752314.tar.gz |
get_bits: add HAVE_BITS_REMAINING macro.
(cherry picked from commit b44b41633f110e9d938165e0f79c9d32191fc135)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r-- | libavcodec/get_bits.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h index 1668600b2d..ee47441899 100644 --- a/libavcodec/get_bits.h +++ b/libavcodec/get_bits.h @@ -120,10 +120,23 @@ for examples see get_bits, show_bits, skip_bits, get_vlc # define MIN_CACHE_BITS 25 #endif +#if UNCHECKED_BITSTREAM_READER #define OPEN_READER(name, gb) \ unsigned int name##_index = (gb)->index; \ unsigned int av_unused name##_cache = 0 +#define HAVE_BITS_REMAINING(name, gb) 1 +#else +#define OPEN_READER(name, gb) \ + unsigned int name##_index = (gb)->index; \ + unsigned int av_unused name##_cache = 0; \ + unsigned int av_unused name##_size_plus8 = \ + (gb)->size_in_bits_plus8 + +#define HAVE_BITS_REMAINING(name, gb) \ + name##_index < name##_size_plus8 +#endif + #define CLOSE_READER(name, gb) (gb)->index = name##_index #ifdef BITSTREAM_READER_LE @@ -156,7 +169,7 @@ for examples see get_bits, show_bits, skip_bits, get_vlc # define SKIP_COUNTER(name, gb, num) name##_index += (num) #else # define SKIP_COUNTER(name, gb, num) \ - name##_index = FFMIN((gb)->size_in_bits_plus8, name##_index + (num)) + name##_index = FFMIN(name##_size_plus8, name##_index + (num)) #endif #define SKIP_BITS(name, gb, num) do { \ |