From: Takehiro T. <tak...@in...> - 2002-12-18 16:49:36
|
2 issues on short block ATH handling. 1. scaling ns_msfix() in psymodel.c, it uses same scaling ATH value for long and short. But in psymodel.c, masking threshold is relative value of the energy, which is sum of squared FFT spectrums. In long block, the number of spectrums are 4 times larger than that of short block. So the energy is about 4 times larger than that of short. I think the ATH for short should be divided by 4. 2. usage About long block of gpsycho, LAME uses ATH value to "minimum value of masking". And, nspsy uses ATH in mask_add(). But, about short block of (g|ns)psy, ATH is used in ns_msfix(), but only the mid/side channel is affected. In LR channels, ATH effect is calculated temporary, but it is only temporary. I think we shoud use the same method of long block, for short block. -- Takehiro TOMINAGA // may the source be with you! |