comparison aac.h @ 11401:e340262ba532 libavcodec

Add an HE-AAC v1 decoder. A large portion of this code was orignally authored by Robert Swain. The rest was written by me. Full history is available at: svn://svn.ffmpeg.org/soc/aac-sbr http://github.com/aconverse/ffmpeg-heaac/tree/sbr_pub
author alexc
date Mon, 08 Mar 2010 04:33:02 +0000
parents 4b3da727d832
children 7dd2a45249a9
comparison
equal deleted inserted replaced
11400:c166792100a0 11401:e340262ba532
32 32
33 #include "avcodec.h" 33 #include "avcodec.h"
34 #include "dsputil.h" 34 #include "dsputil.h"
35 #include "fft.h" 35 #include "fft.h"
36 #include "mpeg4audio.h" 36 #include "mpeg4audio.h"
37 #include "sbr.h"
37 38
38 #include <stdint.h> 39 #include <stdint.h>
39 40
40 #define AAC_INIT_VLC_STATIC(num, size) \ 41 #define AAC_INIT_VLC_STATIC(num, size) \
41 INIT_VLC_STATIC(&vlc_spectral[num], 8, ff_aac_spectral_sizes[num], \ 42 INIT_VLC_STATIC(&vlc_spectral[num], 8, ff_aac_spectral_sizes[num], \
215 float sf[120]; ///< scalefactors 216 float sf[120]; ///< scalefactors
216 int sf_idx[128]; ///< scalefactor indices (used by encoder) 217 int sf_idx[128]; ///< scalefactor indices (used by encoder)
217 uint8_t zeroes[128]; ///< band is not coded (used by encoder) 218 uint8_t zeroes[128]; ///< band is not coded (used by encoder)
218 DECLARE_ALIGNED(16, float, coeffs)[1024]; ///< coefficients for IMDCT 219 DECLARE_ALIGNED(16, float, coeffs)[1024]; ///< coefficients for IMDCT
219 DECLARE_ALIGNED(16, float, saved)[1024]; ///< overlap 220 DECLARE_ALIGNED(16, float, saved)[1024]; ///< overlap
220 DECLARE_ALIGNED(16, float, ret)[1024]; ///< PCM output 221 DECLARE_ALIGNED(16, float, ret)[2048]; ///< PCM output
221 PredictorState predictor_state[MAX_PREDICTORS]; 222 PredictorState predictor_state[MAX_PREDICTORS];
222 } SingleChannelElement; 223 } SingleChannelElement;
223 224
224 /** 225 /**
225 * channel element - generic struct for SCE/CPE/CCE/LFE 226 * channel element - generic struct for SCE/CPE/CCE/LFE
231 uint8_t ms_mask[128]; ///< Set if mid/side stereo is used for each scalefactor window band 232 uint8_t ms_mask[128]; ///< Set if mid/side stereo is used for each scalefactor window band
232 // shared 233 // shared
233 SingleChannelElement ch[2]; 234 SingleChannelElement ch[2];
234 // CCE specific 235 // CCE specific
235 ChannelCoupling coup; 236 ChannelCoupling coup;
237 SpectralBandReplication sbr;
236 } ChannelElement; 238 } ChannelElement;
237 239
238 /** 240 /**
239 * main AAC context 241 * main AAC context
240 */ 242 */