28 #ifndef __WARPED_AUTOCORRELATION_FIX_MIPSR1_H__ 29 #define __WARPED_AUTOCORRELATION_FIX_MIPSR1_H__ 44 #define OVERRIDE_silk_warped_autocorrelation_FIX 55 opus_int32 tmp1_QS=0, tmp2_QS=0, tmp3_QS=0, tmp4_QS=0, tmp5_QS=0, tmp6_QS=0, tmp7_QS=0, tmp8_QS=0, start_1=0, start_2=0, start_3=0;
68 for( n = 0; n <
length; n=n+4 ) {
79 for( i = 0; i < order; i += 2 ) {
81 tmp2_QS =
silk_SMLAWB( state_QS[ i ], state_QS[ i + 1 ] - tmp1_QS, warping_Q16 );
82 corr_QC[
i ] = __builtin_mips_madd( corr_QC[ i ], tmp1_QS, start_1);
84 tmp4_QS =
silk_SMLAWB( tmp1_QS, tmp2_QS - tmp3_QS, warping_Q16 );
85 corr_QC[
i ] = __builtin_mips_madd( corr_QC[ i ], tmp3_QS, start_2);
87 tmp6_QS =
silk_SMLAWB( tmp3_QS, tmp4_QS - tmp5_QS, warping_Q16 );
88 corr_QC[
i ] = __builtin_mips_madd( corr_QC[ i ], tmp5_QS, start_3);
90 tmp8_QS =
silk_SMLAWB( tmp5_QS, tmp6_QS - tmp7_QS, warping_Q16 );
91 state_QS[
i ] = tmp7_QS;
92 corr_QC[
i ] = __builtin_mips_madd( corr_QC[ i ], tmp7_QS, state_QS[0]);
95 tmp1_QS =
silk_SMLAWB( state_QS[ i + 1 ], state_QS[ i + 2 ] - tmp2_QS, warping_Q16 );
96 corr_QC[ i+1 ] = __builtin_mips_madd( corr_QC[ i+1 ], tmp2_QS, start_1);
98 tmp3_QS =
silk_SMLAWB( tmp2_QS, tmp1_QS - tmp4_QS, warping_Q16 );
99 corr_QC[ i+1 ] = __builtin_mips_madd( corr_QC[ i+1 ], tmp4_QS, start_2);
101 tmp5_QS =
silk_SMLAWB( tmp4_QS, tmp3_QS - tmp6_QS, warping_Q16 );
102 corr_QC[ i+1 ] = __builtin_mips_madd( corr_QC[ i+1 ], tmp6_QS, start_3);
104 tmp7_QS =
silk_SMLAWB( tmp6_QS, tmp5_QS - tmp8_QS, warping_Q16 );
105 state_QS[ i + 1 ] = tmp8_QS;
106 corr_QC[ i+1 ] = __builtin_mips_madd( corr_QC[ i+1 ], tmp8_QS, state_QS[ 0 ]);
109 state_QS[ order ] = tmp7_QS;
111 corr_QC[ order ] = __builtin_mips_madd( corr_QC[ order ], tmp1_QS, start_1);
112 corr_QC[ order ] = __builtin_mips_madd( corr_QC[ order ], tmp3_QS, start_2);
113 corr_QC[ order ] = __builtin_mips_madd( corr_QC[ order ], tmp5_QS, start_3);
114 corr_QC[ order ] = __builtin_mips_madd( corr_QC[ order ], tmp7_QS, state_QS[ 0 ]);
122 for( i = 0; i < order; i += 2 ) {
125 tmp2_QS =
silk_SMLAWB( state_QS[ i ], state_QS[ i + 1 ] - tmp1_QS, warping_Q16 );
126 state_QS[
i ] = tmp1_QS;
127 corr_QC[
i ] = __builtin_mips_madd( corr_QC[ i ], tmp1_QS, state_QS[ 0 ]);
130 tmp1_QS =
silk_SMLAWB( state_QS[ i + 1 ], state_QS[ i + 2 ] - tmp2_QS, warping_Q16 );
131 state_QS[ i + 1 ] = tmp2_QS;
132 corr_QC[ i+1 ] = __builtin_mips_madd( corr_QC[ i+1 ], tmp2_QS, state_QS[ 0 ]);
134 state_QS[ order ] = tmp1_QS;
135 corr_QC[ order ] = __builtin_mips_madd( corr_QC[ order ], tmp1_QS, state_QS[ 0 ]);
138 temp64 = corr_QC[ 0 ];
139 temp64 = __builtin_mips_shilo(temp64, val);
141 lsh = silk_CLZ64( temp64 ) - 35;
143 *scale = -( QC + lsh );
146 for( i = 0; i < order + 1; i++ ) {
147 temp64 = corr_QC[
i ];
149 temp64 = (val >= 0) ? (temp64 >> val) : (temp64 << -
val);
153 for( i = 0; i < order + 1; i++ ) {
154 temp64 = corr_QC[
i ];
156 temp64 = (val >= 0) ? (temp64 >> val) : (temp64 << -
val);
161 corr_QC[ 0 ] = __builtin_mips_shilo(corr_QC[ 0 ], val);
short opus_int16
Definition: opus_types.h:144
#define opus_int
Definition: opus_types.h:151
#define silk_SMLAWB(a, b, c)
Definition: macros_armv4.h:49
#define QS
Definition: warped_autocorrelation_FIX_mipsr1.h:41
void silk_warped_autocorrelation_FIX(opus_int32 *corr, opus_int *scale, const opus_int16 *input, const opus_int warping_Q16, const opus_int length, const opus_int order)
Definition: warped_autocorrelation_FIX_mipsr1.h:45
#define silk_CHECK_FIT32(a)
Definition: SigProc_FIX.h:456
EGLStreamKHR EGLint n
Definition: eglext.h:984
int opus_int32
Definition: opus_types.h:146
#define silk_LSHIFT32(a, shift)
Definition: SigProc_FIX.h:479
#define silk_assert(COND)
Definition: typedef.h:74
#define QC
Definition: warped_autocorrelation_FIX_mipsr1.h:38
#define MAX_SHAPE_LPC_ORDER
Definition: define.h:150
for i
Definition: complexityMeasures.m:24
#define silk_LIMIT(a, limit1, limit2)
Definition: SigProc_FIX.h:557
string input
Definition: tokenizer_unittest.cc:198
#define opus_int64
Definition: opus_types.h:152
GLuint GLsizei GLsizei GLfloat * val
Definition: gl2ext.h:3301
GLuint GLsizei GLsizei * length
Definition: gl2.h:435