g723_1: fix overflow in square_root()

the intermediate does not fit in a signed 32bit int

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-10-14 03:42:28 +02:00
parent 2fed05f53a
commit 014b178f84
1 changed files with 3 additions and 1 deletions

View File

@ -226,8 +226,10 @@ static int unpack_bitstream(G723_1_Context *p, const uint8_t *buf,
/**
* Bitexact implementation of sqrt(val/2).
*/
static int16_t square_root(int val)
static int16_t square_root(unsigned val)
{
av_assert2(!(val & 0x80000000));
return (ff_sqrt(val << 1) >> 1) & (~1);
}