From 7197c0e588bef139327772e96c2ac74bf6540208 Mon Sep 17 00:00:00 2001 From: Thom Johansen Date: Fri, 1 Sep 2006 12:09:20 +0000 Subject: 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 --- apps/codecs/libmusepack/mpc_decoder.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'apps/codecs/libmusepack/mpc_decoder.c') 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 static void mpc_move_next(mpc_decoder *d); mpc_uint32_t Speicher[MPC_DECODER_MEMSIZE]; +MPC_SAMPLE_FORMAT Y_L[36][32]; +MPC_SAMPLE_FORMAT Y_R[36][32]; //------------------------------------------------------------------------------ // utility functions @@ -380,8 +382,8 @@ mpc_decoder_reset_synthesis(mpc_decoder *d) static void mpc_decoder_reset_y(mpc_decoder *d) { - memset(d->Y_L, 0, sizeof d->Y_L); - memset(d->Y_R, 0, sizeof d->Y_R); + memset(d->Y_L, 0, sizeof Y_L); + memset(d->Y_R, 0, sizeof Y_R); } static void @@ -395,8 +397,8 @@ mpc_decoder_reset_globals(mpc_decoder *d) d->StreamVersion = 0; d->MS_used = 0; - memset(d->Y_L , 0, sizeof d->Y_L ); - memset(d->Y_R , 0, sizeof d->Y_R ); + memset(d->Y_L , 0, sizeof Y_L ); + memset(d->Y_R , 0, sizeof Y_R ); memset(d->SCF_Index_L , 0, sizeof d->SCF_Index_L ); memset(d->SCF_Index_R , 0, sizeof d->SCF_Index_R ); memset(d->Res_L , 0, sizeof d->Res_L ); @@ -1487,6 +1489,8 @@ void mpc_decoder_setup(mpc_decoder *d, mpc_reader *r) LOOKUP ( mpc_table_HuffDSCF, 16, LUTDSCF ); d->Speicher = Speicher; + d->Y_L = Y_L; + d->Y_R = Y_R; #if defined(CPU_COLDFIRE)&& !defined(SIMULATOR) coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); @@ -1642,8 +1646,8 @@ mpc_bool_t mpc_decoder_seek_seconds(mpc_decoder *d, double seconds) void mpc_decoder_reset_state(mpc_decoder *d) { - memset(d->Y_L , 0, sizeof d->Y_L ); - memset(d->Y_R , 0, sizeof d->Y_R ); + memset(d->Y_L , 0, sizeof Y_L ); + memset(d->Y_R , 0, sizeof Y_R ); #ifdef SCF_HACK memset(d->SCF_Index_L , -128, sizeof d->SCF_Index_L ); memset(d->SCF_Index_R , -128, sizeof d->SCF_Index_R ); -- cgit v1.2.3