| Index: source/patched-ffmpeg-mt/libavcodec/wmavoice.c
|
| ===================================================================
|
| --- source/patched-ffmpeg-mt/libavcodec/wmavoice.c (revision 59334)
|
| +++ source/patched-ffmpeg-mt/libavcodec/wmavoice.c (working copy)
|
| @@ -1033,7 +1033,8 @@
|
| static void aw_pulse_set2(WMAVoiceContext *s, GetBitContext *gb,
|
| int block_idx, AMRFixed *fcb)
|
| {
|
| - uint16_t use_mask[7]; // only 5 are used, rest is padding
|
| + uint16_t use_mask_mem[9]; // only 5 are used, rest is padding
|
| + uint16_t *use_mask = use_mask_mem + 2;
|
| /* in this function, idx is the index in the 80-bit (+ padding) use_mask
|
| * bit-array. Since use_mask consists of 16-bit values, the lower 4 bits
|
| * of idx are the position of the bit within a particular item in the
|
| @@ -1065,6 +1066,7 @@
|
| /* aw_pulse_set1() already applies pulses around pulse_off (to be exactly,
|
| * in the range of [pulse_off, pulse_off + s->aw_pulse_range], and thus
|
| * we exclude that range from being pulsed again in this function. */
|
| + memset(&use_mask[-2], 0, 2 * sizeof(use_mask[0]));
|
| memset( use_mask, -1, 5 * sizeof(use_mask[0]));
|
| memset(&use_mask[5], 0, 2 * sizeof(use_mask[0]));
|
| if (s->aw_n_pulses[block_idx] > 0)
|
|
|