QUOTE
I think in newer lame versions, q values below 2 just use more aggressive lossless encoding of the lossy compressed data in order to save a few percent, IIRC.
I thought so too, until I took a look at the code. As far as I can see from the LAME source, the only difference between -q1 and -q2 is -q1 sets noise_shape_amp to 2 instead of -q2's setting of 1. This is used in the (lossy) quantize step, so it appears as though -q1 over -q2 does have an effect on the lossy coding stage. I have no idea what the effect on transparency would be. From 3.96 liblame/quantize.c:
CODE
* Three algorithms:
* noise_shaping_amp
* 0 Amplify all bands with distort[]>1.
*
* 1 Amplify all bands with distort[] >= max_dist^(.5);
* ( 50% in the db scale)
*
* 2 Amplify first band with distort[] >= max_dist;
*
* For algorithms 0 and 1, if max_dist < 1, then amplify all bands
* with distort[] >= .95*max_dist. This is to make sure we always
* amplify at least one band.
-q0 over -q1 changes the behaviour of the Huffman coding step, which is lossless. It doesn't seem the change offers a major increase in compression and seriously slows things down, so it's probably not that beneficial.
I might be wrong about this - I have only recently started working on understanding the LAME source, so I may be seriously misguided. Maybe Gabriel can tell me if I am right.