summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/mpegplayer/decode.c')
-rw-r--r--apps/plugins/mpegplayer/decode.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/plugins/mpegplayer/decode.c b/apps/plugins/mpegplayer/decode.c
index 299abc9663..ca3d29a952 100644
--- a/apps/plugins/mpegplayer/decode.c
+++ b/apps/plugins/mpegplayer/decode.c
@@ -401,6 +401,12 @@ void mpeg2_reset (mpeg2dec_t * mpeg2dec, int full_reset)
401 401
402} 402}
403 403
404#ifdef CPU_COLDFIRE
405/* twice as large as on other targets because coldfire uses
406 * a secondary, transposed buffer for optimisation */
407static int16_t static_dct_block[128] IBSS_ATTR ATTR_ALIGN(16);
408#endif
409
404mpeg2dec_t * mpeg2_init (void) 410mpeg2dec_t * mpeg2_init (void)
405{ 411{
406 mpeg2dec_t * mpeg2dec; 412 mpeg2dec_t * mpeg2dec;
@@ -410,7 +416,11 @@ mpeg2dec_t * mpeg2_init (void)
410 mpeg2dec = (mpeg2dec_t *) mpeg2_malloc (sizeof (mpeg2dec_t), 416 mpeg2dec = (mpeg2dec_t *) mpeg2_malloc (sizeof (mpeg2dec_t),
411 MPEG2_ALLOC_MPEG2DEC); 417 MPEG2_ALLOC_MPEG2DEC);
412 if (mpeg2dec == NULL) 418 if (mpeg2dec == NULL)
413 return NULL; 419 return NULL;
420
421#ifdef CPU_COLDFIRE
422 mpeg2dec->decoder.DCTblock = static_dct_block;
423#endif
414 424
415 rb->memset (mpeg2dec->decoder.DCTblock, 0, 64 * sizeof (int16_t)); 425 rb->memset (mpeg2dec->decoder.DCTblock, 0, 64 * sizeof (int16_t));
416 rb->memset (mpeg2dec->quantizer_matrix, 0, 4 * 64 * sizeof (uint8_t)); 426 rb->memset (mpeg2dec->quantizer_matrix, 0, 4 * 64 * sizeof (uint8_t));