resampler_private_down_FIR.c | resampler_private_down_FIR.c | |||
---|---|---|---|---|
skipping to change at line 158 | skipping to change at line 158 | |||
opus_int32 inLen /* I Number of input samples */ | opus_int32 inLen /* I Number of input samples */ | |||
) | ) | |||
{ | { | |||
silk_resampler_state_struct *S = (silk_resampler_state_struct *)SS; | silk_resampler_state_struct *S = (silk_resampler_state_struct *)SS; | |||
opus_int32 nSamplesIn; | opus_int32 nSamplesIn; | |||
opus_int32 max_index_Q16, index_increment_Q16; | opus_int32 max_index_Q16, index_increment_Q16; | |||
opus_int32 buf[ RESAMPLER_MAX_BATCH_SIZE_IN + SILK_RESAMPLER_MAX_FIR_OR DER ]; | opus_int32 buf[ RESAMPLER_MAX_BATCH_SIZE_IN + SILK_RESAMPLER_MAX_FIR_OR DER ]; | |||
const opus_int16 *FIR_Coefs; | const opus_int16 *FIR_Coefs; | |||
/* Copy buffered samples to start of buffer */ | /* Copy buffered samples to start of buffer */ | |||
silk_memcpy( buf, S->sFIR, S->FIR_Order * sizeof( opus_int32 ) ); | silk_memcpy( buf, S->sFIR.i32, S->FIR_Order * sizeof( opus_int32 ) ); | |||
FIR_Coefs = &S->Coefs[ 2 ]; | FIR_Coefs = &S->Coefs[ 2 ]; | |||
/* Iterate over blocks of frameSizeIn input samples */ | /* Iterate over blocks of frameSizeIn input samples */ | |||
index_increment_Q16 = S->invRatio_Q16; | index_increment_Q16 = S->invRatio_Q16; | |||
while( 1 ) { | while( 1 ) { | |||
nSamplesIn = silk_min( inLen, S->batchSize ); | nSamplesIn = silk_min( inLen, S->batchSize ); | |||
/* Second-order AR filter (output in Q8) */ | /* Second-order AR filter (output in Q8) */ | |||
silk_resampler_private_AR2( S->sIIR, &buf[ S->FIR_Order ], in, S->C oefs, nSamplesIn ); | silk_resampler_private_AR2( S->sIIR, &buf[ S->FIR_Order ], in, S->C oefs, nSamplesIn ); | |||
skipping to change at line 188 | skipping to change at line 188 | |||
if( inLen > 1 ) { | if( inLen > 1 ) { | |||
/* More iterations to do; copy last part of filtered signal to beginning of buffer */ | /* More iterations to do; copy last part of filtered signal to beginning of buffer */ | |||
silk_memcpy( buf, &buf[ nSamplesIn ], S->FIR_Order * sizeof( op us_int32 ) ); | silk_memcpy( buf, &buf[ nSamplesIn ], S->FIR_Order * sizeof( op us_int32 ) ); | |||
} else { | } else { | |||
break; | break; | |||
} | } | |||
} | } | |||
/* Copy last part of filtered signal to the state for the next call */ | /* Copy last part of filtered signal to the state for the next call */ | |||
silk_memcpy( S->sFIR, &buf[ nSamplesIn ], S->FIR_Order * sizeof( opus_i nt32 ) ); | silk_memcpy( S->sFIR.i32, &buf[ nSamplesIn ], S->FIR_Order * sizeof( op us_int32 ) ); | |||
} | } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |