libavcodec/asvdec.c:93: error: Integer Overflow L2
  (32 - [0, `bc->bits_left` + 95]):unsigned32 by call to `asv2_get_bits`.

libavcodec/asvdec.c:88:1: Parameter `bc->bits_left`
86. }
87. 
88. static inline int asv2_get_level(BitstreamContext *bc)
    ^
89. {
90.     int code = bitstream_read_vlc(bc, asv2_level_vlc.table, ASV2_LEVEL_VLC_BITS, 1);

libavcodec/asvdec.c:90:16: Call
88. static inline int asv2_get_level(BitstreamContext *bc)
89. {
90.     int code = bitstream_read_vlc(bc, asv2_level_vlc.table, ASV2_LEVEL_VLC_BITS, 1);
                   ^
91. 
92.     if (code == 31)

libavcodec/bitstream.h:313:1: Parameter `(*table)[*]`
  311.  * If the VLC code is invalid and max_depth > 1, then the number of bits removed
  312.  * is undefined. */
  313. static inline int bitstream_read_vlc(BitstreamContext *bc, VLC_TYPE (*table)[2],
       ^
  314.                                      int bits, int max_depth)
  315. {

libavcodec/bitstream.h:319:5: Assignment
  317.     unsigned idx = bitstream_peek(bc, bits);
  318.     int code = table[idx][0];
  319.     int n    = table[idx][1];
           ^
  320. 
  321.     if (max_depth > 1 && n < 0) {

libavcodec/bitstream.h:329:5: Call
  327.         }
  328.     }
  329.     skip_remaining(bc, n);
           ^
  330. 
  331.     return code;

libavcodec/bitstream.h:230:1: Parameter `n`
    228. }
    229. 
    230. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    231. {
    232. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:237:5: Assignment
    235.     bc->bits <<= n;
    236. #endif
    237.     bc->bits_left -= n;
             ^
    238. }
    239. 

libavcodec/asvdec.c:93:25: Call
91. 
92.     if (code == 31)
93.         return (int8_t) asv2_get_bits(bc, 8);
                            ^
94.     else
95.         return code - 31;

libavcodec/asvdec.c:73:1: Parameter `bc->bits_left`
  71. 
  72. // FIXME write a reversed bitstream reader to avoid the double reverse
  73. static inline int asv2_get_bits(BitstreamContext *bc, int n)
      ^
  74. {
  75.     return ff_reverse[bitstream_read(bc, n) << (8 - n)];

libavcodec/asvdec.c:75:23: Call
  73. static inline int asv2_get_bits(BitstreamContext *bc, int n)
  74. {
  75.     return ff_reverse[bitstream_read(bc, n) << (8 - n)];
                            ^
  76. }
  77. 

libavcodec/bitstream.h:183:1: Parameter `n`
    181. 
    182. /* Return n bits from the buffer. n has to be in the 0-32 range. */
    183. static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)
         ^
    184. {
    185.     if (!n)

libavcodec/bitstream.h:189:9: Call
    187. 
    188.     if (n > bc->bits_left) {
    189.         refill_32(bc);
                 ^
    190.         if (bc->bits_left < 32)
    191.             bc->bits_left = n;

libavcodec/bitstream.h:60:1: <RHS trace>
58. }
59. 
60. static inline void refill_32(BitstreamContext *bc)
    ^
61. {
62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:60:1: Parameter `bc->bits_left`
      58. }
      59. 
      60. static inline void refill_32(BitstreamContext *bc)
          ^
      61. {
      62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:68:5: Binary operation: (32 - [0, bc->bits_left + 95]):unsigned32 by call to `asv2_get_bits` 
      66.     bc->bits       = (uint64_t)AV_RL32(bc->ptr) << bc->bits_left | bc->bits;
      67. #else
      68.     bc->bits       = bc->bits | (uint64_t)AV_RB32(bc->ptr) << (32 - bc->bits_left);
              ^
      69. #endif
      70.     bc->ptr       += 4;
