This is a bug in the tables - that first line should be a 0 3
instead of 0 2.  I have just fixed this, but it should have very
little effect on the output.  

And I dont think this could cause any crashes though.  Can you
try adding a check in that loop to make sure

b < gfc->npart_s

Sounds to me like the bo_s[] array is probably getting corrupted
somewhere else?

Mark




> 
> Ok, I have now tracked down exactly where the bug occurs, abit unsure exactly
> why it completely crashes LAME though...
> 
> At line 762 we've got the following loop (the overflow starts here at some
> point (not immediately)):
> 
> for ( b = gfc->bu_s[sb]+1; b < gfc->bo_s[sb]; b++ )
> {
>       enn  += eb[b];
>       thmm += thr[b];
> }
> 
> I got the following values by a quick check:
> 
> bu_s[]        bo_s[]
> 
>       0               2
>       3               5       <- This one seems strange?!
>       5               8
>       8               11
>       11              15
>       15              20
>       20              23
>       23              27
>       27              30
>       30              33
>       33              36
>       36              38
> 
> If I change "b < gfc->bo_s[sb]" to anything else, f.ex. 38 so that it'll go
> through the whole range every time, or manually unroll the loop with those
> values (changing the 3 to 2), LAME works fine...
> 
> I'm at a loss what really is going on here, something seems to mess up
> bigtime... :P
> 
> 
> - CISC
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to