Loading lib_com/ivas_filters_fx.c +8 −8 Original line number Diff line number Diff line Loading @@ -183,7 +183,6 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); Loading Loading @@ -217,6 +216,7 @@ static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) * Process call for filtering a signal *-----------------------------------------------------------------------------------------*/ #if 0 static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, Loading @@ -233,21 +233,21 @@ static void ivas_iir_2_filter_fx32( in = pIn_Out_fx[i]; move32(); shift = sub( filter_state->num_q[stage][0], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->num_fx[stage][0], in ), shift ); shift = sub( filter_state->num_q[stage][0], 31 ); // (num_q + q + 1) - (q + 32) tmp_prod = W_shr( W_mult_32_32( filter_state->num_fx[stage][0], in ), shift ); pIn_Out_fx[i] = out = W_extract_h( W_add( filter_state->state64_fx[stage][0], tmp_prod ) ); move32(); FOR( j = 1; j < filter_state->filt_len; j++ ) { shift = sub( filter_state->num_q[stage][j], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->num_fx[stage][j], in ), shift ); shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( W_mult_32_32( filter_state->num_fx[stage][j], in ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); shift = sub( filter_state->den_q[stage][j], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->den_fx[stage][j], out ), shift ); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( W_mult_32_32( filter_state->den_fx[stage][j], out ), shift ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); move32(); Loading Loading @@ -311,7 +311,7 @@ static void ivas_iir_2_filter_fx64( in = pIn_Out_fx[i]; move32(); shift = sub( filter_state->num_q[stage][0], 31 ); shift = sub( filter_state->num_q[stage][0], 31 ); // (q + numq - 31) - q tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); pIn_Out_fx[i] = out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); Loading Loading
lib_com/ivas_filters_fx.c +8 −8 Original line number Diff line number Diff line Loading @@ -183,7 +183,6 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); Loading Loading @@ -217,6 +216,7 @@ static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) * Process call for filtering a signal *-----------------------------------------------------------------------------------------*/ #if 0 static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 q ); static void ivas_iir_2_filter_fx32( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, Loading @@ -233,21 +233,21 @@ static void ivas_iir_2_filter_fx32( in = pIn_Out_fx[i]; move32(); shift = sub( filter_state->num_q[stage][0], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->num_fx[stage][0], in ), shift ); shift = sub( filter_state->num_q[stage][0], 31 ); // (num_q + q + 1) - (q + 32) tmp_prod = W_shr( W_mult_32_32( filter_state->num_fx[stage][0], in ), shift ); pIn_Out_fx[i] = out = W_extract_h( W_add( filter_state->state64_fx[stage][0], tmp_prod ) ); move32(); FOR( j = 1; j < filter_state->filt_len; j++ ) { shift = sub( filter_state->num_q[stage][j], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->num_fx[stage][j], in ), shift ); shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( W_mult_32_32( filter_state->num_fx[stage][j], in ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); shift = sub( filter_state->den_q[stage][j], 32 ); tmp_prod = W_shr( W_mult0_32_32( filter_state->den_fx[stage][j], out ), shift ); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( W_mult_32_32( filter_state->den_fx[stage][j], out ), shift ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); move32(); Loading Loading @@ -311,7 +311,7 @@ static void ivas_iir_2_filter_fx64( in = pIn_Out_fx[i]; move32(); shift = sub( filter_state->num_q[stage][0], 31 ); shift = sub( filter_state->num_q[stage][0], 31 ); // (q + numq - 31) - q tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); pIn_Out_fx[i] = out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); Loading