::  Frank Klemm <[EMAIL PROTECTED]> writes:
::  > If the Output is a AIFF floating point PCM file, there is no rounding to the
::  > nearest integer (in the first approach). Otherwise you have to quantize
::  > the result of the MP3 decoding process. The most often used (and worst)
::  > operator for that is the "round-to-nearest-integer" quanization operator.
::  > It generates the best technical SNR and the worst audible SNR.
::  
::  So, if I understand you correctly, you claim a quality-optimized decoder which
::  does something other than round-to-the-nearest-integer as the final decoding
::  step will sound better than one that does, but consequently also won't pass
::  the ISO/IEC 11172-4 compliance tests for computational accuracy?
::  
::  Can you give an example of a decoder which does this?
::
May be mpg123 in october. I try to convince Michael Hipp to use my
ultra-fast round-to-nearest-integer routines°°). If he uses these routines, it
becomes very easy to use other quantization routines by simple replacing 2
routines by another and recompiling. Currently the quantization is
spreaded around the whole program.


::  > May be a mail bomb of 200 KB for an example? (1 MP3, 2 programs, script +
::  > description). Or should I upload the examples to an URL?
::  > 
::  > This would ease some explainations.
::  
::  I wouldn't send them directly to this list, but I don't mind if you send them
::  to me personally. Or you can use a URL.
::  
I uploaded it to:

Typed in:       http://www.uni-jena.de/~pfk/resample.tar.gz
Copy&Paste:     http://www.uni-jena.de/~pfk/resample.tar.gz

Seems to be correct.

It's not a MP3 decoder, it's a simple resampling program°).

But all sound processing (except polarity changes, DC canceling and
amplififying by 6,02 or 9,54 dB) has the same problem. So it is a simple
example.

The worst sounding example is the only passing the ISO conventions.

-- 
Mit freundlichen Grüßen
Frank Klemm

°) Plans: - Speedup by 100+
          - Dynamic Window Size
          - Removing already existing artefacts (-6 dB)
          - Compensation of high frequency cut by a 
          - well calculated treble boost

°°) Rounding floats to integers is very ineffective in C.
    Rounding floats to integer is very ineffective on the Intel x386
    architecture. Using plain C takes around 150 CPU clocks (K6) to read a
    floating point number, round it to the nearest integer and store it
    again. Optimized tricky C code only needs 15 CPU clocks.
    That saves 12 Million CPU clocks per second (4% on 300 MHz).
  
 
eMail | [EMAIL PROTECTED]       home: [EMAIL PROTECTED]
phone | +49 (3641) 64-2721    home: +49 (3641) 390545
sMail | R.-Breitscheid-Str. 43, 07747 Jena, Germany

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

Reply via email to