summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-08-19 16:51:26 +0000
committerMåns Rullgård <mans@mansr.com>2010-08-19 16:51:26 +0000
commitdd5f3238c13e2a6a2caf4d550113219d73122fde (patch)
tree674e78d15286d081fdedd3a05bab35dcff78ab1a
parentb42c483f076e4b24fdeada59e138e421326c45ec (diff)
imc: fix undefined float to int conversion
Conversion of an out of range float to int is undefined. Clipping to the final range first avoids such problems. This fixes decoding on MIPS, which handles these conversions differently from many other CPUs. Originally committed as revision 24838 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/imc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index b54937539d..730d8218da 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -362,7 +362,7 @@ static int bit_allocation (IMCContext* q, int stream_format_code, int freebits,
iacc = 0;
for(j = (stream_format_code & 0x2)?4:0; j < BANDS; j++) {
- cwlen = av_clip((int)((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);
+ cwlen = av_clipf(((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);
q->bitsBandT[j] = cwlen;
summer += q->bandWidthT[j] * cwlen;