Iwasa Kazmi recently sent me some scfsi fixes to the *decoding*
library, mpglib.  It took me few days to add the patch, and
by the time I tried to commit the changes to CVS, it looks like

I find this disturbing, since it means decoders based on mpglib
will not handel scfsi correctly.  I think someone else mentioned
a while ago that this was one reason not to use scfsi, and
may be why FhG does not use scfsi?

mpg123 does not seem to have this problem.  Fixes posted to the
mpg123/mpglib email list seem to be ignored - they haven't put out a
new release in a long time.


Mark









------------------------------------------------------------------------
Date: Wed, 19 Jan 2000 19:43:35 +0900
From: Iwasa Kazmi <[EMAIL PROTECTED]>


Same fix has been done in mpg123. (it would be more sure to refer layer3.c
in mpg123)

In III_get_scale_factors_1(), when scfsi bits were enabled, a destination
pointer is increased instead of reading the scalefactor values.
So if scfsi was used, old values which have been left in an array of
scalefactors are used.

In do_layer3(), scalefacs[] is used as an array of scalefactors.
The problem is that scalefacs[] is used against both channel.
When scfsi bits are enabled, scalefactors in `previous channel' are used,
instead of scalefactors in `previous granule'.

Solution: use separate buffers for each channel. Each buffer holds
          scalefactor values of previous granule.

This bug causes some strange MDCT spectrums in mp3x.
I wasted long time because I thought this was caused by a bug of distortion
check.


Iwasa Kazmi
[EMAIL PROTECTED]
------- End of forwarded message -------
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to