[FFmpeg-cvslog] get_bits: add HAVE_BITS_REMAINING macro.
Ronald S. Bultje
git at videolan.org
Sat Feb 25 04:28:16 CET 2012
ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Wed Feb 22 12:09:33 2012 -0800| [b44b41633f110e9d938165e0f79c9d32191fc135] | committer: Ronald S. Bultje
get_bits: add HAVE_BITS_REMAINING macro.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b44b41633f110e9d938165e0f79c9d32191fc135
---
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 158e6d2..64393bc 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 { \
More information about the ffmpeg-cvslog
mailing list