comparison aac.h @ 7663:66fb1f3937fa libavcodec

Use ff_imdct_half() and vector_fmul_window() for IMDCT and windowing. Reduce buffer sizes accordingly. This produces a ~10% overall decoding perfomance improvement.
author superdump
date Fri, 22 Aug 2008 18:21:22 +0000
parents 3f6fc60f1ed3
children c4a4495715dd
comparison
equal deleted inserted replaced
7662:dea70eae1e49 7663:66fb1f3937fa
204 TemporalNoiseShaping tns; 204 TemporalNoiseShaping tns;
205 enum BandType band_type[120]; ///< band types 205 enum BandType band_type[120]; ///< band types
206 int band_type_run_end[120]; ///< band type run end points 206 int band_type_run_end[120]; ///< band type run end points
207 float sf[120]; ///< scalefactors 207 float sf[120]; ///< scalefactors
208 DECLARE_ALIGNED_16(float, coeffs[1024]); ///< coefficients for IMDCT 208 DECLARE_ALIGNED_16(float, coeffs[1024]); ///< coefficients for IMDCT
209 DECLARE_ALIGNED_16(float, saved[1024]); ///< overlap 209 DECLARE_ALIGNED_16(float, saved[512]); ///< overlap
210 DECLARE_ALIGNED_16(float, ret[1024]); ///< PCM output 210 DECLARE_ALIGNED_16(float, ret[1024]); ///< PCM output
211 } SingleChannelElement; 211 } SingleChannelElement;
212 212
213 /** 213 /**
214 * channel element - generic struct for SCE/CPE/CCE/LFE 214 * channel element - generic struct for SCE/CPE/CCE/LFE
245 245
246 /** 246 /**
247 * @defgroup temporary aligned temporary buffers (We do not want to have these on the stack.) 247 * @defgroup temporary aligned temporary buffers (We do not want to have these on the stack.)
248 * @{ 248 * @{
249 */ 249 */
250 DECLARE_ALIGNED_16(float, buf_mdct[2048]); 250 DECLARE_ALIGNED_16(float, buf_mdct[1024]);
251 DECLARE_ALIGNED_16(float, revers[1024]);
252 /** @} */ 251 /** @} */
253 252
254 /** 253 /**
255 * @defgroup tables Computed / set up during initialization. 254 * @defgroup tables Computed / set up during initialization.
256 * @{ 255 * @{