libavcodec/takdec.c:435: error: Integer Overflow L2
  (32 - [-1+min(64, `s->bc.bits_left`), -1+max(64, `s->bc.bits_left`)]):unsigned32 by call to `bitstream_read`.

libavcodec/takdec.c:422:1: Parameter `s->bc.bits_left`
420. }
421. 
422. static int decode_subframe(TAKDecContext *s, int32_t *decoded,
     ^
423.                            int subframe_size, int prev_subframe_size)
424. {

libavcodec/takdec.c:432:10: Call
430.     memset(filter, 0, MAX_PREDICTORS * sizeof(*filter));
431. 
432.     if (!bitstream_read_bit(bc))
              ^
433.         return decode_residues(s, decoded, subframe_size);
434. 

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
  143. 
  144. /* Return one bit from the buffer. */
  145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
       ^
  146. {
  147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
  148.         refill_64(bc);
  149. 
  150.     return get_val(bc, 1);
                  ^
  151. }
  152. 

libavcodec/bitstream.h:130:1: Parameter `n`
    128. }
    129. 
    130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
         ^
    131. {
    132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:139:5: Assignment
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

libavcodec/takdec.c:435:36: Call
433.         return decode_residues(s, decoded, subframe_size);
434. 
435.     filter_order = predictor_sizes[bitstream_read(bc, 4)];
                                        ^
436. 
437.     if (prev_subframe_size > 0 && bitstream_read_bit(bc)) {

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 - [-1+min(64, s->bc.bits_left), -1+max(64, s->bc.bits_left)]):unsigned32 by call to `bitstream_read` 
    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;

static inline void refill_32(BitstreamContext *bc)
{
    if (bc->ptr >= bc->buffer_end)
        return;
#ifdef BITSTREAM_READER_LE
    bc->bits       = (uint64_t)AV_RL32(bc->ptr) << bc->bits_left | bc->bits;
#else
    bc->bits       = bc->bits | (uint64_t)AV_RB32(bc->ptr) << (32 - bc->bits_left);
#endif
    bc->ptr       += 4;
    bc->bits_left += 32;
}
['static int decode_subframe(TAKDecContext *s, int32_t *decoded,\n                           int subframe_size, int prev_subframe_size)\n{\n    LOCAL_ALIGNED_16(int16_t, filter, [MAX_PREDICTORS]);\n    BitstreamContext *bc = &s->bc;\n    int i, ret;\n    int dshift, size, filter_quant, filter_order;\n    memset(filter, 0, MAX_PREDICTORS * sizeof(*filter));\n    if (!bitstream_read_bit(bc))\n        return decode_residues(s, decoded, subframe_size);\n    filter_order = predictor_sizes[bitstream_read(bc, 4)];\n    if (prev_subframe_size > 0 && bitstream_read_bit(bc)) {\n        if (filter_order > prev_subframe_size)\n            return AVERROR_INVALIDDATA;\n        decoded       -= filter_order;\n        subframe_size += filter_order;\n        if (filter_order > subframe_size)\n            return AVERROR_INVALIDDATA;\n    } else {\n        int lpc_mode;\n        if (filter_order > subframe_size)\n            return AVERROR_INVALIDDATA;\n        lpc_mode = bitstream_read(bc, 2);\n        if (lpc_mode > 2)\n            return AVERROR_INVALIDDATA;\n        if ((ret = decode_residues(s, decoded, filter_order)) < 0)\n            return ret;\n        if (lpc_mode)\n            decode_lpc(decoded, lpc_mode, filter_order);\n    }\n    dshift = bits_esc4(bc);\n    size   = bitstream_read_bit(bc) + 6;\n    filter_quant = 10;\n    if (bitstream_read_bit(bc)) {\n        filter_quant -= bitstream_read(bc, 3) + 1;\n        if (filter_quant < 3)\n            return AVERROR_INVALIDDATA;\n    }\n    decode_filter_coeffs(s, filter_order, size, filter_quant, filter);\n    if ((ret = decode_residues(s, &decoded[filter_order],\n                               subframe_size - filter_order)) < 0)\n        return ret;\n    av_fast_malloc(&s->residues, &s->residues_buf_size,\n                   FFALIGN(subframe_size + 16, 16) * sizeof(*s->residues));\n    if (!s->residues)\n        return AVERROR(ENOMEM);\n    memset(s->residues, 0, s->residues_buf_size);\n    for (i = 0; i < filter_order; i++)\n        s->residues[i] = *decoded++ >> dshift;\n    for (i = 0; i < subframe_size - filter_order; i++) {\n        int v = 1 << (filter_quant - 1);\n        v += s->adsp.scalarproduct_int16(&s->residues[i], filter,\n                                         FFALIGN(filter_order, 16));\n        v = (av_clip_intp2(v >> filter_quant, 13) << dshift) - *decoded;\n        *decoded++ = v;\n        s->residues[filter_order + i] = v >> dshift;\n    }\n    emms_c();\n    return 0;\n}', 'static inline unsigned bitstream_read_bit(BitstreamContext *bc)\n{\n    if (!bc->bits_left)\n        refill_64(bc);\n    return get_val(bc, 1);\n}', 'static inline uint64_t get_val(BitstreamContext *bc, unsigned n)\n{\n#ifdef BITSTREAM_READER_LE\n    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);\n    bc->bits >>= n;\n#else\n    uint64_t ret = bc->bits >> (64 - n);\n    bc->bits <<= n;\n#endif\n    bc->bits_left -= n;\n    return ret;\n}', 'static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)\n{\n    if (!n)\n        return 0;\n    if (n > bc->bits_left) {\n        refill_32(bc);\n        if (bc->bits_left < 32)\n            bc->bits_left = n;\n    }\n    return get_val(bc, n);\n}', 'static inline void refill_32(BitstreamContext *bc)\n{\n    if (bc->ptr >= bc->buffer_end)\n        return;\n#ifdef BITSTREAM_READER_LE\n    bc->bits       = (uint64_t)AV_RL32(bc->ptr) << bc->bits_left | bc->bits;\n#else\n    bc->bits       = bc->bits | (uint64_t)AV_RB32(bc->ptr) << (32 - bc->bits_left);\n#endif\n    bc->ptr       += 4;\n    bc->bits_left += 32;\n}']