I figured out what was *really* causing the MPC track-change noise, so I

backed out Thom's change and made the appropriate change. Note that this
should not fix the track change *pop* because there still seems to be a
problem decoding the first and last several hundred samples of MPC files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8306 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Bryant 2006-01-08 08:38:18 +00:00
parent dad0011e31
commit c78b019944
2 changed files with 10 additions and 9 deletions

View file

@ -269,11 +269,15 @@ mpc_decoder_huffman_decode_faster(mpc_decoder *d, const HuffmanTyp* Table)
return Table->Value;
}
MPC_SAMPLE_FORMAT V_L[MPC_V_MEM + 960] IBSS_ATTR;
MPC_SAMPLE_FORMAT V_R[MPC_V_MEM + 960] IBSS_ATTR;
static void
mpc_decoder_reset_v(mpc_decoder *d)
{
memset(d->V_L, 0, sizeof d->V_L);
memset(d->V_R, 0, sizeof d->V_R);
/* since d->V_L and d->V_R are now pointers, sizeof (d->V_x) will no longer work */
memset(d->V_L, 0, sizeof V_L);
memset(d->V_R, 0, sizeof V_R);
}
static void
@ -1106,9 +1110,6 @@ mpc_decoder_read_bitstream_sv7(mpc_decoder *d)
}
}
MPC_SAMPLE_FORMAT V_L[MPC_V_MEM + 960] IBSS_ATTR;
MPC_SAMPLE_FORMAT V_R[MPC_V_MEM + 960] IBSS_ATTR;
void mpc_decoder_setup(mpc_decoder *d, mpc_reader *r)
{
d->r = r;

View file

@ -81,6 +81,10 @@ enum codec_status codec_start(struct codec_api *api)
mpc_streaminfo info;
TEST_CODEC_API(api);
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend - iramstart);
#endif
ci->configure(CODEC_DSP_ENABLE, (bool *)true);
ci->configure(DSP_DITHER, (bool *)false);
@ -103,10 +107,6 @@ enum codec_status codec_start(struct codec_api *api)
reader.data = ci;
next_track:
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend - iramstart);
#endif
if (codec_init(api))
return CODEC_ERROR;