Fixed rsqrt testcase for float
[opus.git] / libcelt / modes.h
index 645fb5f..90421ec 100644 (file)
 #include "celt_types.h"
 #include "celt.h"
 #include "arch.h"
+#include "mdct.h"
+#include "psy.h"
+
+#define MAX_PERIOD 1024
 
 /** Mode definition (opaque)
  @brief Mode definition 
@@ -51,15 +55,23 @@ struct CELTMode {
    int          nbPBands;
    int          pitchEnd;
    
-   const int   *eBands;   /**< Definition for each "pseudo-critical band" */
-   const int   *pBands;   /**< Definition of the bands used for the pitch */
+   const celt_int16_t   *eBands;   /**< Definition for each "pseudo-critical band" */
+   const celt_int16_t   *pBands;   /**< Definition of the bands used for the pitch */
    
    celt_word16_t ePredCoef;/**< Prediction coefficient for the energy encoding */
    
    int          nbAllocVectors; /**< Number of lines in the matrix below */
-   const int   *allocVectors;   /**< Number of bits in each band for several rates */
+   const celt_int16_t   *allocVectors;   /**< Number of bits in each band for several rates */
+   
+   const celt_int16_t * const *bits; /**< Cache for pulses->bits mapping in each band */
+
+   /* Stuff that could go in the {en,de}coder, but we save space this way */
+   mdct_lookup mdct;
    
-   const int * const *bits; /**< Cache for pulses->bits mapping in each band */
+   const celt_word16_t *window;
+
+   struct PsyDecay psy;
+
    celt_uint32_t marker_end;
 };