mirror of https://git.ffmpeg.org/ffmpeg.git
g723_1: clip argument for 15-bit version of normalize_bits()
It expects maximum value to be 32767 but calculations in scale_vector() which uses this function can give it ABS(-32768) which leads to wrong result and thus clipping is needed.
This commit is contained in:
parent
f86b2f3661
commit
e78e6c37ef
|
@ -290,6 +290,7 @@ static int scale_vector(int16_t *vector, int length)
|
|||
for (i = 0; i < length; i++)
|
||||
max = FFMAX(max, FFABS(vector[i]));
|
||||
|
||||
max = FFMIN(max, 0x7FFF);
|
||||
bits = normalize_bits(max, 15);
|
||||
scale = (bits == 15) ? 0x7FFF : (1 << bits);
|
||||
|
||||
|
|
Loading…
Reference in New Issue