28 #ifndef SILK_PE_DEFINES_H
29 #define SILK_PE_DEFINES_H
31 #include "SigProc_FIX.h"
37 #define PE_MAX_FS_KHZ 16
39 #define PE_MAX_NB_SUBFR 4
40 #define PE_SUBFR_LENGTH_MS 5
42 #define PE_LTP_MEM_LENGTH_MS ( 4 * PE_SUBFR_LENGTH_MS )
44 #define PE_MAX_FRAME_LENGTH_MS ( PE_LTP_MEM_LENGTH_MS + PE_MAX_NB_SUBFR * PE_SUBFR_LENGTH_MS )
45 #define PE_MAX_FRAME_LENGTH ( PE_MAX_FRAME_LENGTH_MS * PE_MAX_FS_KHZ )
46 #define PE_MAX_FRAME_LENGTH_ST_1 ( PE_MAX_FRAME_LENGTH >> 2 )
47 #define PE_MAX_FRAME_LENGTH_ST_2 ( PE_MAX_FRAME_LENGTH >> 1 )
49 #define PE_MAX_LAG_MS 18
50 #define PE_MIN_LAG_MS 2
51 #define PE_MAX_LAG ( PE_MAX_LAG_MS * PE_MAX_FS_KHZ )
52 #define PE_MIN_LAG ( PE_MIN_LAG_MS * PE_MAX_FS_KHZ )
54 #define PE_D_SRCH_LENGTH 24
56 #define PE_NB_STAGE3_LAGS 5
58 #define PE_NB_CBKS_STAGE2 3
59 #define PE_NB_CBKS_STAGE2_EXT 11
61 #define PE_NB_CBKS_STAGE3_MAX 34
62 #define PE_NB_CBKS_STAGE3_MID 24
63 #define PE_NB_CBKS_STAGE3_MIN 16
65 #define PE_NB_CBKS_STAGE3_10MS 12
66 #define PE_NB_CBKS_STAGE2_10MS 3
68 #define PE_SHORTLAG_BIAS 0.2f
69 #define PE_PREVLAG_BIAS 0.2f
70 #define PE_FLATCONTOUR_BIAS 0.05f
72 #define SILK_PE_MIN_COMPLEX 0
73 #define SILK_PE_MID_COMPLEX 1
74 #define SILK_PE_MAX_COMPLEX 2
77 extern const opus_int8 silk_CB_lags_stage2[ PE_MAX_NB_SUBFR ][ PE_NB_CBKS_STAGE2_EXT ];
78 extern const opus_int8 silk_CB_lags_stage3[ PE_MAX_NB_SUBFR ][ PE_NB_CBKS_STAGE3_MAX ];
79 extern const opus_int8 silk_Lag_range_stage3[ SILK_PE_MAX_COMPLEX + 1 ] [ PE_MAX_NB_SUBFR ][ 2 ];
80 extern const opus_int8 silk_nb_cbk_searchs_stage3[ SILK_PE_MAX_COMPLEX + 1 ];
83 extern const opus_int8 silk_CB_lags_stage2_10_ms[ PE_MAX_NB_SUBFR >> 1][ 3 ];
84 extern const opus_int8 silk_CB_lags_stage3_10_ms[ PE_MAX_NB_SUBFR >> 1 ][ 12 ];
85 extern const opus_int8 silk_Lag_range_stage3_10_ms[ PE_MAX_NB_SUBFR >> 1 ][ 2 ];