diff options
author | Mohamed Tarek <mt@rockbox.org> | 2009-08-16 12:51:17 +0000 |
---|---|---|
committer | Mohamed Tarek <mt@rockbox.org> | 2009-08-16 12:51:17 +0000 |
commit | 6c5714a6ee97a0ac94d69bdfb1f239d445458b21 (patch) | |
tree | fa65103331d272eb6fbe2029d7892e725e8e025a | |
parent | 3d6f86eb2ff21f12d9f884a8271aa783f5046ae0 (diff) | |
download | rockbox-6c5714a6ee97a0ac94d69bdfb1f239d445458b21.tar.gz rockbox-6c5714a6ee97a0ac94d69bdfb1f239d445458b21.zip |
Put the lookup tables into iram ; 2% speedup on ColdFire 1% on ARM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22345 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/codecs/libatrac/atrac3data_fixed.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/apps/codecs/libatrac/atrac3data_fixed.h b/apps/codecs/libatrac/atrac3data_fixed.h index 8dbc952c2f..561c45a87d 100644 --- a/apps/codecs/libatrac/atrac3data_fixed.h +++ b/apps/codecs/libatrac/atrac3data_fixed.h | |||
@@ -1,13 +1,13 @@ | |||
1 | 1 | ||
2 | /* tables for the scalefactor decoding */ | 2 | /* tables for the scalefactor decoding */ |
3 | /* scaled by 2^31*/ | 3 | /* scaled by 2^31*/ |
4 | static const int32_t iMaxQuant_fix[8] = { | 4 | static const int32_t iMaxQuant_fix[8] ICONST_ATTR = { |
5 | 0x0, 0x55555580, 0x33333340, 0x24924940, 0x1c71c720, 0x11111120, 0x8421080, | 5 | 0x0, 0x55555580, 0x33333340, 0x24924940, 0x1c71c720, 0x11111120, 0x8421080, |
6 | 0x4104108 | 6 | 0x4104108 |
7 | }; | 7 | }; |
8 | 8 | ||
9 | /* scaled by 2^16 */ | 9 | /* scaled by 2^16 */ |
10 | static const int32_t SFTable_fixed[64] = { | 10 | static const int32_t SFTable_fixed[64] ICONST_ATTR = { |
11 | 0x00000800, 0x00000a14, 0x00000cb3, 0x00001000, 0x00001429, 0x00001966, | 11 | 0x00000800, 0x00000a14, 0x00000cb3, 0x00001000, 0x00001429, 0x00001966, |
12 | 0x00002000, 0x00002851, 0x000032cc, 0x00004000, 0x000050a3, 0x00006598, | 12 | 0x00002000, 0x00002851, 0x000032cc, 0x00004000, 0x000050a3, 0x00006598, |
13 | 0x00008000, 0x0000a145, 0x0000cb30, 0x00010000, 0x0001428a, 0x00019660, | 13 | 0x00008000, 0x0000a145, 0x0000cb30, 0x00010000, 0x0001428a, 0x00019660, |
@@ -23,7 +23,7 @@ static const int32_t SFTable_fixed[64] = { | |||
23 | 23 | ||
24 | /* transform data */ | 24 | /* transform data */ |
25 | /* floating point values scaled by 2^31 */ | 25 | /* floating point values scaled by 2^31 */ |
26 | static const int32_t qmf_48tap_half_fix[24] = { | 26 | static const int32_t qmf_48tap_half_fix[24] ICONST_ATTR = { |
27 | 0xffff855e, 0xfffcfbca, 0xfffe28eb, 0x9de6b, 0x7f028, 0xffe40d08, | 27 | 0xffff855e, 0xfffcfbca, 0xfffe28eb, 0x9de6b, 0x7f028, 0xffe40d08, |
28 | 0xffeef140, 0x42a692, 0x19ab1f, 0xff75dec7, 0xffe738f5, 0x100e928, | 28 | 0xffeef140, 0x42a692, 0x19ab1f, 0xff75dec7, 0xffe738f5, 0x100e928, |
29 | 0xfffdfedf, 0xfe478b84, 0x50b279, 0x2c83f88, 0xff005ad7, 0xfba2ee80, | 29 | 0xfffdfedf, 0xfe478b84, 0x50b279, 0x2c83f88, 0xff005ad7, 0xfba2ee80, |
@@ -31,7 +31,7 @@ static const int32_t qmf_48tap_half_fix[24] = { | |||
31 | }; | 31 | }; |
32 | 32 | ||
33 | /* mdct window scaled by 2^31 */ | 33 | /* mdct window scaled by 2^31 */ |
34 | static const int32_t window_lookup[512] = { | 34 | static const int32_t window_lookup[512] ICONST_ATTR = { |
35 | 0xffffb10c, 0xfffd394b, 0xfff8494f, 0xfff0e025, 0xffe6fc5f, 0xffda9c15, | 35 | 0xffffb10c, 0xfffd394b, 0xfff8494f, 0xfff0e025, 0xffe6fc5f, 0xffda9c15, |
36 | 0xffcbbce6, 0xffba5bf4, 0xffa675e8, 0xff9006f0, 0xff770aba, 0xff5b7c7e, | 36 | 0xffcbbce6, 0xffba5bf4, 0xffa675e8, 0xff9006f0, 0xff770aba, 0xff5b7c7e, |
37 | 0xff3d56f2, 0xff1c9452, 0xfef92e59, 0xfed31e45, 0xfeaa5cd5, 0xfe7ee247, | 37 | 0xff3d56f2, 0xff1c9452, 0xfef92e59, 0xfed31e45, 0xfeaa5cd5, 0xfe7ee247, |
@@ -121,13 +121,13 @@ static const int32_t window_lookup[512] = { | |||
121 | }; | 121 | }; |
122 | 122 | ||
123 | /* Gain tables scaled by 2^16 */ | 123 | /* Gain tables scaled by 2^16 */ |
124 | static const int32_t gain_tab1[16] = { | 124 | static const int32_t gain_tab1[16] ICONST_ATTR = { |
125 | 0x00100000, 0x00080000, 0x00040000, 0x00020000, 0x00010000, 0x00008000, | 125 | 0x00100000, 0x00080000, 0x00040000, 0x00020000, 0x00010000, 0x00008000, |
126 | 0x00004000, 0x00002000, 0x00001000, 0x00000800, 0x00000400, 0x00000200, | 126 | 0x00004000, 0x00002000, 0x00001000, 0x00000800, 0x00000400, 0x00000200, |
127 | 0x00000100, 0x00000080, 0x00000040, 0x00000020, | 127 | 0x00000100, 0x00000080, 0x00000040, 0x00000020, |
128 | }; | 128 | }; |
129 | 129 | ||
130 | static const int32_t gain_tab2[31] = { | 130 | static const int32_t gain_tab2[31] ICONST_ATTR = { |
131 | 0x0003ab03, 0x00035d14, 0x0003159d, 0x0002d414, 0x000297fb, 0x000260e0, | 131 | 0x0003ab03, 0x00035d14, 0x0003159d, 0x0002d414, 0x000297fb, 0x000260e0, |
132 | 0x00022e57, 0x00020000, 0x0001d582, 0x0001ae8a, 0x00018ace, 0x00016a0a, | 132 | 0x00022e57, 0x00020000, 0x0001d582, 0x0001ae8a, 0x00018ace, 0x00016a0a, |
133 | 0x00014bfe, 0x00013070, 0x0001172c, 0x00010000, 0x0000eac1, 0x0000d745, | 133 | 0x00014bfe, 0x00013070, 0x0001172c, 0x00010000, 0x0000eac1, 0x0000d745, |
@@ -138,7 +138,7 @@ static const int32_t gain_tab2[31] = { | |||
138 | }; | 138 | }; |
139 | 139 | ||
140 | /* Joint-Stereo related tables, scaled by 2^16 */ | 140 | /* Joint-Stereo related tables, scaled by 2^16 */ |
141 | static const int32_t matrixCoeffs_fix[8] = { | 141 | static const int32_t matrixCoeffs_fix[8] ICONST_ATTR = { |
142 | 0x00000000, 0x00020000, 0x00020000, 0x00020000, | 142 | 0x00000000, 0x00020000, 0x00020000, 0x00020000, |
143 | 0x00000000, 0x00000000, 0x00010000, 0x00010000, | 143 | 0x00000000, 0x00000000, 0x00010000, 0x00010000, |
144 | }; | 144 | }; |