libavcodec/wmavoice.c:1321: error: Integer Overflow L2
  ([0, +oo] - 1):unsigned32 by call to `bitstream_read_bit`.

libavcodec/wmavoice.c:1274:1: Parameter `bc->bits_left`
1272.  * @note see #synth_block().
1273.  */
1274. static void synth_block_fcb_acb(WMAVoiceContext *s, BitstreamContext *bc,
      ^
1275.                                 int block_idx, int size,
1276.                                 int block_pitch_sh2,

libavcodec/wmavoice.c:1321:30: Call
1319.             int pos1, pos2;
1320. 
1321.             sign           = bitstream_read_bit(bc) ? 1.0 : -1.0;
                                   ^
1322.             pos1           = bitstream_read(bc, offset_nbits);
1323.             fcb.x[fcb.n]   = n + 5 * pos1;

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: <LHS trace>
128. }
129. 
130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
     ^
131. {
132. #ifdef BITSTREAM_READER_LE

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

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

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: Binary operation: ([0, +oo] - 1):unsigned32 by call to `bitstream_read_bit` 
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
{
#ifdef BITSTREAM_READER_LE
    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);
    bc->bits >>= n;
#else
    uint64_t ret = bc->bits >> (64 - n);
    bc->bits <<= n;
#endif
    bc->bits_left -= n;
    return ret;
}
['static void synth_block_fcb_acb(WMAVoiceContext *s, BitstreamContext *bc,\n                                int block_idx, int size,\n                                int block_pitch_sh2,\n                                const struct frame_type_desc *frame_desc,\n                                float *excitation)\n{\n    static const float gain_coeff[6] = {\n        0.8169, -0.06545, 0.1726, 0.0185, -0.0359, 0.0458\n    };\n    float pulses[MAX_FRAMESIZE / 2], pred_err, acb_gain, fcb_gain;\n    int n, idx, gain_weight;\n    AMRFixed fcb;\n    assert(size <= MAX_FRAMESIZE / 2);\n    memset(pulses, 0, sizeof(*pulses) * size);\n    fcb.pitch_lag      = block_pitch_sh2 >> 2;\n    fcb.pitch_fac      = 1.0;\n    fcb.no_repeat_mask = 0;\n    fcb.n              = 0;\n    if (frame_desc->fcb_type == FCB_TYPE_AW_PULSES) {\n        aw_pulse_set1(s, bc, block_idx, &fcb);\n        if (aw_pulse_set2(s, bc, block_idx, &fcb)) {\n            int r_idx = pRNG(s->frame_cntr, block_idx, size);\n            for (n = 0; n < size; n++)\n                excitation[n] =\n                    wmavoice_std_codebook[r_idx + n] * s->silence_gain;\n            bitstream_skip(bc, 7 + 1);\n            return;\n        }\n    } else   {\n        int offset_nbits = 5 - frame_desc->log_n_blocks;\n        fcb.no_repeat_mask = -1;\n        for (n = 0; n < 5; n++) {\n            float sign;\n            int pos1, pos2;\n            sign           = bitstream_read_bit(bc) ? 1.0 : -1.0;\n            pos1           = bitstream_read(bc, offset_nbits);\n            fcb.x[fcb.n]   = n + 5 * pos1;\n            fcb.y[fcb.n++] = sign;\n            if (n < frame_desc->dbl_pulses) {\n                pos2           = bitstream_read(bc, offset_nbits);\n                fcb.x[fcb.n]   = n + 5 * pos2;\n                fcb.y[fcb.n++] = (pos1 < pos2) ? -sign : sign;\n            }\n        }\n    }\n    ff_set_fixed_vector(pulses, &fcb, 1.0, size);\n    idx = bitstream_read(bc, 7);\n    fcb_gain = expf(avpriv_scalarproduct_float_c(s->gain_pred_err,\n                                                 gain_coeff, 6) -\n                    5.2409161640 + wmavoice_gain_codebook_fcb[idx]);\n    acb_gain = wmavoice_gain_codebook_acb[idx];\n    pred_err = av_clipf(wmavoice_gain_codebook_fcb[idx],\n                        -2.9957322736  ,\n                         1.6094379124  );\n    gain_weight = 8 >> frame_desc->log_n_blocks;\n    memmove(&s->gain_pred_err[gain_weight], s->gain_pred_err,\n            sizeof(*s->gain_pred_err) * (6 - gain_weight));\n    for (n = 0; n < gain_weight; n++)\n        s->gain_pred_err[n] = pred_err;\n    if (frame_desc->acb_type == ACB_TYPE_ASYMMETRIC) {\n        int len;\n        for (n = 0; n < size; n += len) {\n            int next_idx_sh16;\n            int abs_idx    = block_idx * size + n;\n            int pitch_sh16 = (s->last_pitch_val << 16) +\n                             s->pitch_diff_sh16 * abs_idx;\n            int pitch      = (pitch_sh16 + 0x6FFF) >> 16;\n            int idx_sh16   = ((pitch << 16) - pitch_sh16) * 8 + 0x58000;\n            idx            = idx_sh16 >> 16;\n            if (s->pitch_diff_sh16) {\n                if (s->pitch_diff_sh16 > 0) {\n                    next_idx_sh16 = (idx_sh16) &~ 0xFFFF;\n                } else\n                    next_idx_sh16 = (idx_sh16 + 0x10000) &~ 0xFFFF;\n                len = av_clip((idx_sh16 - next_idx_sh16) / s->pitch_diff_sh16 / 8,\n                              1, size - n);\n            } else\n                len = size;\n            ff_acelp_interpolatef(&excitation[n], &excitation[n - pitch],\n                                  wmavoice_ipol1_coeffs, 17,\n                                  idx, 9, len);\n        }\n    } else   {\n        int block_pitch = block_pitch_sh2 >> 2;\n        idx             = block_pitch_sh2 & 3;\n        if (idx) {\n            ff_acelp_interpolatef(excitation, &excitation[-block_pitch],\n                                  wmavoice_ipol2_coeffs, 4,\n                                  idx, 8, size);\n        } else\n            av_memcpy_backptr((uint8_t *) excitation, sizeof(float) * block_pitch,\n                              sizeof(float) * size);\n    }\n    ff_weighted_vector_sumf(excitation, excitation, pulses,\n                            acb_gain, fcb_gain, size);\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}']