diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/codecs/Tremor/bitwise.c | 4 | ||||
-rw-r--r-- | apps/codecs/Tremor/block.c | 3 | ||||
-rw-r--r-- | apps/codecs/Tremor/config-tremor.h | 16 | ||||
-rw-r--r-- | apps/codecs/Tremor/floor1.c | 5 | ||||
-rw-r--r-- | apps/codecs/Tremor/framing.c | 8 | ||||
-rw-r--r-- | apps/codecs/Tremor/mdct.c | 6 | ||||
-rw-r--r-- | apps/codecs/Tremor/res012.c | 3 | ||||
-rw-r--r-- | apps/codecs/Tremor/synthesis.c | 3 | ||||
-rw-r--r-- | apps/codecs/Tremor/vorbisfile.c | 4 | ||||
-rw-r--r-- | apps/codecs/Tremor/window_lookup.h | 4 | ||||
-rw-r--r-- | apps/codecs/flac.c | 2 | ||||
-rw-r--r-- | apps/codecs/libalac/alac.c | 6 | ||||
-rw-r--r-- | apps/codecs/libalac/decomp.h | 11 | ||||
-rw-r--r-- | apps/codecs/libffmpegFLAC/bitstream.h | 14 | ||||
-rw-r--r-- | apps/codecs/libffmpegFLAC/decoder.c | 12 | ||||
-rw-r--r-- | apps/codecs/libffmpegFLAC/decoder.h | 2 | ||||
-rw-r--r-- | apps/codecs/libffmpegFLAC/shndec.c | 2 | ||||
-rw-r--r-- | apps/codecs/libmad/global.h | 4 | ||||
-rw-r--r-- | apps/codecs/libmad/huffman.c | 38 | ||||
-rw-r--r-- | apps/codecs/libmusepack/musepack.h | 4 | ||||
-rw-r--r-- | apps/codecs/mpc.c | 3 | ||||
-rw-r--r-- | apps/codecs/shorten.c | 6 | ||||
-rw-r--r-- | apps/playback.c | 6 |
23 files changed, 104 insertions, 62 deletions
diff --git a/apps/codecs/Tremor/bitwise.c b/apps/codecs/Tremor/bitwise.c index 3e967b9d42..55d3712708 100644 --- a/apps/codecs/Tremor/bitwise.c +++ b/apps/codecs/Tremor/bitwise.c | |||
@@ -49,7 +49,7 @@ void oggpack_readinit(oggpack_buffer *b,ogg_reference *r){ | |||
49 | } | 49 | } |
50 | 50 | ||
51 | /* Read in bits without advancing the bitptr; bits <= 32 */ | 51 | /* Read in bits without advancing the bitptr; bits <= 32 */ |
52 | long oggpack_look_full(oggpack_buffer *b,int bits) ICODE_ATTR; | 52 | long oggpack_look_full(oggpack_buffer *b,int bits) ICODE_ATTR_TREMOR_NOT_MDCT; |
53 | long oggpack_look_full(oggpack_buffer *b,int bits){ | 53 | long oggpack_look_full(oggpack_buffer *b,int bits){ |
54 | unsigned long m=oggpack_mask[bits]; | 54 | unsigned long m=oggpack_mask[bits]; |
55 | unsigned long ret=-1; | 55 | unsigned long ret=-1; |
@@ -136,7 +136,7 @@ int oggpack_eop(oggpack_buffer *b){ | |||
136 | } | 136 | } |
137 | 137 | ||
138 | /* bits <= 32 */ | 138 | /* bits <= 32 */ |
139 | long oggpack_read(oggpack_buffer *b,int bits) ICODE_ATTR; | 139 | long oggpack_read(oggpack_buffer *b,int bits) ICODE_ATTR_TREMOR_NOT_MDCT; |
140 | long oggpack_read(oggpack_buffer *b,int bits){ | 140 | long oggpack_read(oggpack_buffer *b,int bits){ |
141 | unsigned long m=oggpack_mask[bits]; | 141 | unsigned long m=oggpack_mask[bits]; |
142 | ogg_uint32_t ret=-1; | 142 | ogg_uint32_t ret=-1; |
diff --git a/apps/codecs/Tremor/block.c b/apps/codecs/Tremor/block.c index ac19f3a317..9dce13c6e5 100644 --- a/apps/codecs/Tremor/block.c +++ b/apps/codecs/Tremor/block.c | |||
@@ -256,7 +256,8 @@ void vorbis_dsp_clear(vorbis_dsp_state *v){ | |||
256 | block. The time domain envelope is not yet handled at the point of | 256 | block. The time domain envelope is not yet handled at the point of |
257 | calling (as it relies on the previous block). */ | 257 | calling (as it relies on the previous block). */ |
258 | 258 | ||
259 | int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb) ICODE_ATTR; | 259 | int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb) |
260 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
260 | int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ | 261 | int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ |
261 | vorbis_info *vi=v->vi; | 262 | vorbis_info *vi=v->vi; |
262 | codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; | 263 | codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; |
diff --git a/apps/codecs/Tremor/config-tremor.h b/apps/codecs/Tremor/config-tremor.h index f4a0e1c0bf..e1ade700e5 100644 --- a/apps/codecs/Tremor/config-tremor.h +++ b/apps/codecs/Tremor/config-tremor.h | |||
@@ -13,12 +13,16 @@ | |||
13 | #define BIG_ENDIAN 0 | 13 | #define BIG_ENDIAN 0 |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | /* As of 28 Dec 2005, the Tremor code is too big for IRAM on the iPod, | 16 | #ifndef ICONST_ATTR_TREMOR_WINDOW |
17 | so we temporarily disable ICODE_ATTR - this needs reviewing when it comes | 17 | #define ICONST_ATTR_TREMOR_WINDOW ICONST_ATTR |
18 | to optimising Tremor for the iPod */ | 18 | #endif |
19 | #ifdef CPU_ARM | 19 | |
20 | #undef ICODE_ATTR | 20 | #ifndef ICODE_ATTR_TREMOR_MDCT |
21 | #define ICODE_ATTR | 21 | #define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR |
22 | #endif | ||
23 | |||
24 | #ifndef ICODE_ATTR_TREMOR_NOT_MDCT | ||
25 | #define ICODE_ATTR_TREMOR_NOT_MDCT ICODE_ATTR | ||
22 | #endif | 26 | #endif |
23 | 27 | ||
24 | // #define _LOW_ACCURACY_ | 28 | // #define _LOW_ACCURACY_ |
diff --git a/apps/codecs/Tremor/floor1.c b/apps/codecs/Tremor/floor1.c index 14515c27e6..a66e7379d7 100644 --- a/apps/codecs/Tremor/floor1.c +++ b/apps/codecs/Tremor/floor1.c | |||
@@ -312,7 +312,8 @@ static void render_line(int x0,register int x1,int y0,int y1,ogg_int32_t *d){ | |||
312 | } | 312 | } |
313 | } | 313 | } |
314 | 314 | ||
315 | static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in) ICODE_ATTR; | 315 | static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in) |
316 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
316 | static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ | 317 | static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ |
317 | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | 318 | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; |
318 | vorbis_info_floor1 *info=look->vi; | 319 | vorbis_info_floor1 *info=look->vi; |
@@ -399,7 +400,7 @@ static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ | |||
399 | } | 400 | } |
400 | 401 | ||
401 | static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo, | 402 | static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo, |
402 | ogg_int32_t *out) ICODE_ATTR; | 403 | ogg_int32_t *out) ICODE_ATTR_TREMOR_NOT_MDCT; |
403 | static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo, | 404 | static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo, |
404 | ogg_int32_t *out){ | 405 | ogg_int32_t *out){ |
405 | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | 406 | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; |
diff --git a/apps/codecs/Tremor/framing.c b/apps/codecs/Tremor/framing.c index f17ad86d98..e444514901 100644 --- a/apps/codecs/Tremor/framing.c +++ b/apps/codecs/Tremor/framing.c | |||
@@ -105,7 +105,8 @@ static ogg_buffer *_fetch_buffer(ogg_buffer_state *bs,long bytes){ | |||
105 | return ob; | 105 | return ob; |
106 | } | 106 | } |
107 | 107 | ||
108 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs) ICODE_ATTR; | 108 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs) |
109 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
109 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs){ | 110 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs){ |
110 | ogg_reference *or; | 111 | ogg_reference *or; |
111 | bs->outstanding++; | 112 | bs->outstanding++; |
@@ -857,7 +858,7 @@ static void _next_lace(oggbyte_buffer *ob,ogg_stream_state *os){ | |||
857 | } | 858 | } |
858 | } | 859 | } |
859 | 860 | ||
860 | static void _span_queued_page(ogg_stream_state *os) ICODE_ATTR; | 861 | static void _span_queued_page(ogg_stream_state *os) ICODE_ATTR_TREMOR_NOT_MDCT; |
861 | static void _span_queued_page(ogg_stream_state *os){ | 862 | static void _span_queued_page(ogg_stream_state *os){ |
862 | while( !(os->body_fill&FINFLAG) ){ | 863 | while( !(os->body_fill&FINFLAG) ){ |
863 | 864 | ||
@@ -1016,7 +1017,8 @@ int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno){ | |||
1016 | return OGG_SUCCESS; | 1017 | return OGG_SUCCESS; |
1017 | } | 1018 | } |
1018 | 1019 | ||
1019 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv) ICODE_ATTR; | 1020 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv) |
1021 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
1020 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv){ | 1022 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv){ |
1021 | 1023 | ||
1022 | ogg_packet_release(op); | 1024 | ogg_packet_release(op); |
diff --git a/apps/codecs/Tremor/mdct.c b/apps/codecs/Tremor/mdct.c index 5d7f195616..8334cdf3c4 100644 --- a/apps/codecs/Tremor/mdct.c +++ b/apps/codecs/Tremor/mdct.c | |||
@@ -144,7 +144,8 @@ STIN void mdct_butterfly_32(DATA_TYPE *x){ | |||
144 | } | 144 | } |
145 | 145 | ||
146 | /* N/stage point generic N stage butterfly (in place, 4 register) */ | 146 | /* N/stage point generic N stage butterfly (in place, 4 register) */ |
147 | void mdct_butterfly_generic(DATA_TYPE *x,int points, int step) ICODE_ATTR; | 147 | void mdct_butterfly_generic(DATA_TYPE *x,int points, int step) |
148 | ICODE_ATTR_TREMOR_MDCT; | ||
148 | void mdct_butterfly_generic(DATA_TYPE *x,int points, int step){ | 149 | void mdct_butterfly_generic(DATA_TYPE *x,int points, int step){ |
149 | LOOKUP_T *T = sincos_lookup0; | 150 | LOOKUP_T *T = sincos_lookup0; |
150 | DATA_TYPE *x1 = x + points - 8; | 151 | DATA_TYPE *x1 = x + points - 8; |
@@ -332,7 +333,8 @@ STIN void mdct_bitreverse(DATA_TYPE *x,int n,int step,int shift) { | |||
332 | } | 333 | } |
333 | 334 | ||
334 | 335 | ||
335 | void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out) ICODE_ATTR; | 336 | void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out) |
337 | ICODE_ATTR_TREMOR_MDCT; | ||
336 | void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out) { | 338 | void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out) { |
337 | int n2=n>>1; | 339 | int n2=n>>1; |
338 | int n4=n>>2; | 340 | int n4=n>>2; |
diff --git a/apps/codecs/Tremor/res012.c b/apps/codecs/Tremor/res012.c index 0f4d224f89..fe0cf2e50a 100644 --- a/apps/codecs/Tremor/res012.c +++ b/apps/codecs/Tremor/res012.c | |||
@@ -259,7 +259,8 @@ int res1_inverse(vorbis_block *vb,vorbis_look_residue *vl, | |||
259 | 259 | ||
260 | /* duplicate code here as speed is somewhat more important */ | 260 | /* duplicate code here as speed is somewhat more important */ |
261 | int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl, | 261 | int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl, |
262 | ogg_int32_t **in,int *nonzero,int ch) ICODE_ATTR; | 262 | ogg_int32_t **in,int *nonzero,int ch) |
263 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
263 | int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl, | 264 | int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl, |
264 | ogg_int32_t **in,int *nonzero,int ch){ | 265 | ogg_int32_t **in,int *nonzero,int ch){ |
265 | long i,k,l,s; | 266 | long i,k,l,s; |
diff --git a/apps/codecs/Tremor/synthesis.c b/apps/codecs/Tremor/synthesis.c index c7f0bb6cc5..cef240e796 100644 --- a/apps/codecs/Tremor/synthesis.c +++ b/apps/codecs/Tremor/synthesis.c | |||
@@ -35,7 +35,8 @@ | |||
35 | static ogg_int32_t *ipcm_vect[CHANNELS] IBSS_ATTR; | 35 | static ogg_int32_t *ipcm_vect[CHANNELS] IBSS_ATTR; |
36 | static ogg_int32_t ipcm_buff[CHANNELS*IRAM_PCM_END] IBSS_ATTR LINE_ATTR; | 36 | static ogg_int32_t ipcm_buff[CHANNELS*IRAM_PCM_END] IBSS_ATTR LINE_ATTR; |
37 | 37 | ||
38 | int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep) ICODE_ATTR; | 38 | int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep) |
39 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
39 | int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep){ | 40 | int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep){ |
40 | vorbis_dsp_state *vd=vb->vd; | 41 | vorbis_dsp_state *vd=vb->vd; |
41 | private_state *b=(private_state *)vd->backend_state; | 42 | private_state *b=(private_state *)vd->backend_state; |
diff --git a/apps/codecs/Tremor/vorbisfile.c b/apps/codecs/Tremor/vorbisfile.c index 4d36ab3b48..0f39826388 100644 --- a/apps/codecs/Tremor/vorbisfile.c +++ b/apps/codecs/Tremor/vorbisfile.c | |||
@@ -478,7 +478,7 @@ static void _decode_clear(OggVorbis_File *vf){ | |||
478 | 478 | ||
479 | static int _fetch_and_process_packet(OggVorbis_File *vf, | 479 | static int _fetch_and_process_packet(OggVorbis_File *vf, |
480 | int readp, | 480 | int readp, |
481 | int spanp) ICODE_ATTR; | 481 | int spanp) ICODE_ATTR_TREMOR_NOT_MDCT; |
482 | static int _fetch_and_process_packet(OggVorbis_File *vf, | 482 | static int _fetch_and_process_packet(OggVorbis_File *vf, |
483 | int readp, | 483 | int readp, |
484 | int spanp){ | 484 | int spanp){ |
@@ -1458,7 +1458,7 @@ ogg_int64_t ov_pcm_tell(OggVorbis_File *vf){ | |||
1458 | } | 1458 | } |
1459 | 1459 | ||
1460 | /* return time offset (milliseconds) of next PCM sample to be read */ | 1460 | /* return time offset (milliseconds) of next PCM sample to be read */ |
1461 | ogg_int64_t ov_time_tell(OggVorbis_File *vf) ICODE_ATTR; | 1461 | ogg_int64_t ov_time_tell(OggVorbis_File *vf) ICODE_ATTR_TREMOR_NOT_MDCT; |
1462 | ogg_int64_t ov_time_tell(OggVorbis_File *vf){ | 1462 | ogg_int64_t ov_time_tell(OggVorbis_File *vf){ |
1463 | int link=0; | 1463 | int link=0; |
1464 | ogg_int64_t pcm_total=0; | 1464 | ogg_int64_t pcm_total=0; |
diff --git a/apps/codecs/Tremor/window_lookup.h b/apps/codecs/Tremor/window_lookup.h index 9fbb98fb75..ccf316e227 100644 --- a/apps/codecs/Tremor/window_lookup.h +++ b/apps/codecs/Tremor/window_lookup.h | |||
@@ -51,7 +51,7 @@ static LOOKUP_T vwin128[64] = { | |||
51 | X(0x7ffdcf39), X(0x7fff6dac), X(0x7fffed01), X(0x7fffffc4), | 51 | X(0x7ffdcf39), X(0x7fff6dac), X(0x7fffed01), X(0x7fffffc4), |
52 | }; | 52 | }; |
53 | 53 | ||
54 | static LOOKUP_T vwin256[128] ICONST_ATTR = { | 54 | static LOOKUP_T vwin256[128] ICONST_ATTR_TREMOR_WINDOW = { |
55 | X(0x0001f018), X(0x00117066), X(0x00306e9e), X(0x005ee5f1), | 55 | X(0x0001f018), X(0x00117066), X(0x00306e9e), X(0x005ee5f1), |
56 | X(0x009ccf26), X(0x00ea208b), X(0x0146cdea), X(0x01b2c87f), | 56 | X(0x009ccf26), X(0x00ea208b), X(0x0146cdea), X(0x01b2c87f), |
57 | X(0x022dfedf), X(0x02b85ced), X(0x0351cbbd), X(0x03fa317f), | 57 | X(0x022dfedf), X(0x02b85ced), X(0x0351cbbd), X(0x03fa317f), |
@@ -284,7 +284,7 @@ static LOOKUP_T vwin1024[512] = { | |||
284 | X(0x7fffffdd), X(0x7ffffff7), X(0x7fffffff), X(0x7fffffff), | 284 | X(0x7fffffdd), X(0x7ffffff7), X(0x7fffffff), X(0x7fffffff), |
285 | }; | 285 | }; |
286 | 286 | ||
287 | static LOOKUP_T vwin2048[1024] ICONST_ATTR = { | 287 | static LOOKUP_T vwin2048[1024] ICONST_ATTR_TREMOR_WINDOW = { |
288 | X(0x000007c0), X(0x000045c4), X(0x0000c1ca), X(0x00017bd3), | 288 | X(0x000007c0), X(0x000045c4), X(0x0000c1ca), X(0x00017bd3), |
289 | X(0x000273de), X(0x0003a9eb), X(0x00051df9), X(0x0006d007), | 289 | X(0x000273de), X(0x0003a9eb), X(0x00051df9), X(0x0006d007), |
290 | X(0x0008c014), X(0x000aee1e), X(0x000d5a25), X(0x00100428), | 290 | X(0x0008c014), X(0x000aee1e), X(0x000d5a25), X(0x00100428), |
diff --git a/apps/codecs/flac.c b/apps/codecs/flac.c index 1e9c30f1a9..9f2405f4f2 100644 --- a/apps/codecs/flac.c +++ b/apps/codecs/flac.c | |||
@@ -34,7 +34,7 @@ struct codec_api* rb; | |||
34 | struct codec_api* ci; | 34 | struct codec_api* ci; |
35 | 35 | ||
36 | /* The output buffers containing the decoded samples (channels 0 and 1) */ | 36 | /* The output buffers containing the decoded samples (channels 0 and 1) */ |
37 | int32_t decoded0[MAX_BLOCKSIZE] IBSS_ATTR; | 37 | int32_t decoded0[MAX_BLOCKSIZE] IBSS_ATTR_FLAC_DECODED0; |
38 | int32_t decoded1[MAX_BLOCKSIZE] IBSS_ATTR; | 38 | int32_t decoded1[MAX_BLOCKSIZE] IBSS_ATTR; |
39 | 39 | ||
40 | #define MAX_SUPPORTED_SEEKTABLE_SIZE 5000 | 40 | #define MAX_SUPPORTED_SEEKTABLE_SIZE 5000 |
diff --git a/apps/codecs/libalac/alac.c b/apps/codecs/libalac/alac.c index 5487c68961..f8e4df8b1d 100644 --- a/apps/codecs/libalac/alac.c +++ b/apps/codecs/libalac/alac.c | |||
@@ -226,7 +226,7 @@ void basterdised_rice_decompress(alac_file *alac, | |||
226 | int rice_kmodifier, /* arg424->d */ | 226 | int rice_kmodifier, /* arg424->d */ |
227 | int rice_historymult, /* arg424->c */ | 227 | int rice_historymult, /* arg424->c */ |
228 | int rice_kmodifier_mask /* arg424->e */ | 228 | int rice_kmodifier_mask /* arg424->e */ |
229 | ) ICODE_ATTR; | 229 | ) ICODE_ATTR_ALAC; |
230 | void basterdised_rice_decompress(alac_file *alac, | 230 | void basterdised_rice_decompress(alac_file *alac, |
231 | int32_t *output_buffer, | 231 | int32_t *output_buffer, |
232 | int output_size, | 232 | int output_size, |
@@ -373,7 +373,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, | |||
373 | int readsamplesize, | 373 | int readsamplesize, |
374 | int16_t *predictor_coef_table, | 374 | int16_t *predictor_coef_table, |
375 | int predictor_coef_num, | 375 | int predictor_coef_num, |
376 | int predictor_quantitization) ICODE_ATTR; | 376 | int predictor_quantitization) ICODE_ATTR_ALAC; |
377 | static void predictor_decompress_fir_adapt(int32_t *error_buffer, | 377 | static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
378 | int32_t *buffer_out, | 378 | int32_t *buffer_out, |
379 | int output_size, | 379 | int output_size, |
@@ -645,7 +645,7 @@ void deinterlace_16(int32_t* buffer0, | |||
645 | int32_t* buffer1, | 645 | int32_t* buffer1, |
646 | int numsamples, | 646 | int numsamples, |
647 | uint8_t interlacing_shift, | 647 | uint8_t interlacing_shift, |
648 | uint8_t interlacing_leftweight) ICODE_ATTR; | 648 | uint8_t interlacing_leftweight) ICODE_ATTR_ALAC; |
649 | void deinterlace_16(int32_t* buffer0, | 649 | void deinterlace_16(int32_t* buffer0, |
650 | int32_t* buffer1, | 650 | int32_t* buffer1, |
651 | int numsamples, | 651 | int numsamples, |
diff --git a/apps/codecs/libalac/decomp.h b/apps/codecs/libalac/decomp.h index 162811084f..e4a19a7252 100644 --- a/apps/codecs/libalac/decomp.h +++ b/apps/codecs/libalac/decomp.h | |||
@@ -1,6 +1,10 @@ | |||
1 | #ifndef __ALAC__DECOMP_H | 1 | #ifndef __ALAC__DECOMP_H |
2 | #define __ALAC__DECOMP_H | 2 | #define __ALAC__DECOMP_H |
3 | 3 | ||
4 | #ifndef ICODE_ATTR_ALAC | ||
5 | #define ICODE_ATTR_ALAC ICODE_ATTR | ||
6 | #endif | ||
7 | |||
4 | /* Always output samples shifted to 28 bits + sign*/ | 8 | /* Always output samples shifted to 28 bits + sign*/ |
5 | #define ALAC_OUTPUT_DEPTH 29 | 9 | #define ALAC_OUTPUT_DEPTH 29 |
6 | #define SCALE16 (ALAC_OUTPUT_DEPTH - 16) | 10 | #define SCALE16 (ALAC_OUTPUT_DEPTH - 16) |
@@ -31,12 +35,13 @@ typedef struct | |||
31 | /* end setinfo stuff */ | 35 | /* end setinfo stuff */ |
32 | } alac_file; | 36 | } alac_file; |
33 | 37 | ||
34 | void create_alac(int samplesize, int numchannels, alac_file* alac) ICODE_ATTR; | 38 | void create_alac(int samplesize, int numchannels, alac_file* alac) |
39 | ICODE_ATTR_ALAC; | ||
35 | int alac_decode_frame(alac_file *alac, | 40 | int alac_decode_frame(alac_file *alac, |
36 | unsigned char *inbuffer, | 41 | unsigned char *inbuffer, |
37 | int32_t outputbuffer[ALAC_MAX_CHANNELS][ALAC_BLOCKSIZE], | 42 | int32_t outputbuffer[ALAC_MAX_CHANNELS][ALAC_BLOCKSIZE], |
38 | void (*yield)(void)) ICODE_ATTR; | 43 | void (*yield)(void)) ICODE_ATTR_ALAC; |
39 | void alac_set_info(alac_file *alac, char *inputbuffer) ICODE_ATTR; | 44 | void alac_set_info(alac_file *alac, char *inputbuffer) ICODE_ATTR_ALAC; |
40 | 45 | ||
41 | #endif /* __ALAC__DECOMP_H */ | 46 | #endif /* __ALAC__DECOMP_H */ |
42 | 47 | ||
diff --git a/apps/codecs/libffmpegFLAC/bitstream.h b/apps/codecs/libffmpegFLAC/bitstream.h index 288d839c4a..19f2b6e01c 100644 --- a/apps/codecs/libffmpegFLAC/bitstream.h +++ b/apps/codecs/libffmpegFLAC/bitstream.h | |||
@@ -18,6 +18,14 @@ | |||
18 | #define ICODE_ATTR | 18 | #define ICODE_ATTR |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #ifndef ICODE_ATTR_FLAC | ||
22 | #define ICODE_ATTR_FLAC ICODE_ATTR | ||
23 | #endif | ||
24 | |||
25 | #ifndef IBSS_ATTR_FLAC_DECODED0 | ||
26 | #define IBSS_ATTR_FLAC_DECODED0 IBSS_ATTR | ||
27 | #endif | ||
28 | |||
21 | /* Endian conversion routines for standalone compilation */ | 29 | /* Endian conversion routines for standalone compilation */ |
22 | #ifdef BUILD_STANDALONE | 30 | #ifdef BUILD_STANDALONE |
23 | #ifdef BUILD_BIGENDIAN | 31 | #ifdef BUILD_BIGENDIAN |
@@ -252,7 +260,7 @@ static inline unsigned int get_bits(GetBitContext *s, int n){ | |||
252 | return tmp; | 260 | return tmp; |
253 | } | 261 | } |
254 | 262 | ||
255 | unsigned int get_bits_long(GetBitContext *s, int n) ICODE_ATTR; | 263 | unsigned int get_bits_long(GetBitContext *s, int n) ICODE_ATTR_FLAC; |
256 | 264 | ||
257 | /** | 265 | /** |
258 | * shows 0-17 bits. | 266 | * shows 0-17 bits. |
@@ -267,7 +275,7 @@ static inline unsigned int show_bits(GetBitContext *s, int n){ | |||
267 | return tmp; | 275 | return tmp; |
268 | } | 276 | } |
269 | 277 | ||
270 | unsigned int show_bits_long(GetBitContext *s, int n) ICODE_ATTR; | 278 | unsigned int show_bits_long(GetBitContext *s, int n) ICODE_ATTR_FLAC; |
271 | 279 | ||
272 | static inline void skip_bits(GetBitContext *s, int n){ | 280 | static inline void skip_bits(GetBitContext *s, int n){ |
273 | //Note gcc seems to optimize this to s->index+=n for the ALT_READER :)) | 281 | //Note gcc seems to optimize this to s->index+=n for the ALT_READER :)) |
@@ -328,6 +336,6 @@ static inline void init_get_bits(GetBitContext *s, | |||
328 | } | 336 | } |
329 | } | 337 | } |
330 | 338 | ||
331 | void align_get_bits(GetBitContext *s) ICODE_ATTR; | 339 | void align_get_bits(GetBitContext *s) ICODE_ATTR_FLAC; |
332 | 340 | ||
333 | #endif /* BITSTREAM_H */ | 341 | #endif /* BITSTREAM_H */ |
diff --git a/apps/codecs/libffmpegFLAC/decoder.c b/apps/codecs/libffmpegFLAC/decoder.c index 3d934d9990..8a1f84c6b6 100644 --- a/apps/codecs/libffmpegFLAC/decoder.c +++ b/apps/codecs/libffmpegFLAC/decoder.c | |||
@@ -99,7 +99,7 @@ static const uint8_t table_crc8[256] ICONST_ATTR = { | |||
99 | 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3 | 99 | 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3 |
100 | }; | 100 | }; |
101 | 101 | ||
102 | static int64_t get_utf8(GetBitContext *gb) ICODE_ATTR; | 102 | static int64_t get_utf8(GetBitContext *gb) ICODE_ATTR_FLAC; |
103 | static int64_t get_utf8(GetBitContext *gb) | 103 | static int64_t get_utf8(GetBitContext *gb) |
104 | { | 104 | { |
105 | uint64_t val; | 105 | uint64_t val; |
@@ -124,7 +124,7 @@ static int64_t get_utf8(GetBitContext *gb) | |||
124 | return val; | 124 | return val; |
125 | } | 125 | } |
126 | 126 | ||
127 | static int get_crc8(const uint8_t *buf, int count) ICODE_ATTR; | 127 | static int get_crc8(const uint8_t *buf, int count) ICODE_ATTR_FLAC; |
128 | static int get_crc8(const uint8_t *buf, int count) | 128 | static int get_crc8(const uint8_t *buf, int count) |
129 | { | 129 | { |
130 | int crc=0; | 130 | int crc=0; |
@@ -137,7 +137,7 @@ static int get_crc8(const uint8_t *buf, int count) | |||
137 | return crc; | 137 | return crc; |
138 | } | 138 | } |
139 | 139 | ||
140 | static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR; | 140 | static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC; |
141 | static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) | 141 | static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) |
142 | { | 142 | { |
143 | int i, tmp, partition, method_type, rice_order; | 143 | int i, tmp, partition, method_type, rice_order; |
@@ -177,7 +177,7 @@ static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) | |||
177 | return 0; | 177 | return 0; |
178 | } | 178 | } |
179 | 179 | ||
180 | static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR; | 180 | static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC; |
181 | static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) | 181 | static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) |
182 | { | 182 | { |
183 | int i; | 183 | int i; |
@@ -224,7 +224,7 @@ static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_orde | |||
224 | return 0; | 224 | return 0; |
225 | } | 225 | } |
226 | 226 | ||
227 | static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR; | 227 | static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC; |
228 | static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) | 228 | static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) |
229 | { | 229 | { |
230 | int sum, i, j; | 230 | int sum, i, j; |
@@ -386,7 +386,7 @@ static inline int decode_subframe(FLACContext *s, int channel, int32_t* decoded) | |||
386 | static int decode_frame(FLACContext *s, | 386 | static int decode_frame(FLACContext *s, |
387 | int32_t* decoded0, | 387 | int32_t* decoded0, |
388 | int32_t* decoded1, | 388 | int32_t* decoded1, |
389 | void (*yield)(void)) ICODE_ATTR; | 389 | void (*yield)(void)) ICODE_ATTR_FLAC; |
390 | static int decode_frame(FLACContext *s, | 390 | static int decode_frame(FLACContext *s, |
391 | int32_t* decoded0, | 391 | int32_t* decoded0, |
392 | int32_t* decoded1, | 392 | int32_t* decoded1, |
diff --git a/apps/codecs/libffmpegFLAC/decoder.h b/apps/codecs/libffmpegFLAC/decoder.h index affec0a5a3..0b148df916 100644 --- a/apps/codecs/libffmpegFLAC/decoder.h +++ b/apps/codecs/libffmpegFLAC/decoder.h | |||
@@ -44,6 +44,6 @@ int flac_decode_frame(FLACContext *s, | |||
44 | int32_t* decoded0, | 44 | int32_t* decoded0, |
45 | int32_t* decoded1, | 45 | int32_t* decoded1, |
46 | uint8_t *buf, int buf_size, | 46 | uint8_t *buf, int buf_size, |
47 | void (*yield)(void)) ICODE_ATTR; | 47 | void (*yield)(void)) ICODE_ATTR_FLAC; |
48 | 48 | ||
49 | #endif | 49 | #endif |
diff --git a/apps/codecs/libffmpegFLAC/shndec.c b/apps/codecs/libffmpegFLAC/shndec.c index d7fc6a15a6..61b3703188 100644 --- a/apps/codecs/libffmpegFLAC/shndec.c +++ b/apps/codecs/libffmpegFLAC/shndec.c | |||
@@ -83,7 +83,7 @@ static unsigned int get_uint(ShortenContext *s, int k) | |||
83 | } | 83 | } |
84 | 84 | ||
85 | #if defined(CPU_COLDFIRE) && !defined(SIMULATOR) | 85 | #if defined(CPU_COLDFIRE) && !defined(SIMULATOR) |
86 | static void coldfire_lshift_samples(int n, int shift, int32_t *samples) ICODE_ATTR; | 86 | static void coldfire_lshift_samples(int n, int shift, int32_t *samples) ICODE_ATTR_FLAC; |
87 | static void coldfire_lshift_samples(int n, int shift, int32_t *samples) | 87 | static void coldfire_lshift_samples(int n, int shift, int32_t *samples) |
88 | { | 88 | { |
89 | /* | 89 | /* |
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), |
diff --git a/apps/codecs/libmusepack/musepack.h b/apps/codecs/libmusepack/musepack.h index 549ea798a9..7e65c75c5a 100644 --- a/apps/codecs/libmusepack/musepack.h +++ b/apps/codecs/libmusepack/musepack.h | |||
@@ -52,6 +52,10 @@ extern "C" { | |||
52 | #include "reader.h" | 52 | #include "reader.h" |
53 | #include "streaminfo.h" | 53 | #include "streaminfo.h" |
54 | 54 | ||
55 | #ifndef IBSS_ATTR_MPC_SAMPLE_BUF | ||
56 | #define IBSS_ATTR_MPC_SAMPLE_BUF IBSS_ATTR | ||
57 | #endif | ||
58 | |||
55 | #ifdef ROCKBOX_LITTLE_ENDIAN | 59 | #ifdef ROCKBOX_LITTLE_ENDIAN |
56 | #define MPC_LITTLE_ENDIAN | 60 | #define MPC_LITTLE_ENDIAN |
57 | #endif | 61 | #endif |
diff --git a/apps/codecs/mpc.c b/apps/codecs/mpc.c index f9622f894b..821b3ce25e 100644 --- a/apps/codecs/mpc.c +++ b/apps/codecs/mpc.c | |||
@@ -63,7 +63,8 @@ mpc_bool_t canseek_impl(void *data) | |||
63 | return true; | 63 | return true; |
64 | } | 64 | } |
65 | 65 | ||
66 | MPC_SAMPLE_FORMAT sample_buffer[MPC_DECODER_BUFFER_LENGTH] IBSS_ATTR; | 66 | MPC_SAMPLE_FORMAT sample_buffer[MPC_DECODER_BUFFER_LENGTH] |
67 | IBSS_ATTR_MPC_SAMPLE_BUF; | ||
67 | mpc_uint32_t seek_table[10000]; | 68 | mpc_uint32_t seek_table[10000]; |
68 | 69 | ||
69 | #ifdef USE_IRAM | 70 | #ifdef USE_IRAM |
diff --git a/apps/codecs/shorten.c b/apps/codecs/shorten.c index c571df8c7a..a7fc601ae5 100644 --- a/apps/codecs/shorten.c +++ b/apps/codecs/shorten.c | |||
@@ -20,6 +20,10 @@ | |||
20 | #include "codeclib.h" | 20 | #include "codeclib.h" |
21 | #include <codecs/libffmpegFLAC/shndec.h> | 21 | #include <codecs/libffmpegFLAC/shndec.h> |
22 | 22 | ||
23 | #ifndef IBSS_ATTR_SHORTEN_DECODED0 | ||
24 | #define IBSS_ATTR_SHORTEN_DECODED0 IBSS_ATTR | ||
25 | #endif | ||
26 | |||
23 | CODEC_HEADER | 27 | CODEC_HEADER |
24 | 28 | ||
25 | #ifdef USE_IRAM | 29 | #ifdef USE_IRAM |
@@ -33,7 +37,7 @@ extern char iend[]; | |||
33 | struct codec_api* rb; | 37 | struct codec_api* rb; |
34 | struct codec_api* ci; | 38 | struct codec_api* ci; |
35 | 39 | ||
36 | int32_t decoded0[MAX_DECODE_SIZE] IBSS_ATTR; | 40 | int32_t decoded0[MAX_DECODE_SIZE] IBSS_ATTR_SHORTEN_DECODED0; |
37 | int32_t decoded1[MAX_DECODE_SIZE] IBSS_ATTR; | 41 | int32_t decoded1[MAX_DECODE_SIZE] IBSS_ATTR; |
38 | 42 | ||
39 | int32_t offset0[MAX_OFFSET_SIZE] IBSS_ATTR; | 43 | int32_t offset0[MAX_OFFSET_SIZE] IBSS_ATTR; |
diff --git a/apps/playback.c b/apps/playback.c index f1589ac22e..892bd15105 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -176,6 +176,10 @@ enum { | |||
176 | #endif | 176 | #endif |
177 | #define CODEC_IRAM_SIZE 0xc000 | 177 | #define CODEC_IRAM_SIZE 0xc000 |
178 | 178 | ||
179 | #ifndef IBSS_ATTR_VOICE_STACK | ||
180 | #define IBSS_ATTR_VOICE_STACK IBSS_ATTR | ||
181 | #endif | ||
182 | |||
179 | #ifndef SIMULATOR | 183 | #ifndef SIMULATOR |
180 | extern bool audio_is_initialized; | 184 | extern bool audio_is_initialized; |
181 | #else | 185 | #else |
@@ -278,7 +282,7 @@ extern struct codec_api ci_voice; | |||
278 | static struct thread_entry *voice_thread_p = NULL; | 282 | static struct thread_entry *voice_thread_p = NULL; |
279 | static struct event_queue voice_queue; | 283 | static struct event_queue voice_queue; |
280 | static long voice_stack[(DEFAULT_STACK_SIZE + 0x2000)/sizeof(long)] | 284 | static long voice_stack[(DEFAULT_STACK_SIZE + 0x2000)/sizeof(long)] |
281 | IBSS_ATTR; | 285 | IBSS_ATTR_VOICE_STACK; |
282 | static const char voice_thread_name[] = "voice codec"; | 286 | static const char voice_thread_name[] = "voice codec"; |
283 | 287 | ||
284 | /* Voice codec swapping control */ | 288 | /* Voice codec swapping control */ |