> 
> Howdy All,
> 
> I recently finished completely overhauling the ISO 'dist10' LSF decoder to
> extract a layer-III only player for work.  In the process, I discovered a
> few bugs/inconsistencies in/between the 'dist10' distribution and ISO/IEC
> 11172-3 and 13818-3.  I don't know if they would account for the differences
> you are reporting, but they certainly might contribute.
> 
> Here's what I found:
> 


Here are a few other bugs that you might be interested in.
They were discovered by (IIRC) Robert, Iwasa, Takehiro and Leonid:

ISO/mpg123/mpglib:
24khz scalefactor band index table for long blocks, the
number "330" should be "332".  This will actually cause
the decoder to choke on the whole frame so it should be
easy to detect.  (unless the encoder was also incorrectly
using 330 :-)

mpglib:
There were several scsfi bugs in mpglib that didn't seem to
be in mpg123.  I dont know if these bugs are in the ISO code,
and fixed in mpg123 after mpglib was created, or
if the bugs were introduced in the creation of mpglib.

There was also a bug in the ISO encoder which could easily be in the
decoder: It was reversing the order of the individual quadruples in
the count1 region. This bug only effects the highest frequencies, and
is particularly insidious because it produces small flaws which could
be attribted to compression artifacts.

Another bug in almost all the windows players: They dont allow the
samplerate to change within a bitstream.  (for example, if a 44.1 and
22.05 mp3 file are concatenated into one file) Responce various from
crashing to doing a micky mouse impersonation.

There is a Word document floating around, published by 
Fraunhofer, called "MPEG Layer3 Bitstream syntax and decoding"
It is much more usefull to decoder writers than the ISO docs.

Mark





--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to