From 1bef4c66501893b4b7e154979a80f5386cbe964f Mon Sep 17 00:00:00 2001 From: Mohamed Tarek Date: Mon, 15 Feb 2010 00:04:33 +0000 Subject: revert last commit (r24660). There was a mistake in the location of the shifts leading to a deteriorated sound quality for some samples. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24662 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libatrac/atrac3.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'apps/codecs') diff --git a/apps/codecs/libatrac/atrac3.c b/apps/codecs/libatrac/atrac3.c index 157aff57f7..467f42f161 100644 --- a/apps/codecs/libatrac/atrac3.c +++ b/apps/codecs/libatrac/atrac3.c @@ -410,19 +410,13 @@ static int decodeSpectrum (GetBitContext *gb, int32_t *pOut) SF = fixmul31(SFTable_fixed[SF_idxs[cnt]], iMaxQuant_fix[subband_vlc_index[cnt]]); /* Inverse quantize the coefficients. */ - - /* Remark: Hardcoded hack to add 2 bits (empty) fract part to internal sample - * representation. Needed for higher accuracy in internal calculations as - * well as for DSP configuration. See also: ../atrac3_rm.c, DSP_SET_SAMPLE_DEPTH - * Todo: Check spectral requantisation for using and outputting samples with - * fract part. */ if((first/256) &1) { /* Odd band - Reverse coefficients */ for (pIn=mantissas ; last>first; last--, pIn++) - pOut[last] = fixmul16(*pIn, SF) << 2; + pOut[last] = fixmul16(*pIn, SF); } else { for (pIn=mantissas ; first> 8; if (lastTonal >= 0) numBands = FFMAX((lastTonal + 256) >> 8, numBands); + + /* Remark: Hardcoded hack to add 2 bits (empty) fract part to internal sample + * representation. Needed for higher accuracy in internal calculations as + * well as for DSP configuration. See also: ../atrac3_rm.c, DSP_SET_SAMPLE_DEPTH + * Todo: Check spectral requantisation for using and outputting samples with + * fract part. */ + int32_t i; + for (i=0; i<1024; ++i) { + pSnd->spectrum[i] <<= 2; + } /* Reconstruct time domain samples. */ for (band=0; band<4; band++) { -- cgit v1.2.3