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
This commit is contained in:
parent
b42c483f07
commit
dd5f3238c1
1 changed files with 1 additions and 1 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue