}
/**
- * read unsigned exp golomb code, constraint to a max of 31
+ * read unsigned exp golomb code, constraint to a max of 31.
+ * the return value is undefined if the stored value exceeds 31.
*/
static inline int get_ue_golomb_31(GetBitContext *gb){
unsigned int buf;
log= av_log2(buf);
- if(log - k >= 32-MIN_CACHE_BITS && 32-log < limit){
+ if(log - k >= 32-MIN_CACHE_BITS+(MIN_CACHE_BITS==32) && 32-log < limit){
buf >>= log - k;
buf += (30-log)<<k;
LAST_SKIP_BITS(re, gb, 32 + k - log);