comparison common.h @ 144:cb5dabd00ba2 libavcodec

- Bug fix on inter MCBPC table for inter+q. - H.263/H.263+ decoder now knows GOB start codes. - H.263/H.263+ decoder now returns the size of the stream on the first call. - Added show_bits() functions to see the buffer without loosing the bits. - TODO: H.263v1 UMV parsing is buggy.
author pulento
date Sat, 03 Nov 2001 00:49:53 +0000
parents bec00a2f18e2
children ae0516eadae2
comparison
equal deleted inserted replaced
143:35e3ced6cfd9 144:cb5dabd00ba2
194 194
195 void init_get_bits(GetBitContext *s, 195 void init_get_bits(GetBitContext *s,
196 UINT8 *buffer, int buffer_size); 196 UINT8 *buffer, int buffer_size);
197 197
198 unsigned int get_bits_long(GetBitContext *s, int n); 198 unsigned int get_bits_long(GetBitContext *s, int n);
199 unsigned int show_bits_long(GetBitContext *s, int n);
199 200
200 static inline unsigned int get_bits(GetBitContext *s, int n){ 201 static inline unsigned int get_bits(GetBitContext *s, int n){
201 if(s->bit_cnt>=n){ 202 if(s->bit_cnt>=n){
202 /* most common case here */ 203 /* most common case here */
203 unsigned int val = s->bit_buf >> (32 - n); 204 unsigned int val = s->bit_buf >> (32 - n);
221 st_bit_counts[st_current_index]++; 222 st_bit_counts[st_current_index]++;
222 #endif 223 #endif
223 return val; 224 return val;
224 } 225 }
225 return get_bits_long(s,1); 226 return get_bits_long(s,1);
227 }
228
229 /* This function is identical to get_bits(), the only */
230 /* diference is that it doesn't touch the buffer */
231 /* it is usefull to see the buffer. */
232 static inline unsigned int show_bits(GetBitContext *s, int n)
233 {
234 if(s->bit_cnt>=n) {
235 /* most common case here */
236 unsigned int val = s->bit_buf >> (32 - n);
237 return val;
238 }
239 return show_bits_long(s,n);
226 } 240 }
227 241
228 static inline void skip_bits(GetBitContext *s, int n){ 242 static inline void skip_bits(GetBitContext *s, int n){
229 if(s->bit_cnt>=n){ 243 if(s->bit_cnt>=n){
230 /* most common case here */ 244 /* most common case here */