Browse code

get_bits: add HAVE_BITS_REMAINING macro.

Ronald S. Bultje authored on 2012/02/23 05:09:33
Showing 1 changed files
... ...
@@ -120,10 +120,23 @@ for examples see get_bits, show_bits, skip_bits, get_vlc
120 120
 #   define MIN_CACHE_BITS 25
121 121
 #endif
122 122
 
123
+#if UNCHECKED_BITSTREAM_READER
123 124
 #define OPEN_READER(name, gb)                   \
124 125
     unsigned int name##_index = (gb)->index;    \
125 126
     unsigned int av_unused name##_cache = 0
126 127
 
128
+#define HAVE_BITS_REMAINING(name, gb) 1
129
+#else
130
+#define OPEN_READER(name, gb)                   \
131
+    unsigned int name##_index = (gb)->index;    \
132
+    unsigned int av_unused name##_cache = 0;    \
133
+    unsigned int av_unused name##_size_plus8 =  \
134
+                (gb)->size_in_bits_plus8
135
+
136
+#define HAVE_BITS_REMAINING(name, gb)           \
137
+    name##_index < name##_size_plus8
138
+#endif
139
+
127 140
 #define CLOSE_READER(name, gb) (gb)->index = name##_index
128 141
 
129 142
 #ifdef BITSTREAM_READER_LE
... ...
@@ -156,7 +169,7 @@ for examples see get_bits, show_bits, skip_bits, get_vlc
156 156
 #   define SKIP_COUNTER(name, gb, num) name##_index += (num)
157 157
 #else
158 158
 #   define SKIP_COUNTER(name, gb, num) \
159
-    name##_index = FFMIN((gb)->size_in_bits_plus8, name##_index + (num))
159
+    name##_index = FFMIN(name##_size_plus8, name##_index + (num))
160 160
 #endif
161 161
 
162 162
 #define SKIP_BITS(name, gb, num) do {           \