Mark Taylor
Wed, 19 Apr 2000 12:18:52 -0700
> > 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/ )