Update SILK code using the CELT range coder
[opus.git] / src_FIX / SKP_Silk_structs_FIX.h
similarity index 72%
rename from src/SKP_Silk_structs_FIX.h
rename to src_FIX/SKP_Silk_structs_FIX.h
index d38bea7..8e2eb2c 100644 (file)
@@ -33,10 +33,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "SKP_Silk_main.h"\r
 #include "SKP_Silk_structs.h"\r
 \r
-#if LOW_COMPLEXITY_ONLY\r
-#include "SKP_Silk_resample_rom.h"\r
-#endif\r
-\r
 #ifdef __cplusplus\r
 extern "C"\r
 {\r
@@ -57,7 +53,8 @@ typedef struct {
 /********************************/\r
 typedef struct {\r
     SKP_int16   sLTP_shp1[ LTP_BUF_LENGTH ];\r
-    SKP_int32   sAR_shp2_Q14[ SHAPE_LPC_ORDER_MAX ];\r
+    SKP_int32   sAR_shp1[ MAX_SHAPE_LPC_ORDER + 1 ];\r
+    SKP_int32   sAR_shp2_Q14[ MAX_SHAPE_LPC_ORDER ];\r
     SKP_int16   sLTP_shp2_FIX[ LTP_BUF_LENGTH ];\r
     SKP_int     sLTP_shp_buf_idx1;\r
     SKP_int     sAR_shp_buf_idx2;\r
@@ -78,33 +75,9 @@ typedef struct {
     SKP_int   pitch_LPC_win_length;\r
     SKP_int   min_pitch_lag;                                        /* Lowest possible pitch lag (samples)  */\r
     SKP_int   max_pitch_lag;                                        /* Highest possible pitch lag (samples) */\r
-    SKP_int   prev_NLSFq_Q15[ MAX_LPC_ORDER ];                      /* Prev. quant. normalized LSF vector   */\r
+    SKP_int   prev_NLSFq_Q15[ MAX_LPC_ORDER ];                      /* Previously quantized NLSF vector     */\r
 } SKP_Silk_predict_state_FIX;\r
 \r
-#if( defined( SAVE_ALL_INTERNAL_DATA ) || defined( USE_FLT2FIX_WRAPPER ) )\r
-/*******************************************/\r
-/* Structure containing NLSF MSVQ codebook */\r
-/*******************************************/\r
-/* structure for one stage of MSVQ */\r
-typedef struct {\r
-    const SKP_int32     nVectors;\r
-    const SKP_float     *CB;\r
-    const SKP_float     *Rates;\r
-} SKP_Silk_NLSF_CBS_FLP_TMP;\r
-\r
-typedef struct {\r
-    const SKP_int32                 nStages;\r
-\r
-    /* fields for (de)quantizing */\r
-    const SKP_Silk_NLSF_CBS_FLP_TMP *CBStages;\r
-    const SKP_float                 *NDeltaMin;\r
-\r
-    /* fields for arithmetic (de)coding */\r
-    const SKP_uint16                *CDF;\r
-    const SKP_uint16 * const        *StartPtr;\r
-    const SKP_int                   *MiddleIx;\r
-} SKP_Silk_NLSF_CB_struct_FLP_TMP;\r
-#endif\r
 \r
 /********************************/\r
 /* Encoder state FIX            */\r
@@ -121,12 +94,6 @@ typedef struct {
     SKP_Silk_predict_state_FIX      sPred;                          /* Prediction state                                                     */\r
     SKP_Silk_nsq_state              sNSQ;                           /* Noise Shape Quantizer State                                          */\r
     SKP_Silk_nsq_state              sNSQ_LBRR;                      /* Noise Shape Quantizer State ( for low bitrate redundancy )           */\r
-    \r
-    /* Function pointer to noise shaping quantizer (will be set to SKP_Silk_NSQ or SKP_Silk_NSQ_del_dec) */\r
-    void    (* NoiseShapingQuantizer)( SKP_Silk_encoder_state *, SKP_Silk_encoder_control *, SKP_Silk_nsq_state *, const SKP_int16 *, \r
-                                        SKP_int *, const SKP_int, const SKP_int16 *, const SKP_int16 *, const SKP_int16 *, const SKP_int *, \r
-                                        const SKP_int *, const SKP_int32 *, const SKP_int32 *, SKP_int, const SKP_int\r
-    );\r
 \r
     /* Buffer for find pitch and noise shape analysis */\r
     SKP_array_of_int16_4_byte_aligned( x_buf, 2 * MAX_FRAME_LENGTH + LA_SHAPE_MAX );    \r
@@ -138,16 +105,13 @@ typedef struct {
     SKP_int                         BufferedInChannel_ms;           /* Simulated number of ms buffer because of exceeded TargetRate_bps     */\r
     SKP_int                         speech_activity_Q8;             /* Speech activity in Q8                                                */\r
     SKP_int32                       pitchEstimationThreshold_Q16;   /* Threshold for pitch estimator                                        */\r
-    \r
+\r
     /* Parameters For LTP scaling Control */\r
     SKP_int                         prevLTPredCodGain_Q7;\r
     SKP_int                         HPLTPredCodGain_Q7;\r
 \r
     SKP_int32                       inBandFEC_SNR_comp_Q8;          /* Compensation to SNR_dB when using inband FEC Voiced      */\r
 \r
-#ifdef USE_FLT2FIX_WRAPPER\r
-    const SKP_Silk_NLSF_CB_struct_FLP_TMP *psNLSF_CB_FLP[ 2 ];      /* Pointers to voiced/unvoiced NLSF codebooks */    \r
-#endif\r
 } SKP_Silk_encoder_state_FIX;\r
 \r
 /************************/\r
@@ -157,20 +121,20 @@ typedef struct {
     SKP_Silk_encoder_control        sCmn;                           /* Common struct, shared with floating-point code */\r
 \r
     /* Prediction and coding parameters */\r
-    SKP_int32                   Gains_Q16[ NB_SUBFR ];\r
+    SKP_int32                   Gains_Q16[ MAX_NB_SUBFR ];\r
     SKP_array_of_int16_4_byte_aligned( PredCoef_Q12[ 2 ], MAX_LPC_ORDER );\r
-    SKP_int16                   LTPCoef_Q14[ LTP_ORDER * NB_SUBFR ];\r
+    SKP_int16                   LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ];\r
     SKP_int                     LTP_scale_Q14;\r
 \r
     /* Noise shaping parameters */\r
     /* Testing */\r
-    SKP_array_of_int16_4_byte_aligned( AR1_Q13, NB_SUBFR * SHAPE_LPC_ORDER_MAX );\r
-    SKP_array_of_int16_4_byte_aligned( AR2_Q13, NB_SUBFR * SHAPE_LPC_ORDER_MAX );\r
-    SKP_int32   LF_shp_Q14[        NB_SUBFR ];          /* Packs two int16 coefficients per int32 value             */\r
-    SKP_int     GainsPre_Q14[      NB_SUBFR ];\r
-    SKP_int     HarmBoost_Q14[     NB_SUBFR ];\r
-    SKP_int     Tilt_Q14[          NB_SUBFR ];\r
-    SKP_int     HarmShapeGain_Q14[ NB_SUBFR ];\r
+    SKP_array_of_int16_4_byte_aligned( AR1_Q13, MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER );\r
+    SKP_array_of_int16_4_byte_aligned( AR2_Q13, MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER );\r
+    SKP_int32   LF_shp_Q14[        MAX_NB_SUBFR ];          /* Packs two int16 coefficients per int32 value             */\r
+    SKP_int     GainsPre_Q14[      MAX_NB_SUBFR ];\r
+    SKP_int     HarmBoost_Q14[     MAX_NB_SUBFR ];\r
+    SKP_int     Tilt_Q14[          MAX_NB_SUBFR ];\r
+    SKP_int     HarmShapeGain_Q14[ MAX_NB_SUBFR ];\r
     SKP_int     Lambda_Q10;\r
     SKP_int     input_quality_Q14;\r
     SKP_int     coding_quality_Q14;\r
@@ -182,8 +146,8 @@ typedef struct {
     SKP_int     LTPredCodGain_Q7;\r
     SKP_int     input_quality_bands_Q15[ VAD_N_BANDS ];\r
     SKP_int     input_tilt_Q15;\r
-    SKP_int32   ResNrg[ NB_SUBFR ];             /* Residual energy per subframe                             */\r
-    SKP_int     ResNrgQ[ NB_SUBFR ];            /* Q domain for the residual energy > 0                     */\r
+    SKP_int32   ResNrg[ MAX_NB_SUBFR ];             /* Residual energy per subframe                             */\r
+    SKP_int     ResNrgQ[ MAX_NB_SUBFR ];            /* Q domain for the residual energy > 0                     */\r
     \r
 } SKP_Silk_encoder_control_FIX;\r
 \r