]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/aacenc.h
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / aacenc.h
index 1c8467990c4f1b05fd5a9305976b0e1e20fd8c13..e48fc18060dff0a2afd5fdd361f71f8d04cf7507 100644 (file)
 
 #include "psymodel.h"
 
+#define AAC_CODER_NB 4
+
+typedef struct AACEncOptions {
+    int stereo_mode;
+    int aac_coder;
+} AACEncOptions;
+
 struct AACEncContext;
 
 typedef struct AACCoefficientsEncoder {
@@ -48,6 +55,8 @@ extern AACCoefficientsEncoder ff_aac_coders[];
  * AAC encoder context
  */
 typedef struct AACEncContext {
+    AVClass *av_class;
+    AACEncOptions options;                       ///< encoding options
     PutBitContext pb;
     FFTContext mdct1024;                         ///< long (1024 samples) frame transform context
     FFTContext mdct128;                          ///< short (128 samples) frame transform context
@@ -55,6 +64,7 @@ typedef struct AACEncContext {
     int16_t *samples;                            ///< saved preprocessed input
 
     int samplerate_index;                        ///< MPEG-4 samplerate index
+    const uint8_t *chan_map;                     ///< channel configuration map
 
     ChannelElement *cpe;                         ///< channel elements
     FFPsyContext psy;
@@ -64,7 +74,7 @@ typedef struct AACEncContext {
     int last_frame;
     float lambda;
     DECLARE_ALIGNED(16, int,   qcoefs)[96];      ///< quantized coefficients
-    DECLARE_ALIGNED(16, float, scoefs)[1024];    ///< scaled coefficients
+    DECLARE_ALIGNED(32, float, scoefs)[1024];    ///< scaled coefficients
 } AACEncContext;
 
 #endif /* AVCODEC_AACENC_H */