diff options
author | Nils Wallménius <nils@rockbox.org> | 2014-07-13 14:16:32 +0200 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2014-07-13 14:19:54 +0200 |
commit | 8e8671a73efe117bd34815e3f4c16f3178143774 (patch) | |
tree | 0e0282825acbe1c06450822e62aecc092a030ed7 | |
parent | 888e05ec12f573cfbef0d331888e68808763a84b (diff) | |
download | rockbox-8e8671a73efe117bd34815e3f4c16f3178143774.tar.gz rockbox-8e8671a73efe117bd34815e3f4c16f3178143774.zip |
libopus: use iram for more constants
Speeds up decoding of the 64 kbps test file by 2.59 MHz and the
128 kbps test file by 4.31 MHz on H300 (cf). Decoding the same
files on c200 is sped up by 0.33 MHz and 0.55 MHz respectively.
Change-Id: I0f9f9ef6a7293581cf45e3201b33c65504c95c81
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/cwrs.c | 2 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/cwrs.c b/lib/rbcodec/codecs/libopus/celt/cwrs.c index 921100fdc2..031a875995 100644 --- a/lib/rbcodec/codecs/libopus/celt/cwrs.c +++ b/lib/rbcodec/codecs/libopus/celt/cwrs.c | |||
@@ -418,7 +418,7 @@ static const opus_uint32 *const CELT_PVQ_U_ROW[15]={ | |||
418 | CELT_PVQ_U_DATA+1464,CELT_PVQ_U_DATA+1470,CELT_PVQ_U_DATA+1473 | 418 | CELT_PVQ_U_DATA+1464,CELT_PVQ_U_DATA+1470,CELT_PVQ_U_DATA+1473 |
419 | }; | 419 | }; |
420 | #else | 420 | #else |
421 | static const opus_uint32 *const CELT_PVQ_U_ROW[15]={ | 421 | static const opus_uint32 *const CELT_PVQ_U_ROW[15] ICONST_ATTR ={ |
422 | CELT_PVQ_U_DATA+ 0,CELT_PVQ_U_DATA+ 176,CELT_PVQ_U_DATA+ 351, | 422 | CELT_PVQ_U_DATA+ 0,CELT_PVQ_U_DATA+ 176,CELT_PVQ_U_DATA+ 351, |
423 | CELT_PVQ_U_DATA+ 525,CELT_PVQ_U_DATA+ 698,CELT_PVQ_U_DATA+ 870, | 423 | CELT_PVQ_U_DATA+ 525,CELT_PVQ_U_DATA+ 698,CELT_PVQ_U_DATA+ 870, |
424 | CELT_PVQ_U_DATA+1041,CELT_PVQ_U_DATA+1131,CELT_PVQ_U_DATA+1178, | 424 | CELT_PVQ_U_DATA+1041,CELT_PVQ_U_DATA+1131,CELT_PVQ_U_DATA+1178, |
diff --git a/lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h b/lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h index 0396ce38df..1f13497c69 100644 --- a/lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h +++ b/lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h | |||
@@ -36,13 +36,13 @@ static const opus_val16 window120[120] ICONST_ATTR = { | |||
36 | 36 | ||
37 | #ifndef DEF_LOGN400 | 37 | #ifndef DEF_LOGN400 |
38 | #define DEF_LOGN400 | 38 | #define DEF_LOGN400 |
39 | static const opus_int16 logN400[21] = { | 39 | static const opus_int16 logN400[21] ICONST_ATTR = { |
40 | 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; | 40 | 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; |
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #ifndef DEF_PULSE_CACHE50 | 43 | #ifndef DEF_PULSE_CACHE50 |
44 | #define DEF_PULSE_CACHE50 | 44 | #define DEF_PULSE_CACHE50 |
45 | static const opus_int16 cache_index50[105] = { | 45 | static const opus_int16 cache_index50[105] ICONST_ATTR = { |
46 | -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, | 46 | -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, |
47 | 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, | 47 | 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, |
48 | 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, | 48 | 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, |
@@ -51,7 +51,7 @@ static const opus_int16 cache_index50[105] = { | |||
51 | 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, | 51 | 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, |
52 | 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, | 52 | 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, |
53 | }; | 53 | }; |
54 | static const unsigned char cache_bits50[392] = { | 54 | static const unsigned char cache_bits50[392] ICONST_ATTR = { |
55 | 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, | 55 | 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
56 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, | 56 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
57 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, | 57 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, |
@@ -79,7 +79,7 @@ static const unsigned char cache_bits50[392] = { | |||
79 | 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, | 79 | 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, |
80 | 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, | 80 | 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, |
81 | 182, 234, }; | 81 | 182, 234, }; |
82 | static const unsigned char cache_caps50[168] = { | 82 | static const unsigned char cache_caps50[168] ICONST_ATTR = { |
83 | 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, | 83 | 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, |
84 | 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, | 84 | 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, |
85 | 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, | 85 | 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, |