diff options
Diffstat (limited to 'apps/codecs/libmad')
-rw-r--r-- | apps/codecs/libmad/global.h | 4 | ||||
-rw-r--r-- | apps/codecs/libmad/huffman.c | 38 |
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 | ||
52 | static | 52 | static |
53 | union huffquad const hufftabA[] ICONST_ATTR = { | 53 | union 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 | ||
92 | static | 92 | static |
93 | union huffquad const hufftabB[] ICONST_ATTR = { | 93 | union 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 | ||
128 | static | 128 | static |
129 | union huffpair const hufftab0[] ICONST_ATTR = { | 129 | union huffpair const hufftab0[] ICONST_ATTR_MPA_HUFFMAN = { |
130 | /* */ V(0, 0, 0) | 130 | /* */ V(0, 0, 0) |
131 | }; | 131 | }; |
132 | 132 | ||
133 | static | 133 | static |
134 | union huffpair const hufftab1[] ICONST_ATTR = { | 134 | union 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 | ||
145 | static | 145 | static |
146 | union huffpair const hufftab2[] ICONST_ATTR = { | 146 | union 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 | ||
167 | static | 167 | static |
168 | union huffpair const hufftab3[] ICONST_ATTR = { | 168 | union 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 | ||
189 | static | 189 | static |
190 | union huffpair const hufftab5[] ICONST_ATTR = { | 190 | union 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 | ||
223 | static | 223 | static |
224 | union huffpair const hufftab6[] ICONST_ATTR = { | 224 | union 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 | ||
261 | static | 261 | static |
262 | union huffpair const hufftab7[] ICONST_ATTR = { | 262 | union 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 */ |
348 | static | 348 | static |
349 | union huffpair const hufftab8[] ICONST_ATTR = { | 349 | union 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 |
426 | static | 426 | static |
427 | union huffpair const hufftab8[] ICONST_ATTR = { | 427 | union 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 | ||
511 | static | 511 | static |
512 | union huffpair const hufftab9[] ICONST_ATTR = { | 512 | union 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 | ||
583 | static | 583 | static |
584 | union huffpair const hufftab10[] ICONST_ATTR = { | 584 | union 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 | ||
721 | static | 721 | static |
722 | union huffpair const hufftab11[] ICONST_ATTR = { | 722 | union 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 | ||
857 | static | 857 | static |
858 | union huffpair const hufftab12[] ICONST_ATTR = { | 858 | union 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 | ||
985 | static | 985 | static |
986 | union huffpair const hufftab13[] ICONST_ATTR = { | 986 | union 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 | ||
1511 | static | 1511 | static |
1512 | union huffpair const hufftab15[] ICONST_ATTR = { | 1512 | union 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 | ||
2019 | static | 2019 | static |
2020 | union huffpair const hufftab16[] ICONST_ATTR = { | 2020 | union 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 | ||
2553 | static | 2553 | static |
2554 | union huffpair const hufftab24[] ICONST_ATTR = { | 2554 | union 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), |