comparison golomb.h @ 2525:b47af698085e libavcodec

shorten decoder by (Jeff Muizelaar <jrmuizel gmail com>)
author michael
date Sat, 26 Feb 2005 03:36:04 +0000
parents 6684c0e9e28f
children 926ea374947f
comparison
equal deleted inserted replaced
2524:673d048d48dc 2525:b47af698085e
282 static inline int get_sr_golomb_flac(GetBitContext *gb, int k, int limit, int esc_len){ 282 static inline int get_sr_golomb_flac(GetBitContext *gb, int k, int limit, int esc_len){
283 int v= get_ur_golomb_jpegls(gb, k, limit, esc_len); 283 int v= get_ur_golomb_jpegls(gb, k, limit, esc_len);
284 return (v>>1) ^ -(v&1); 284 return (v>>1) ^ -(v&1);
285 } 285 }
286 286
287 /**
288 * read unsigned golomb rice code (shorten).
289 */
290 static inline unsigned int get_ur_golomb_shorten(GetBitContext *gb, int k){
291 return get_ur_golomb_jpegls(gb, k, INT_MAX, 0);
292 }
293
294 /**
295 * read signed golomb rice code (shorten).
296 */
297 static inline int get_sr_golomb_shorten(GetBitContext* gb, int k)
298 {
299 int uvar = get_ur_golomb_jpegls(gb, k + 1, INT_MAX, 0);
300 if (uvar & 1)
301 return ~(uvar >> 1);
302 else
303 return uvar >> 1;
304 }
305
306
307
287 #ifdef TRACE 308 #ifdef TRACE
288 309
289 static inline int get_ue(GetBitContext *s, char *file, const char *func, int line){ 310 static inline int get_ue(GetBitContext *s, char *file, const char *func, int line){
290 int show= show_bits(s, 24); 311 int show= show_bits(s, 24);
291 int pos= get_bits_count(s); 312 int pos= get_bits_count(s);