I still think you're wrong here. Once you've taken a DCT and have stuff represented as a sum of sinusoids you can sample those sinusoids at any intervals, even at nonuniform sampling points. You just can't use the efficiency of the IDCT to do so, so it'll be computationally inefficient.
Okay, so the original fs needs to be plugged in somewhere, but isn't it possible (in theory at least) to decode to an arbitrary sample rate < fs?
Like others have said, you can decode easily to sample rates that are multiples, but you cannot decode to arbitrary sample rates without resampling.
You can't actually decode to an arbitrary sample rate.
Quote from: jensend on 07 October, 2012, 02:57:38 PM...sample those sinusoids at any intervals...Could you explain what you mean more precisely? Its difficult to understand what your idea is.
...sample those sinusoids at any intervals...
the sample rate determines which samples correspond to which frequencies.
Benski says "If you didn't know the sample rate, you wouldn't be able to decode the audio", makes it sound like just needing the rate for the math. And the "easily" in "can decode easily to sample rates that are multiples" like a problem of complexity.
If encoding ultimately just means storing the frequency, level, and phase, it seems you should be able to recreate that 1kHz sine wave with as many or as few samples as you'd like. What would actually be stored in such a case?
Quote from: saratoga on 07 October, 2012, 12:05:15 AMthe sample rate determines which samples correspond to which frequencies.What does "which samples correspond to which frequencies" mean?
Concretely, the band 576, for a 32Khz contains frequency information from the frequency 31943Hz to the frequency 31999Hz.For a 48Khz, that same band contains frequency information from the frequency 47915Hz to the frequency 47999Hz.
Winamp MP3 decoder still have Full/Half/Quarter quality setting
Quote from: lvqcl on 07 October, 2012, 01:56:36 PMWinamp MP3 decoder still have Full/Half/Quarter quality settingYes, and it does this by not doing the calculations for all the bands, and only doing a 16 or 8pt iMDCT at the end. Remember that MP3 is cascade of 32 18-pt iMDCTs followed by a 32-pt iMDCT. This was done mainly to reuse hardware and software from Layer 2 decoders. From memory, I think there's a step in between that would prevent an implementation from simply using a 576 point MDCT.
So am I understanding correctly that 99.9% of decoding is independent of the original sample rate, and only at the very end where the wav header is filled in does it even matter?
As [JAZ] would realise if reading that back, ...
Its not really useful though once you break ~50-60MHz CPUs.
That might work for current CPU's, but a 486DX2 66Mhz needed to play it at 22Khz
Winamp with the in-house decoder (i.e. not the frauhoffer decoder) that they used at the time. (I'm not sure if it was already winamp 2, or still winamp 1.7 or so). No MMX, probably x87 math...