]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/aac.h
Simplify initialization of a few direct mode related variables.
[ffmpeg] / libavcodec / aac.h
index a64497db0342e16e78cc57b8d79aa7e004c7c6d6..0a9cc81604176230832562a75ae0b96c10e44b7e 100644 (file)
@@ -27,8 +27,8 @@
  * @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"
@@ -148,6 +148,18 @@ typedef struct {
     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.
  */
@@ -194,7 +206,7 @@ typedef struct {
     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;
 
@@ -235,8 +247,7 @@ typedef struct {
      * @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]);
     /** @} */
 
     /**
@@ -261,4 +272,4 @@ typedef struct {
 
 } AACContext;
 
-#endif /* FFMPEG_AAC_H */
+#endif /* AVCODEC_AAC_H */