From 0e921e97c10f37c5ba2bc90cfb00248b633ed21a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 23 Dec 2008 21:05:47 +0000 Subject: Add get_ue_golomb_31() Originally committed as revision 16298 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/golomb.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libavcodec/golomb.h') diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h index 627fcdc40f..3c3f75987d 100644 --- a/libavcodec/golomb.h +++ b/libavcodec/golomb.h @@ -74,6 +74,23 @@ static inline int get_ue_golomb(GetBitContext *gb){ } } + /** + * read unsigned exp golomb code, constraint to a max of 31 + */ +static inline int get_ue_golomb_31(GetBitContext *gb){ + unsigned int buf; + + OPEN_READER(re, gb); + UPDATE_CACHE(re, gb); + buf=GET_CACHE(re, gb); + + buf >>= 32 - 9; + LAST_SKIP_BITS(re, gb, ff_golomb_vlc_len[buf]); + CLOSE_READER(re, gb); + + return ff_ue_golomb_vlc_code[buf]; +} + static inline int svq3_get_ue_golomb(GetBitContext *gb){ uint32_t buf; -- cgit v1.2.3