* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
*/
-#ifndef FFMPEG_AAC_H
-#define FFMPEG_AAC_H
+#ifndef AVCODEC_AAC_H
+#define AVCODEC_AAC_H
#include "avcodec.h"
#include "dsputil.h"
int tns_max_bands;
} IndividualChannelStream;
+/**
+ * Temporal Noise Shaping
+ */
+typedef struct {
+ int present;
+ int n_filt[8];
+ int length[8][4];
+ int direction[8][4];
+ int order[8][4];
+ float coef[8][4][TNS_MAX_ORDER];
+} TemporalNoiseShaping;
+
/**
* Dynamic Range Control - decoded from the bitstream but not processed further.
*/
int band_type_run_end[120]; ///< band type run end points
float sf[120]; ///< scalefactors
DECLARE_ALIGNED_16(float, coeffs[1024]); ///< coefficients for IMDCT
- DECLARE_ALIGNED_16(float, saved[1024]); ///< overlap
+ DECLARE_ALIGNED_16(float, saved[512]); ///< overlap
DECLARE_ALIGNED_16(float, ret[1024]); ///< PCM output
} SingleChannelElement;
* @defgroup temporary aligned temporary buffers (We do not want to have these on the stack.)
* @{
*/
- DECLARE_ALIGNED_16(float, buf_mdct[2048]);
- DECLARE_ALIGNED_16(float, revers[1024]);
+ DECLARE_ALIGNED_16(float, buf_mdct[1024]);
/** @} */
/**
} AACContext;
-#endif /* FFMPEG_AAC_H */
+#endif /* AVCODEC_AAC_H */