diff options
author | Vitor Sessak <vitor1001@gmail.com> | 2008-05-24 16:38:48 +0000 |
---|---|---|
committer | Vitor Sessak <vitor1001@gmail.com> | 2008-05-24 16:38:48 +0000 |
commit | 13b6729361d45b9f308d731dd6b82dac01428dc3 (patch) | |
tree | 9d28065a5aa9ed48bfe61d9c23dc11f65837fe2f /libavcodec | |
parent | 84490b744e2f5dc485474562169d12b79eee9634 (diff) |
Use an intermediate variable for overflow testing
Originally committed as revision 13283 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ra144.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index 5cfe94f25e..d4dc47733c 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -154,19 +154,22 @@ static void final(const short *i1, const short *i2, for (i=0; i<len; i++) { int sum = 0; + int new_val; for(x=0; x<10; x++) sum += i1[9-x] * ptr[x]; sum >>= 12; - if (ptr[10] - sum < -32768 || ptr[10] - sum > 32767) { + new_val = ptr[10] - sum; + + if (new_val < -32768 || new_val > 32767) { memset(out, 0, len * 2); memset(statbuf, 0, 20); return; } - ptr[10] -= sum; + ptr[10] = new_val; ptr++; } |