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.zip rockbox-8e8671a73efe117bd34815e3f4c16f3178143774.tar.gz rockbox-8e8671a73efe117bd34815e3f4c16f3178143774.tar.bz2 rockbox-8e8671a73efe117bd34815e3f4c16f3178143774.tar.xz | |
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 921100f..031a875 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]={ CELT_PVQ_U_DATA+1464,CELT_PVQ_U_DATA+1470,CELT_PVQ_U_DATA+1473 }; #else -static const opus_uint32 *const CELT_PVQ_U_ROW[15]={ +static const opus_uint32 *const CELT_PVQ_U_ROW[15] ICONST_ATTR ={ CELT_PVQ_U_DATA+ 0,CELT_PVQ_U_DATA+ 176,CELT_PVQ_U_DATA+ 351, CELT_PVQ_U_DATA+ 525,CELT_PVQ_U_DATA+ 698,CELT_PVQ_U_DATA+ 870, 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 0396ce3..1f13497 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 = { #ifndef DEF_LOGN400 #define DEF_LOGN400 -static const opus_int16 logN400[21] = { +static const opus_int16 logN400[21] ICONST_ATTR = { 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; #endif #ifndef DEF_PULSE_CACHE50 #define DEF_PULSE_CACHE50 -static const opus_int16 cache_index50[105] = { +static const opus_int16 cache_index50[105] ICONST_ATTR = { -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 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] = { 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, }; -static const unsigned char cache_bits50[392] = { +static const unsigned char cache_bits50[392] ICONST_ATTR = { 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 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] = { 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 182, 234, }; -static const unsigned char cache_caps50[168] = { +static const unsigned char cache_caps50[168] ICONST_ATTR = { 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, |