diff options
Diffstat (limited to 'lib/rbcodec/codecs/libspc/cpu/spc_dsp_armv5.h')
-rw-r--r-- | lib/rbcodec/codecs/libspc/cpu/spc_dsp_armv5.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libspc/cpu/spc_dsp_armv5.h b/lib/rbcodec/codecs/libspc/cpu/spc_dsp_armv5.h new file mode 100644 index 0000000000..7056928856 --- /dev/null +++ b/lib/rbcodec/codecs/libspc/cpu/spc_dsp_armv5.h | |||
@@ -0,0 +1,30 @@ | |||
1 | #if !SPC_NOINTERP | ||
2 | /* Want scale optimized for smulw(y) */ | ||
3 | #define GAUSS_TABLE_SCALE 4 | ||
4 | #endif | ||
5 | |||
6 | #if !SPC_NOECHO | ||
7 | |||
8 | #define SPC_DSP_ECHO_APPLY | ||
9 | |||
10 | enum | ||
11 | { | ||
12 | FIR_BUF_CNT = FIR_BUF_HALF * 2, | ||
13 | FIR_BUF_SIZE = FIR_BUF_CNT * sizeof ( int32_t ), | ||
14 | FIR_BUF_ALIGN = FIR_BUF_SIZE, | ||
15 | FIR_BUF_MASK = ~((FIR_BUF_ALIGN / 2) | (sizeof ( int32_t ) - 1)) | ||
16 | }; | ||
17 | |||
18 | /* Echo filter structure embedded in struct Spc_Dsp */ | ||
19 | struct echo_filter | ||
20 | { | ||
21 | /* fir_buf [i + 8] == fir_buf [i], to avoid wrap checking in FIR code */ | ||
22 | int32_t* ptr; | ||
23 | /* FIR history is interleaved with guard to eliminate wrap checking | ||
24 | * when convolving. | ||
25 | * |LR|LR|LR|LR|LR|LR|LR|LR|--|--|--|--|--|--|--|--| */ | ||
26 | /* copy of echo FIR constants as int16_t, loaded as int32 for | ||
27 | * halfword, packed multiples */ | ||
28 | int16_t coeff [VOICE_COUNT]; | ||
29 | }; | ||
30 | #endif /* SPC_NOECHO */ | ||