ifqstep = (scalefac_scale == 0) ? 2 : 4; for (sfb = 0; sfb < psymax; ++sfb) quantization_stepsize = global_gain - ((scalefac[sfb] + (preflag ? pretab[sfb] : 0)) * ifqstep) + subblock_gain[window[sfb]] * 8);
LAME Y SWITH
-Y is still 'experimental'. It was never supposed to be used by non-developers. This is what Dibrom once said. I think these matters are too technical and will never be fully understood.
I was going to say that the switch is not experimental, but two sources from LAME claim the opposite (it is not listed in the switches.html, and it is explicitely shown in the experimental part in lame --longhelp)
This is still going back to my point. Users don't need to make an informed decision unless the current V system is broken. This was the case 7 yrs ago when the was no V system and preset medium couldn't be 'trusted' . Today from what I read people are having a hard time with -V5 - not -V3 or even -V4.All mentions of -Y in the wiki look confusing and not professional. In the last 128k tests -V5.7 was used to obtain desired bitrate and NOT some random collection of switches. This worked put very well.
If global gain is zero, resolution will need to be increased (and quantization lowered) on every other scale factor band.
Since the range of the scalefactors is small, if global gain is reduced and any of the scale factors cannot be incremented to compensate this reduction, the resolution of that band is increased innecessarily.
Scale factor refers to how much quantization (loss of precision) is applied to each band, where higher quantization causes greater compression, and consequently less variation between the minimum and maximum values (resolution).
Global gain is an extra quantizer that affects all bands simultaneously.
The only way to increase the resolution on sfb21 is therefore to reduce the global gain quantization, since global gain applies to all bands.
LAME implements the -Y switch as a way to activate the alternate logic that CBR uses in respect to quantization noise in the sfb21 band.
Since the sfb21 does not have quantization, its quantization noise is not evaluated.
In MPEG2 (16,22,24Khz), it is sfb12.
Users don't need to make an informed decision unless the current V system is broken.
All mentions of -Y in the wiki look confusing and not professional.