[FFmpeg-cvslog] g723.1: cleanup square_root()

Vitor Sessak git at videolan.org
Thu Sep 29 22:09:48 CEST 2011


ffmpeg | branch: master | Vitor Sessak <vitor1001 at gmail.com> | Thu Sep 29 21:28:18 2011 +0200| [6e505547f148235b5e2733bf42a4615ae67d4cb4] | committer: Michael Niedermayer

g723.1: cleanup square_root()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e505547f148235b5e2733bf42a4615ae67d4cb4
---

 libavcodec/g723_1.c |   12 +-----------
 1 files changed, 1 insertions(+), 11 deletions(-)

diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index de7fe3b..a48eca3 100644
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -196,17 +196,7 @@ static int unpack_bitstream(G723_1_Context *p, const uint8_t *buf,
  */
 static int16_t square_root(int val)
 {
-    int16_t res = 0;
-    int16_t exp = 0x4000;
-    int i;
-
-    for (i = 0; i < 14; i ++) {
-        int res_exp = res + exp;
-        if (val >= res_exp * res_exp << 1)
-            res += exp;
-        exp >>= 1;
-    }
-    return res;
+    return (ff_sqrt(val << 1) >> 1) & (~1);
 }
 
 /**



More information about the ffmpeg-cvslog mailing list