From e78e6c37efc98189c4c3d89acd3265d7a7ba6d05 Mon Sep 17 00:00:00 2001
From: Kostya Shishkov <kostya.shishkov@gmail.com>
Date: Tue, 7 Aug 2012 19:32:20 +0200
Subject: [PATCH] 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.
---
 libavcodec/g723_1.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index aabb03d447b..e917f5a50ce 100644
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -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);
 
-- 
GitLab