Skip to content
Snippets Groups Projects
Commit 02c653fa authored by Diego Elio Pettenò's avatar Diego Elio Pettenò Committed by Jean-Marc Valin
Browse files

silk: move down- and upsamplers constants to the header file.


These are only being used outside if the translation unit and only in
a few codepaths; by making them static in the header, the compiler can
optimize them quickly.

This avoids GOT-based access to the external symbol on Unix, and can
allow for constant propagation to optimize the code.

Signed-off-by: default avatarDiego Elio Pettenò <flameeyes@flameeyes.eu>
parent 3f2efcbf
No related branches found
No related tags found
No related merge requests found
......@@ -34,14 +34,6 @@ POSSIBILITY OF SUCH DAMAGE.
#include "resampler_private.h"
/* Tables for 2x downsampler */
const opus_int16 silk_resampler_down2_0 = 9872;
const opus_int16 silk_resampler_down2_1 = 39809 - 65536;
/* Tables for 2x upsampler, high quality */
const opus_int16 silk_resampler_up2_hq_0[ 3 ] = { 1746, 14986, 39083 - 65536 };
const opus_int16 silk_resampler_up2_hq_1[ 3 ] = { 6854, 25769, 55542 - 65536 };
/* Matlab code for the notch filter coefficients: */
/* B = [1, 0.147, 1]; A = [1, 0.107, 0.89]; G = 0.93; freqz(G * B, A, 2^14, 16e3); axis([0, 8000, -10, 1]) */
/* fprintf('\t%6d, %6d, %6d, %6d\n', round(B(2)*2^16), round(-A(2)*2^16), round((1-A(3))*2^16), round(G*2^15)) */
......
......@@ -42,12 +42,12 @@ extern "C"
#define RESAMPLER_ORDER_FIR_12 8
/* Tables for 2x downsampler */
extern const opus_int16 silk_resampler_down2_0;
extern const opus_int16 silk_resampler_down2_1;
static const opus_int16 silk_resampler_down2_0 = 9872;
static const opus_int16 silk_resampler_down2_1 = 39809 - 65536;
/* Tables for 2x upsampler, high quality */
extern const opus_int16 silk_resampler_up2_hq_0[ 3 ];
extern const opus_int16 silk_resampler_up2_hq_1[ 3 ];
static const opus_int16 silk_resampler_up2_hq_0[ 3 ] = { 1746, 14986, 39083 - 65536 };
static const opus_int16 silk_resampler_up2_hq_1[ 3 ] = { 6854, 25769, 55542 - 65536 };
/* Tables with IIR and FIR coefficients for fractional downsamplers */
extern const opus_int16 silk_Resampler_3_4_COEFS[ 2 + 3 * RESAMPLER_DOWN_ORDER_FIR0 / 2 ];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment