A quick note on the alias reduction change for mixed short blocks:
Haruhiko Ogasawara informed me that in spite of ISO/IEC 11172-3's claim that "alias reduction is not applied for granules with block_type == 2 (short block)", alias reduction most likely should be applied to the lower two subbands of mixed short blocks, as these are long blocks.
Of the decoders that support mixed blocks at all, most indeed apply alias reduction on the lower subbands, including recent FhG implementations.
Apparently version 3.0 of FhG's reference decoder l3dec does NOT apply alias reduction here, however, so there's a bit of ambiguity. Consequently, I've added a new option --enable-strict-iso to `configure' to revert to the previous behavior. This is not enabled by default.
A few examples of files encoded with alias vs. no alias reduction are here:
http://www.geocities.com/nazone2001/
You'll find that the mixed_alias file has aliasing artifacts when decoded with MAD 0.12.3b but not with MAD 0.12.4b, and for the mixed_no_alias file vice versa. Presumably the mixed_alias file is the one which is correctly encoded.
I know there are some LAME developers on this list: will the mixed block support coming in LAME perform alias reduction on the lower two subbands of mixed short blocks?
-rob