[FFmpeg-cvslog] g723.1: fix addition overflow
Mans Rullgard
git at videolan.org
Fri Aug 10 16:31:45 CEST 2012
ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Fri Aug 10 01:17:20 2012 +0100| [05c36e0e5fbf0b75dbbbd327ad2f6a62992f9262] | committer: Mans Rullgard
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 at mansr.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=05c36e0e5fbf0b75dbbbd327ad2f6a62992f9262
---
libavcodec/g723_1.c | 2 +-
tests/ref/fate/g723_1-dec-3 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index 53b9ade..7d8a48e 100644
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -979,7 +979,7 @@ static void formant_postfilter(G723_1_Context *p, int16_t *lpc, int16_t *buf)
/* Compensation filter */
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) *
temp << 1)) >> 16;
}
diff --git a/tests/ref/fate/g723_1-dec-3 b/tests/ref/fate/g723_1-dec-3
index eabdd73..d1a2946 100644
--- a/tests/ref/fate/g723_1-dec-3
+++ b/tests/ref/fate/g723_1-dec-3
@@ -13,7 +13,7 @@
0, 2640, 2640, 240, 480, 0xe253c7e1
0, 2880, 2880, 240, 480, 0x672cbf0a
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, 3840, 3840, 240, 480, 0x423dec60
0, 4080, 4080, 240, 480, 0xafefe289
More information about the ffmpeg-cvslog
mailing list