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