diff options
author | Måns Rullgård <mans@mansr.com> | 2010-08-19 16:51:26 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2010-08-19 16:51:26 +0000 |
commit | dd5f3238c13e2a6a2caf4d550113219d73122fde (patch) | |
tree | 674e78d15286d081fdedd3a05bab35dcff78ab1a /libavcodec/imc.c | |
parent | b42c483f076e4b24fdeada59e138e421326c45ec (diff) | |
download | ffmpeg-dd5f3238c13e2a6a2caf4d550113219d73122fde.tar.gz |
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
Diffstat (limited to 'libavcodec/imc.c')
-rw-r--r-- | libavcodec/imc.c | 2 |
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; |