Loading lib_com/ivas_filters_fx.c +83 −95 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ void ivas_filters_init_fx( filter_state->den_q[IVAS_FILTER_STAGE_0][i] = Q30; move16(); move16(); // #else FIXME #else filter_state->num_e[IVAS_FILTER_STAGE_0][i] = 1; filter_state->den_e[IVAS_FILTER_STAGE_0][i] = 1; move16(); Loading @@ -81,13 +81,13 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS filter_state->state64_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; move64(); move64(); move64(); // #else FIXME #else filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; Loading Loading @@ -126,7 +126,7 @@ void ivas_filters_init_fx( move16(); move16(); move16(); // #else FIXME #else filter_state->num_e[IVAS_FILTER_STAGE_0][i] = filt_coeff_e[i]; filter_state->den_e[IVAS_FILTER_STAGE_0][i] = filt_coeff_e[i + IVAS_BIQUAD_FILT_LEN]; filter_state->num_e[IVAS_FILTER_STAGE_1][i] = filt_coeff_e[i + IVAS_BIQUAD_FILT_LEN * 2]; Loading @@ -139,19 +139,19 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS filter_state->state64_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][2] = 0; move64(); move64(); move64(); move64(); move64(); move64(); // #else FIXME #else filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; Loading Loading @@ -183,8 +183,7 @@ 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 ); static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage ); static Word64 ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, const Word16 stage, const Word64 in ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); /*-----------------------------------------------------------------------------------------* Loading Loading @@ -212,48 +211,39 @@ static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) } /*-----------------------------------------------------------------------------------------* * Function ivas_iir_2_filter_fx32() * Function ivas_iir_2_filter_fx() * * Process call for filtering a signal * Process call for filtering a sample *-----------------------------------------------------------------------------------------*/ static void ivas_iir_2_filter_fx32( static Word64 ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage ) { Word64 tmp_prod, tmp, in, out; Word16 i, j, shift; FOR( i = 0; i < length; i++ ) const Word16 stage, const Word64 in ) { in = W_deposit32_h( pIn_Out_fx[i] ); move32(); Word64 tmp_prod, tmp, out; Word16 j, shift; shift = sub( filter_state->num_q[stage][0], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); out = W_add( filter_state->state_fx[stage][0], tmp_prod ); FOR( j = 1; j < filter_state->filt_len; j++ ) { shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][j] ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); tmp = W_add( filter_state->state_fx[stage][j], tmp_prod ); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( out, filter_state->den_fx[stage][j] ), shift ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); filter_state->state_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); move32(); } } return; return out; } /*-----------------------------------------------------------------------------------------* Loading @@ -267,61 +257,38 @@ void ivas_filter_process_fx32( Word32 *pIn_Out_fx, /* i/o: signal subject to filtering Q(q) */ const Word16 length ) /* i : filter order */ { Word64 in, out; Word16 i; SWITCH( filter_state->order ) { case IVAS_FILTER_ORDER_1: ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); BREAK; case IVAS_FILTER_ORDER_4: ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_1 ); BREAK; default: BREAK; } return; } /*-----------------------------------------------------------------------------------------* * Function ivas_iir_2_filter_fx64() * * Process call for filtering a signal *-----------------------------------------------------------------------------------------*/ static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage ) { Word64 tmp_prod, tmp, in, out; Word16 i, j, shift; FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; in = W_deposit32_h( pIn_Out_fx[i] ); move32(); shift = sub( filter_state->num_q[stage][0], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); pIn_Out_fx[i] = out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); FOR( j = 1; j < filter_state->filt_len; j++ ) } BREAK; case IVAS_FILTER_ORDER_4: FOR( i = 0; i < length; i++ ) { shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][j] ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); in = W_deposit32_h( pIn_Out_fx[i] ); move32(); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( out, filter_state->den_fx[stage][j] ), shift ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_1, out ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); } BREAK; default: BREAK; } return; Loading @@ -339,14 +306,35 @@ void ivas_filter_process_fx64( const Word16 length ) /* i : filter order */ { Word64 in, out; Word16 i; SWITCH( filter_state->order ) { case IVAS_FILTER_ORDER_1: ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; move64(); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); pIn_Out_fx[i] = out; move64(); } BREAK; case IVAS_FILTER_ORDER_4: ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_1 ); FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; move64(); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_1, out ); pIn_Out_fx[i] = out; move64(); } BREAK; default: BREAK; Loading @@ -355,7 +343,7 @@ void ivas_filter_process_fx64( return; } // #else FIXME #else static void ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 *pIn_Out_e ); /*-----------------------------------------------------------------------------------------* Loading lib_com/ivas_prot_fx.h +1 −1 Original line number Diff line number Diff line Loading @@ -3815,7 +3815,7 @@ void ivas_filter_process_fx64( Word64 *pIn_Out_fx, /* i : signal subject to filtering */ const Word16 length /* i : filter order */ ); // #else FIXME #else void ivas_filter_process_fx( ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ Word32 *pIn_Out_fx, /* i : signal subject to filtering */ Loading lib_com/ivas_stat_com.h +2 −2 Original line number Diff line number Diff line Loading @@ -657,10 +657,10 @@ typedef struct ivas_filters_process_state_t Word32 num_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word32 den_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; #ifdef OPT_2239_IVAS_FILTER_PROCESS Word64 state64_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word64 state_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 num_q[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 den_q[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; // #else FIXME #else Word32 state_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 num_e[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 den_e[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Loading Loading
lib_com/ivas_filters_fx.c +83 −95 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ void ivas_filters_init_fx( filter_state->den_q[IVAS_FILTER_STAGE_0][i] = Q30; move16(); move16(); // #else FIXME #else filter_state->num_e[IVAS_FILTER_STAGE_0][i] = 1; filter_state->den_e[IVAS_FILTER_STAGE_0][i] = 1; move16(); Loading @@ -81,13 +81,13 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS filter_state->state64_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; move64(); move64(); move64(); // #else FIXME #else filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; Loading Loading @@ -126,7 +126,7 @@ void ivas_filters_init_fx( move16(); move16(); move16(); // #else FIXME #else filter_state->num_e[IVAS_FILTER_STAGE_0][i] = filt_coeff_e[i]; filter_state->den_e[IVAS_FILTER_STAGE_0][i] = filt_coeff_e[i + IVAS_BIQUAD_FILT_LEN]; filter_state->num_e[IVAS_FILTER_STAGE_1][i] = filt_coeff_e[i + IVAS_BIQUAD_FILT_LEN * 2]; Loading @@ -139,19 +139,19 @@ void ivas_filters_init_fx( } #ifdef OPT_2239_IVAS_FILTER_PROCESS filter_state->state64_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][0] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][1] = 0; filter_state->state64_fx[IVAS_FILTER_STAGE_1][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_1][2] = 0; move64(); move64(); move64(); move64(); move64(); move64(); // #else FIXME #else filter_state->state_fx[IVAS_FILTER_STAGE_0][0] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][1] = 0; filter_state->state_fx[IVAS_FILTER_STAGE_0][2] = 0; Loading Loading @@ -183,8 +183,7 @@ 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 ); static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage ); static Word64 ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, const Word16 stage, const Word64 in ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); /*-----------------------------------------------------------------------------------------* Loading Loading @@ -212,48 +211,39 @@ static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) } /*-----------------------------------------------------------------------------------------* * Function ivas_iir_2_filter_fx32() * Function ivas_iir_2_filter_fx() * * Process call for filtering a signal * Process call for filtering a sample *-----------------------------------------------------------------------------------------*/ static void ivas_iir_2_filter_fx32( static Word64 ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage ) { Word64 tmp_prod, tmp, in, out; Word16 i, j, shift; FOR( i = 0; i < length; i++ ) const Word16 stage, const Word64 in ) { in = W_deposit32_h( pIn_Out_fx[i] ); move32(); Word64 tmp_prod, tmp, out; Word16 j, shift; shift = sub( filter_state->num_q[stage][0], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); out = W_add( filter_state->state_fx[stage][0], tmp_prod ); FOR( j = 1; j < filter_state->filt_len; j++ ) { shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][j] ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); tmp = W_add( filter_state->state_fx[stage][j], tmp_prod ); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( out, filter_state->den_fx[stage][j] ), shift ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); filter_state->state_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); move32(); } } return; return out; } /*-----------------------------------------------------------------------------------------* Loading @@ -267,61 +257,38 @@ void ivas_filter_process_fx32( Word32 *pIn_Out_fx, /* i/o: signal subject to filtering Q(q) */ const Word16 length ) /* i : filter order */ { Word64 in, out; Word16 i; SWITCH( filter_state->order ) { case IVAS_FILTER_ORDER_1: ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); BREAK; case IVAS_FILTER_ORDER_4: ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); ivas_iir_2_filter_fx32( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_1 ); BREAK; default: BREAK; } return; } /*-----------------------------------------------------------------------------------------* * Function ivas_iir_2_filter_fx64() * * Process call for filtering a signal *-----------------------------------------------------------------------------------------*/ static void ivas_iir_2_filter_fx64( ivas_filters_process_state_t *filter_state, Word64 *pIn_Out_fx, const Word16 length, const Word16 stage ) { Word64 tmp_prod, tmp, in, out; Word16 i, j, shift; FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; in = W_deposit32_h( pIn_Out_fx[i] ); move32(); shift = sub( filter_state->num_q[stage][0], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][0] ), shift ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); pIn_Out_fx[i] = out = W_add( filter_state->state64_fx[stage][0], tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); FOR( j = 1; j < filter_state->filt_len; j++ ) } BREAK; case IVAS_FILTER_ORDER_4: FOR( i = 0; i < length; i++ ) { shift = sub( filter_state->num_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( in, filter_state->num_fx[stage][j] ), shift ); tmp = W_add( filter_state->state64_fx[stage][j], tmp_prod ); in = W_deposit32_h( pIn_Out_fx[i] ); move32(); shift = sub( filter_state->den_q[stage][j], 31 ); tmp_prod = W_shr( Mpy_64_32( out, filter_state->den_fx[stage][j] ), shift ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_1, out ); filter_state->state64_fx[stage][j - 1] = W_sub( tmp, tmp_prod ); pIn_Out_fx[i] = W_extract_h( out ); move32(); } BREAK; default: BREAK; } return; Loading @@ -339,14 +306,35 @@ void ivas_filter_process_fx64( const Word16 length ) /* i : filter order */ { Word64 in, out; Word16 i; SWITCH( filter_state->order ) { case IVAS_FILTER_ORDER_1: ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; move64(); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); pIn_Out_fx[i] = out; move64(); } BREAK; case IVAS_FILTER_ORDER_4: ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_0 ); ivas_iir_2_filter_fx64( filter_state, pIn_Out_fx, length, IVAS_FILTER_STAGE_1 ); FOR( i = 0; i < length; i++ ) { in = pIn_Out_fx[i]; move64(); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_0, in ); out = ivas_iir_2_filter_fx( filter_state, IVAS_FILTER_STAGE_1, out ); pIn_Out_fx[i] = out; move64(); } BREAK; default: BREAK; Loading @@ -355,7 +343,7 @@ void ivas_filter_process_fx64( return; } // #else FIXME #else static void ivas_iir_2_filter_fx( ivas_filters_process_state_t *filter_state, Word32 *pIn_Out_fx, const Word16 length, const Word16 stage, Word16 *pIn_Out_e ); /*-----------------------------------------------------------------------------------------* Loading
lib_com/ivas_prot_fx.h +1 −1 Original line number Diff line number Diff line Loading @@ -3815,7 +3815,7 @@ void ivas_filter_process_fx64( Word64 *pIn_Out_fx, /* i : signal subject to filtering */ const Word16 length /* i : filter order */ ); // #else FIXME #else void ivas_filter_process_fx( ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ Word32 *pIn_Out_fx, /* i : signal subject to filtering */ Loading
lib_com/ivas_stat_com.h +2 −2 Original line number Diff line number Diff line Loading @@ -657,10 +657,10 @@ typedef struct ivas_filters_process_state_t Word32 num_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word32 den_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; #ifdef OPT_2239_IVAS_FILTER_PROCESS Word64 state64_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word64 state_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 num_q[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 den_q[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; // #else FIXME #else Word32 state_fx[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 num_e[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Word16 den_e[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; Loading