[go: nahoru, domu]

blob: 1307edb95c6a088c24e22bcdaa9e99d4f7b36063 [file] [log] [blame]
jm4c7f0a52007-03-15 13:13:25 +00001################# REMOVE warnings on trimedia compiler ##############################
2################# Not critical to compilation ##############################
3
41. Change the following statements to remove warning for constant expression
5(i) mdf.c [if(0) --> #if 0]
Tristan Matthews59273682014-12-06 19:42:15 -05006(ii) preprocess.c [if(1) --> #if 1]
jm4c7f0a52007-03-15 13:13:25 +00007
82. add REMARK_ON macro to remove warning on not reference variable
9-- uses (void)<variable> to remove warning on not referenced variable
10-- #define REMARK_ON
11-- (void)<variable>
12-- #endif
13-- search for REMARK_ON on the following files
14(i) jitter.c
Tristan Matthews59273682014-12-06 19:42:15 -050015(ii) mdf.c
16(iii) filterbank.c
17(iv) preprocess.c
jm4c7f0a52007-03-15 13:13:25 +000018
193. commented out the following in pseudofloat.h for unused variable
20//static const spx_float_t FLOAT_HALF = {16384,-15};
21
jm4c7f0a52007-03-15 13:13:25 +000022################# Patches for trimedia compiler ##############################
23################# Critical to compilation ##############################
jm4c7f0a52007-03-15 13:13:25 +000024
25-- added the #elif defined (TM_ASM) to the following files for optimized codes
26(1) arch.h
Tristan Matthews59273682014-12-06 19:42:15 -050027(2) fftwrap.c
28(3) filterbank.c
29(4) kiss_fft.c
30(5) kiss_fftr.c
31(6) mdf.c
32(7) preprocess.c
jm4c7f0a52007-03-15 13:13:25 +000033
34-- added macro PREPROCESS_MDF_FLOAT to allow using of floating point
35-- in mdf and preprocess while keeping fixed point in encoder/decoder
36-- This is due to the fact that preprocess/mdf run faster on floating
37-- point on trimedia
38-- added the following 3 lines to the files below
39#ifdef PREPROCESS_MDF_FLOAT
40#undef FIXED_POINT
41#endif
42(1) mdf.c
43(2) preprocess.c
44(3) filterbank.c
45(4) fftwrap.c
46(5) kiss_fft.c
47(6) kiss_fftr.c
48
49-- created a new USE_COMPACT_KISS_FFT for fftwrap.c and shifted defination
50-- to config file so that user configure the usage of fft on config.h
51-- TOEXPLORE:is it possible to share table between mdf/preprocess?
52-- Introducing this macro made the following changes in C code
53-- New macro to facilitate integration
54(grouping real/complex for dc and nyquist frequency seems to require a large
55amount of memory for mdf, therefore did not made the changes for that)
56(1) modify preprocess.c on init and destroy
57(2) modify mdf.c on init and destroy
58(3) shifted power_spectrum to fftwrap.c to share optimised code between
59 preprocess.c and mdf.c
60
61################# NOTES ##############################
62(1) fixed point encoding/decoding is tested on narrowband
63 - some of the QX fractions are packed together to
64 (frac1 * a + frac2 * a) >> X (should be more accurate in rounding)
65 instead of
66 ((frac1 * a) >> X) + ((frac2 * a) >> X)
67 will cause some different between optimized and unoptimized code.
68 tried decoding/encoding optimized code on some audio files retains
69 the clearity of the word
70
71 - wideband/ultrawideband is not heavily tested yet
72
73(2) optimized fixed point code requires memory alignment
74 - used config to debug on functions where memory is not align
75
76(3) floating point optimization for preprocess/mdf is tested
77 fixed point is not tested yet (except fft/filterbank)
78 Note (1) also applies to sround in fft for fixed point
79 some optimization is provided for fixed point as it requires lesser
80 memory compared to floating point.
81
82(4) unroll configurations provided to reduce code size if required
83
84(5) use profile options only if compiler profiling fails to work
85
86(6) can't include the makefile as it is close proprietary
87
88################# TODO:For Trimedia ##############################
Tristan Matthews59273682014-12-06 19:42:15 -050089(1) Optimizations for fixed point in mdf/preprocess
jm4c7f0a52007-03-15 13:13:25 +000090
91################# Added Files ##############################
92- _kiss_fft_guts_tm.h
jm4c7f0a52007-03-15 13:13:25 +000093- fftwrap_tm.h
94- filterbank_tm.h
95- filters_tm.h
96- fixed_tm.h
97- kiss_fft_tm.h
98- kiss_fftr_tm.h
jm4c7f0a52007-03-15 13:13:25 +000099- mdf_tm.h
100- misc_tm.h
101- preprocess_tm.h
jm4c7f0a52007-03-15 13:13:25 +0000102- config.h
103- speex_config_types.h