X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fget_bits.h;h=0a61c805b73f45bf353758efd0ccb6722d72ba02;hb=83a04f103d387a8b7f574d97d340d90f42fc18de;hp=0d3db1f3cf8fcb75d780c98a7dfbd81519c52243;hpb=24563c20f181cb9d7015e9595d9cb6846cf02dfa;p=ffmpeg diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h index 0d3db1f3cf8..0a61c805b73 100644 --- a/libavcodec/get_bits.h +++ b/libavcodec/get_bits.h @@ -539,6 +539,17 @@ void ff_free_vlc(VLC *vlc); index = SHOW_UBITS(name, gb, nb_bits) + level; \ level = table[index].level; \ n = table[index].len; \ + if (max_depth > 2 && n < 0) { \ + LAST_SKIP_BITS(name, gb, nb_bits); \ + if (need_update) { \ + UPDATE_CACHE(name, gb); \ + } \ + nb_bits = -n; \ + \ + index = SHOW_UBITS(name, gb, nb_bits) + level; \ + level = table[index].level; \ + n = table[index].len; \ + } \ } \ run = table[index].run; \ SKIP_BITS(name, gb, n); \