Comparing Lame 3.97 and 3.98...
Reply #13 – 2006-12-24 09:54:47
I was in a lengthy discussion with Gabriel about that some time ago cause in 3.97b1 bit-reservoir was not used with cbr 320. However bit reservoir was used in a way that was quite mixed up depending on lame usage mode. It's like this: a) The less the restrictions are on the usage of bit reservoir the higher is the quality potential of the encoder. 320 kbps frames which additionally are allowed access to the bit reservoir can have an audio bitrate in the 400 kbps range. b) The mp3 standard is not very clear about 320 kbps frames. It can be interpreted in the sense that 320 kbps frames are not allowed access to the bit reservoir. In fact this is the interpretation which is most probably correct. FhG encoders behave this way. c) Looking at it from the decoder side it would be pretty foolish to make sure this 320 kbps frame side condition is fulfilled for the usually 44.1 kHz sampled tracks. That's why very few decoders bahave badly in this respect. As for compatibility there is other stuff at least of the same concern as this. Some decoders don't play 320 kbps tracks at all, some have difficulties with vbr, some with other features of the mp3 format. The reason why real decoders usually don't have problems with 320 kbps frames using bit reservoir is simple. In case there is no explicit check (which would be foolish as it was an extra effort and would unnecessarily restrict usage of the decoder) the only problem can be a limited buffer size. But as buffer size needed is small anyway, and as a decoder has to work with 320 kbps 32 kHz sampled tracks, it is pretty safe to use bit reservoir at least to the extent that anything needed during frame decoding fits into the buffer of a size needed for 320 kbps 32 kHz sampled frames. This is essentially how 3.97b2+ is working (but IIRC bit reservoir is restricted a little bit more).