diff options
author | Thom Johansen <thomj@rockbox.org> | 2006-09-01 12:09:20 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2006-09-01 12:09:20 +0000 |
commit | 7197c0e588bef139327772e96c2ac74bf6540208 (patch) | |
tree | 8e3c39bb93e00b4e7e37bc035e3174634dd5e8a8 /apps/codecs/libmusepack/mpc_decoder.c | |
parent | 5e182e08620fd5aa7743bf83d759f6847cd76b45 (diff) | |
download | rockbox-7197c0e588bef139327772e96c2ac74bf6540208.tar.gz rockbox-7197c0e588bef139327772e96c2ac74bf6540208.zip |
Put Musepack output data array back in IRAM for faster DSP processing. Patch by Andrew Cupper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10844 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmusepack/mpc_decoder.c')
-rw-r--r-- | apps/codecs/libmusepack/mpc_decoder.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/apps/codecs/libmusepack/mpc_decoder.c b/apps/codecs/libmusepack/mpc_decoder.c index 4bf36bddc6..89d7254356 100644 --- a/apps/codecs/libmusepack/mpc_decoder.c +++ b/apps/codecs/libmusepack/mpc_decoder.c | |||
@@ -121,6 +121,8 @@ static inline mpc_int32_t mpc_decoder_huffman_decode_fastest(mpc_decoder *d, con | |||
121 | static void mpc_move_next(mpc_decoder *d); | 121 | static void mpc_move_next(mpc_decoder *d); |
122 | 122 | ||
123 | mpc_uint32_t Speicher[MPC_DECODER_MEMSIZE]; | 123 | mpc_uint32_t Speicher[MPC_DECODER_MEMSIZE]; |
124 | MPC_SAMPLE_FORMAT Y_L[36][32]; | ||
125 | MPC_SAMPLE_FORMAT Y_R[36][32]; | ||
124 | 126 | ||
125 | //------------------------------------------------------------------------------ | 127 | //------------------------------------------------------------------------------ |
126 | // utility functions | 128 | // utility functions |
@@ -380,8 +382,8 @@ mpc_decoder_reset_synthesis(mpc_decoder *d) | |||
380 | static void | 382 | static void |
381 | mpc_decoder_reset_y(mpc_decoder *d) | 383 | mpc_decoder_reset_y(mpc_decoder *d) |
382 | { | 384 | { |
383 | memset(d->Y_L, 0, sizeof d->Y_L); | 385 | memset(d->Y_L, 0, sizeof Y_L); |
384 | memset(d->Y_R, 0, sizeof d->Y_R); | 386 | memset(d->Y_R, 0, sizeof Y_R); |
385 | } | 387 | } |
386 | 388 | ||
387 | static void | 389 | static void |
@@ -395,8 +397,8 @@ mpc_decoder_reset_globals(mpc_decoder *d) | |||
395 | d->StreamVersion = 0; | 397 | d->StreamVersion = 0; |
396 | d->MS_used = 0; | 398 | d->MS_used = 0; |
397 | 399 | ||
398 | memset(d->Y_L , 0, sizeof d->Y_L ); | 400 | memset(d->Y_L , 0, sizeof Y_L ); |
399 | memset(d->Y_R , 0, sizeof d->Y_R ); | 401 | memset(d->Y_R , 0, sizeof Y_R ); |
400 | memset(d->SCF_Index_L , 0, sizeof d->SCF_Index_L ); | 402 | memset(d->SCF_Index_L , 0, sizeof d->SCF_Index_L ); |
401 | memset(d->SCF_Index_R , 0, sizeof d->SCF_Index_R ); | 403 | memset(d->SCF_Index_R , 0, sizeof d->SCF_Index_R ); |
402 | memset(d->Res_L , 0, sizeof d->Res_L ); | 404 | memset(d->Res_L , 0, sizeof d->Res_L ); |
@@ -1487,6 +1489,8 @@ void mpc_decoder_setup(mpc_decoder *d, mpc_reader *r) | |||
1487 | LOOKUP ( mpc_table_HuffDSCF, 16, LUTDSCF ); | 1489 | LOOKUP ( mpc_table_HuffDSCF, 16, LUTDSCF ); |
1488 | 1490 | ||
1489 | d->Speicher = Speicher; | 1491 | d->Speicher = Speicher; |
1492 | d->Y_L = Y_L; | ||
1493 | d->Y_R = Y_R; | ||
1490 | 1494 | ||
1491 | #if defined(CPU_COLDFIRE)&& !defined(SIMULATOR) | 1495 | #if defined(CPU_COLDFIRE)&& !defined(SIMULATOR) |
1492 | coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); | 1496 | coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); |
@@ -1642,8 +1646,8 @@ mpc_bool_t mpc_decoder_seek_seconds(mpc_decoder *d, double seconds) | |||
1642 | 1646 | ||
1643 | void mpc_decoder_reset_state(mpc_decoder *d) { | 1647 | void mpc_decoder_reset_state(mpc_decoder *d) { |
1644 | 1648 | ||
1645 | memset(d->Y_L , 0, sizeof d->Y_L ); | 1649 | memset(d->Y_L , 0, sizeof Y_L ); |
1646 | memset(d->Y_R , 0, sizeof d->Y_R ); | 1650 | memset(d->Y_R , 0, sizeof Y_R ); |
1647 | #ifdef SCF_HACK | 1651 | #ifdef SCF_HACK |
1648 | memset(d->SCF_Index_L , -128, sizeof d->SCF_Index_L ); | 1652 | memset(d->SCF_Index_L , -128, sizeof d->SCF_Index_L ); |
1649 | memset(d->SCF_Index_R , -128, sizeof d->SCF_Index_R ); | 1653 | memset(d->SCF_Index_R , -128, sizeof d->SCF_Index_R ); |