search for: b_q28

Displaying 7 results from an estimated 7 matches for "b_q28".

2017 Apr 26
2
2 patches related to silk_biquad_alt() optimization
...than the original C code using 32-bit multiplications (for both strides and the same stride 2 unrolling). void silk_biquad_alt_c_MulSingleAQ28( const opus_int16 *in, /* I input signal */ const opus_int32 *B_Q28, /* I MA coefficients [3] */ const opus_int32 *A_Q28, /* I AR coefficients [2] */ opus_int32 *S, /* I/O State vector [2*stride]...
2017 May 15
2
2 patches related to silk_biquad_alt() optimization
...ns > (for both strides and the same stride 2 unrolling). > > void silk_biquad_alt_c_MulSingleAQ28( > const opus_int16 *in, /* I input > signal */ > const opus_int32 *B_Q28, /* I MA > coefficients [3] */ > const opus_int32 *A_Q28, /* I AR > coefficients [2] */ > opus_int32 *S, /* I...
2017 May 08
0
2 patches related to silk_biquad_alt() optimization
...32-bit > multiplications (for both strides and the same stride 2 unrolling). > > void silk_biquad_alt_c_MulSingleAQ28( > const opus_int16 *in, /* I input signal > */ > const opus_int32 *B_Q28, /* I MA > coefficients [3] */ > const opus_int32 *A_Q28, /* I AR > coefficients [2] */ > opus_int32 *S, /* I/O State vecto...
2017 May 17
0
2 patches related to silk_biquad_alt() optimization
...rides and the same stride 2 unrolling). > > > > void silk_biquad_alt_c_MulSingleAQ28( > > const opus_int16 *in, /* I input > > signal */ > > const opus_int32 *B_Q28, /* I MA > > coefficients [3] */ > > const opus_int32 *A_Q28, /* I AR > > coefficients [2] */ > > opus_int32 *S,...
2017 Apr 25
2
2 patches related to silk_biquad_alt() optimization
...0x00003FFF; /* lower part */ A1_U_Q28 = silk_RSHIFT( -A_Q28[ 1 ], 14 ); /* upper part */ ... S[ 0 ] = S[1] + silk_RSHIFT_ROUND( silk_SMULWB( out32_Q14, A0_L_Q28 ), 14 ); S[ 0 ] = silk_SMLAWB( S[ 0 ], out32_Q14, A0_U_Q28 ); S[ 0 ] = silk_SMLAWB( S[ 0 ], B_Q28[ 1 ], inval); S[ 1 ] = silk_RSHIFT_ROUND( silk_SMULWB( out32_Q14, A1_L_Q28 ), 14 ); S[ 1 ] = silk_SMLAWB( S[ 1 ], out32_Q14, A1_U_Q28 ); S[ 1 ] = silk_SMLAWB( S[ 1 ], B_Q28[ 2 ], inval ); A_Q28 is split to 2 14-bit (or 16-bit, whatever) integers, to make the multiplication...
2017 Apr 25
2
2 patches related to silk_biquad_alt() optimization
Hi Jean-Marc, Tested on my chromebook, when stride (channel) == 1, the optimization has no gain compared with C function. When stride (channel) == 2, the optimization is 1.2%-1.8% faster (1.6% at Complexity 8) compared with C function. Please let me know and I can remove the optimization of stride 1 case. If it's allowed to skip the split of A_Q28 and replace by 32-bit multiplication
2012 Sep 10
11
Cleanup/build improvement for opus
Hello all, after FOMS I decided to take a look at the opus library and I found that I could improve a bit the build system and cleanup the code a little bit. Most of the changes to the code has been suggested by my two tools cowstats and missingstatic (part of the ruby-elf gem if you care). HTH, Diego