summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2014-07-13 14:16:32 +0200
committerNils Wallménius <nils@rockbox.org>2014-07-13 14:19:54 +0200
commit8e8671a73efe117bd34815e3f4c16f3178143774 (patch)
tree0e0282825acbe1c06450822e62aecc092a030ed7
parent888e05ec12f573cfbef0d331888e68808763a84b (diff)
downloadrockbox-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.c2
-rw-r--r--lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h8
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
421static const opus_uint32 *const CELT_PVQ_U_ROW[15]={ 421static 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
39static const opus_int16 logN400[21] = { 39static const opus_int16 logN400[21] ICONST_ATTR = {
400, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; 400, 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
45static const opus_int16 cache_index50[105] = { 45static 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,
4782, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 4782, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41,
4841, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 4841, 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] = {
51305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 51305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240,
52240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, 52240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387,
53}; 53};
54static const unsigned char cache_bits50[392] = { 54static const unsigned char cache_bits50[392] ICONST_ATTR = {
5540, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5540, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
567, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 567, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
577, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 577, 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] = {
79106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 79106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187,
80224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 80224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127,
81182, 234, }; 81182, 234, };
82static const unsigned char cache_caps50[168] = { 82static const unsigned char cache_caps50[168] ICONST_ATTR = {
83224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 83224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185,
84178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 84178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240,
85240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 85240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160,