Mercurial > libavcodec.hg
diff 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 |
line wrap: on
line diff
--- a/golomb.h Fri Feb 25 15:06:21 2005 +0000 +++ b/golomb.h Sat Feb 26 03:36:04 2005 +0000 @@ -284,6 +284,27 @@ return (v>>1) ^ -(v&1); } +/** + * read unsigned golomb rice code (shorten). + */ +static inline unsigned int get_ur_golomb_shorten(GetBitContext *gb, int k){ + return get_ur_golomb_jpegls(gb, k, INT_MAX, 0); +} + +/** + * read signed golomb rice code (shorten). + */ +static inline int get_sr_golomb_shorten(GetBitContext* gb, int k) +{ + int uvar = get_ur_golomb_jpegls(gb, k + 1, INT_MAX, 0); + if (uvar & 1) + return ~(uvar >> 1); + else + return uvar >> 1; +} + + + #ifdef TRACE static inline int get_ue(GetBitContext *s, char *file, const char *func, int line){