summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2008-05-24 16:38:48 +0000
committerVitor Sessak <vitor1001@gmail.com>2008-05-24 16:38:48 +0000
commit13b6729361d45b9f308d731dd6b82dac01428dc3 (patch)
tree9d28065a5aa9ed48bfe61d9c23dc11f65837fe2f /libavcodec
parent84490b744e2f5dc485474562169d12b79eee9634 (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.c7
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++;
}