mirror of https://git.ffmpeg.org/ffmpeg.git
g723.1: fix addition overflow
This addition must be done as 64-bit to avoid overflow and for the subsequent clipping to be meaningful. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
52aa3015a3
commit
05c36e0e5f
|
@ -979,7 +979,7 @@ static void formant_postfilter(G723_1_Context *p, int16_t *lpc, int16_t *buf)
|
||||||
|
|
||||||
/* Compensation filter */
|
/* Compensation filter */
|
||||||
for (j = 0; j < SUBFRAME_LEN; j++) {
|
for (j = 0; j < SUBFRAME_LEN; j++) {
|
||||||
buf_ptr[j] = av_clipl_int32(signal_ptr[j] +
|
buf_ptr[j] = av_clipl_int32((int64_t)signal_ptr[j] +
|
||||||
((signal_ptr[j - 1] >> 16) *
|
((signal_ptr[j - 1] >> 16) *
|
||||||
temp << 1)) >> 16;
|
temp << 1)) >> 16;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
0, 2640, 2640, 240, 480, 0xe253c7e1
|
0, 2640, 2640, 240, 480, 0xe253c7e1
|
||||||
0, 2880, 2880, 240, 480, 0x672cbf0a
|
0, 2880, 2880, 240, 480, 0x672cbf0a
|
||||||
0, 3120, 3120, 240, 480, 0x5f32aa27
|
0, 3120, 3120, 240, 480, 0x5f32aa27
|
||||||
0, 3360, 3360, 240, 480, 0x8646a245
|
0, 3360, 3360, 240, 480, 0x0b3da147
|
||||||
0, 3600, 3600, 240, 480, 0x4819e5bc
|
0, 3600, 3600, 240, 480, 0x4819e5bc
|
||||||
0, 3840, 3840, 240, 480, 0x423dec60
|
0, 3840, 3840, 240, 480, 0x423dec60
|
||||||
0, 4080, 4080, 240, 480, 0xafefe289
|
0, 4080, 4080, 240, 480, 0xafefe289
|
||||||
|
|
Loading…
Reference in New Issue