summaryrefslogtreecommitdiff
path: root/apps/codecs/libmad
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libmad')
-rw-r--r--apps/codecs/libmad/global.h4
-rw-r--r--apps/codecs/libmad/huffman.c38
2 files changed, 23 insertions, 19 deletions
diff --git a/apps/codecs/libmad/global.h b/apps/codecs/libmad/global.h
index fc3dde883e..1ecfea1c14 100644
--- a/apps/codecs/libmad/global.h
+++ b/apps/codecs/libmad/global.h
@@ -66,4 +66,8 @@
66# endif 66# endif
67# endif 67# endif
68 68
69#ifndef ICONST_ATTR_MPA_HUFFMAN
70#define ICONST_ATTR_MPA_HUFFMAN ICONST_ATTR
71#endif
72
69# endif 73# endif
diff --git a/apps/codecs/libmad/huffman.c b/apps/codecs/libmad/huffman.c
index 6ef2390dee..43216d3680 100644
--- a/apps/codecs/libmad/huffman.c
+++ b/apps/codecs/libmad/huffman.c
@@ -50,7 +50,7 @@
50# endif 50# endif
51 51
52static 52static
53union huffquad const hufftabA[] ICONST_ATTR = { 53union huffquad const hufftabA[] ICONST_ATTR_MPA_HUFFMAN = {
54 /* 0000 */ PTR(16, 2), 54 /* 0000 */ PTR(16, 2),
55 /* 0001 */ PTR(20, 2), 55 /* 0001 */ PTR(20, 2),
56 /* 0010 */ PTR(24, 1), 56 /* 0010 */ PTR(24, 1),
@@ -90,7 +90,7 @@ union huffquad const hufftabA[] ICONST_ATTR = {
90}; 90};
91 91
92static 92static
93union huffquad const hufftabB[] ICONST_ATTR = { 93union huffquad const hufftabB[] ICONST_ATTR_MPA_HUFFMAN = {
94 /* 0000 */ V(1, 1, 1, 1, 4), 94 /* 0000 */ V(1, 1, 1, 1, 4),
95 /* 0001 */ V(1, 1, 1, 0, 4), 95 /* 0001 */ V(1, 1, 1, 0, 4),
96 /* 0010 */ V(1, 1, 0, 1, 4), 96 /* 0010 */ V(1, 1, 0, 1, 4),
@@ -126,12 +126,12 @@ union huffquad const hufftabB[] ICONST_ATTR = {
126# endif 126# endif
127 127
128static 128static
129union huffpair const hufftab0[] ICONST_ATTR = { 129union huffpair const hufftab0[] ICONST_ATTR_MPA_HUFFMAN = {
130 /* */ V(0, 0, 0) 130 /* */ V(0, 0, 0)
131}; 131};
132 132
133static 133static
134union huffpair const hufftab1[] ICONST_ATTR = { 134union huffpair const hufftab1[] ICONST_ATTR_MPA_HUFFMAN = {
135 /* 000 */ V(1, 1, 3), 135 /* 000 */ V(1, 1, 3),
136 /* 001 */ V(0, 1, 3), 136 /* 001 */ V(0, 1, 3),
137 /* 010 */ V(1, 0, 2), 137 /* 010 */ V(1, 0, 2),
@@ -143,7 +143,7 @@ union huffpair const hufftab1[] ICONST_ATTR = {
143}; 143};
144 144
145static 145static
146union huffpair const hufftab2[] ICONST_ATTR = { 146union huffpair const hufftab2[] ICONST_ATTR_MPA_HUFFMAN = {
147 /* 000 */ PTR(8, 3), 147 /* 000 */ PTR(8, 3),
148 /* 001 */ V(1, 1, 3), 148 /* 001 */ V(1, 1, 3),
149 /* 010 */ V(0, 1, 3), 149 /* 010 */ V(0, 1, 3),
@@ -165,7 +165,7 @@ union huffpair const hufftab2[] ICONST_ATTR = {
165}; 165};
166 166
167static 167static
168union huffpair const hufftab3[] ICONST_ATTR = { 168union huffpair const hufftab3[] ICONST_ATTR_MPA_HUFFMAN = {
169 /* 000 */ PTR(8, 3), 169 /* 000 */ PTR(8, 3),
170 /* 001 */ V(1, 0, 3), 170 /* 001 */ V(1, 0, 3),
171 /* 010 */ V(1, 1, 2), 171 /* 010 */ V(1, 1, 2),
@@ -187,7 +187,7 @@ union huffpair const hufftab3[] ICONST_ATTR = {
187}; 187};
188 188
189static 189static
190union huffpair const hufftab5[] ICONST_ATTR = { 190union huffpair const hufftab5[] ICONST_ATTR_MPA_HUFFMAN = {
191 /* 000 */ PTR(8, 4), 191 /* 000 */ PTR(8, 4),
192 /* 001 */ V(1, 1, 3), 192 /* 001 */ V(1, 1, 3),
193 /* 010 */ V(0, 1, 3), 193 /* 010 */ V(0, 1, 3),
@@ -221,7 +221,7 @@ union huffpair const hufftab5[] ICONST_ATTR = {
221}; 221};
222 222
223static 223static
224union huffpair const hufftab6[] ICONST_ATTR = { 224union huffpair const hufftab6[] ICONST_ATTR_MPA_HUFFMAN = {
225 /* 0000 */ PTR(16, 3), 225 /* 0000 */ PTR(16, 3),
226 /* 0001 */ PTR(24, 1), 226 /* 0001 */ PTR(24, 1),
227 /* 0010 */ PTR(26, 1), 227 /* 0010 */ PTR(26, 1),
@@ -259,7 +259,7 @@ union huffpair const hufftab6[] ICONST_ATTR = {
259}; 259};
260 260
261static 261static
262union huffpair const hufftab7[] ICONST_ATTR = { 262union huffpair const hufftab7[] ICONST_ATTR_MPA_HUFFMAN = {
263 /* 0000 */ PTR(16, 4), 263 /* 0000 */ PTR(16, 4),
264 /* 0001 */ PTR(32, 4), 264 /* 0001 */ PTR(32, 4),
265 /* 0010 */ PTR(48, 2), 265 /* 0010 */ PTR(48, 2),
@@ -346,7 +346,7 @@ union huffpair const hufftab7[] ICONST_ATTR = {
346/* this version saves 8 entries (16 bytes) at the expense of 346/* this version saves 8 entries (16 bytes) at the expense of
347 an extra lookup in 4 out of 36 cases */ 347 an extra lookup in 4 out of 36 cases */
348static 348static
349union huffpair const hufftab8[] ICONST_ATTR = { 349union huffpair const hufftab8[] ICONST_ATTR_MPA_HUFFMAN = {
350 /* 0000 */ PTR(16, 4), 350 /* 0000 */ PTR(16, 4),
351 /* 0001 */ PTR(32, 2), 351 /* 0001 */ PTR(32, 2),
352 /* 0010 */ V(1, 2, 4), 352 /* 0010 */ V(1, 2, 4),
@@ -424,7 +424,7 @@ union huffpair const hufftab8[] ICONST_ATTR = {
424}; 424};
425# else 425# else
426static 426static
427union huffpair const hufftab8[] ICONST_ATTR = { 427union huffpair const hufftab8[] ICONST_ATTR_MPA_HUFFMAN = {
428 /* 0000 */ PTR(16, 4), 428 /* 0000 */ PTR(16, 4),
429 /* 0001 */ PTR(32, 4), 429 /* 0001 */ PTR(32, 4),
430 /* 0010 */ V(1, 2, 4), 430 /* 0010 */ V(1, 2, 4),
@@ -509,7 +509,7 @@ union huffpair const hufftab8[] ICONST_ATTR = {
509# endif 509# endif
510 510
511static 511static
512union huffpair const hufftab9[] ICONST_ATTR = { 512union huffpair const hufftab9[] ICONST_ATTR_MPA_HUFFMAN = {
513 /* 0000 */ PTR(16, 4), 513 /* 0000 */ PTR(16, 4),
514 /* 0001 */ PTR(32, 3), 514 /* 0001 */ PTR(32, 3),
515 /* 0010 */ PTR(40, 2), 515 /* 0010 */ PTR(40, 2),
@@ -581,7 +581,7 @@ union huffpair const hufftab9[] ICONST_ATTR = {
581}; 581};
582 582
583static 583static
584union huffpair const hufftab10[] ICONST_ATTR = { 584union huffpair const hufftab10[] ICONST_ATTR_MPA_HUFFMAN = {
585 /* 0000 */ PTR(16, 4), 585 /* 0000 */ PTR(16, 4),
586 /* 0001 */ PTR(32, 4), 586 /* 0001 */ PTR(32, 4),
587 /* 0010 */ PTR(48, 2), 587 /* 0010 */ PTR(48, 2),
@@ -719,7 +719,7 @@ union huffpair const hufftab10[] ICONST_ATTR = {
719}; 719};
720 720
721static 721static
722union huffpair const hufftab11[] ICONST_ATTR = { 722union huffpair const hufftab11[] ICONST_ATTR_MPA_HUFFMAN = {
723 /* 0000 */ PTR(16, 4), 723 /* 0000 */ PTR(16, 4),
724 /* 0001 */ PTR(32, 4), 724 /* 0001 */ PTR(32, 4),
725 /* 0010 */ PTR(48, 4), 725 /* 0010 */ PTR(48, 4),
@@ -855,7 +855,7 @@ union huffpair const hufftab11[] ICONST_ATTR = {
855}; 855};
856 856
857static 857static
858union huffpair const hufftab12[] ICONST_ATTR = { 858union huffpair const hufftab12[] ICONST_ATTR_MPA_HUFFMAN = {
859 /* 0000 */ PTR(16, 4), 859 /* 0000 */ PTR(16, 4),
860 /* 0001 */ PTR(32, 4), 860 /* 0001 */ PTR(32, 4),
861 /* 0010 */ PTR(48, 4), 861 /* 0010 */ PTR(48, 4),
@@ -983,7 +983,7 @@ union huffpair const hufftab12[] ICONST_ATTR = {
983}; 983};
984 984
985static 985static
986union huffpair const hufftab13[] ICONST_ATTR = { 986union huffpair const hufftab13[] ICONST_ATTR_MPA_HUFFMAN = {
987 /* 0000 */ PTR(16, 4), 987 /* 0000 */ PTR(16, 4),
988 /* 0001 */ PTR(32, 4), 988 /* 0001 */ PTR(32, 4),
989 /* 0010 */ PTR(48, 4), 989 /* 0010 */ PTR(48, 4),
@@ -1509,7 +1509,7 @@ union huffpair const hufftab13[] ICONST_ATTR = {
1509}; 1509};
1510 1510
1511static 1511static
1512union huffpair const hufftab15[] ICONST_ATTR = { 1512union huffpair const hufftab15[] ICONST_ATTR_MPA_HUFFMAN = {
1513 /* 0000 */ PTR(16, 4), 1513 /* 0000 */ PTR(16, 4),
1514 /* 0001 */ PTR(32, 4), 1514 /* 0001 */ PTR(32, 4),
1515 /* 0010 */ PTR(48, 4), 1515 /* 0010 */ PTR(48, 4),
@@ -2017,7 +2017,7 @@ union huffpair const hufftab15[] ICONST_ATTR = {
2017}; 2017};
2018 2018
2019static 2019static
2020union huffpair const hufftab16[] ICONST_ATTR = { 2020union huffpair const hufftab16[] ICONST_ATTR_MPA_HUFFMAN = {
2021 /* 0000 */ PTR(16, 4), 2021 /* 0000 */ PTR(16, 4),
2022 /* 0001 */ PTR(32, 4), 2022 /* 0001 */ PTR(32, 4),
2023 /* 0010 */ PTR(48, 4), 2023 /* 0010 */ PTR(48, 4),
@@ -2551,7 +2551,7 @@ union huffpair const hufftab16[] ICONST_ATTR = {
2551}; 2551};
2552 2552
2553static 2553static
2554union huffpair const hufftab24[] ICONST_ATTR = { 2554union huffpair const hufftab24[] ICONST_ATTR_MPA_HUFFMAN = {
2555 /* 0000 */ PTR(16, 4), 2555 /* 0000 */ PTR(16, 4),
2556 /* 0001 */ PTR(32, 4), 2556 /* 0001 */ PTR(32, 4),
2557 /* 0010 */ PTR(48, 4), 2557 /* 0010 */ PTR(48, 4),