summaryrefslogtreecommitdiff
path: root/libavcodec/golomb.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/golomb.h')
-rw-r--r--libavcodec/golomb.h17
1 files changed, 17 insertions, 0 deletions
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;