forked from len0rd/rockbox
Start converting codecs to use internal sample format (28 bits + sign,
or s3.28 fixed point). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8680 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
65bfd83ce0
commit
153f906d74
2 changed files with 2 additions and 11 deletions
|
@ -367,7 +367,6 @@ static void Synthese_Filter_float_internal(MPC_SAMPLE_FORMAT * OutData,MPC_SAMPL
|
|||
"mac.l %%d2, %%a5, (992*4, %[V]), %%a5, %%acc0\n\t"
|
||||
"mac.l %%d3, %%a5, %%acc0\n\t"
|
||||
"movclr.l %%acc0, %%d0\n\t"
|
||||
"asl.l #1, %%d0\n\t"
|
||||
"move.l %%d0, (%[Data])+\n"
|
||||
: [Data] "+a" (Data)
|
||||
: [V] "a" (V), [D] "a" (D)
|
||||
|
@ -378,7 +377,7 @@ static void Synthese_Filter_float_internal(MPC_SAMPLE_FORMAT * OutData,MPC_SAMPL
|
|||
+ MPC_MULTIPLY_FRACT(V[256],D[ 4]) + MPC_MULTIPLY_FRACT(V[352],D[ 5]) + MPC_MULTIPLY_FRACT(V[384],D[ 6]) + MPC_MULTIPLY_FRACT(V[480],D[ 7])
|
||||
+ MPC_MULTIPLY_FRACT(V[512],D[ 8]) + MPC_MULTIPLY_FRACT(V[608],D[ 9]) + MPC_MULTIPLY_FRACT(V[640],D[10]) + MPC_MULTIPLY_FRACT(V[736],D[11])
|
||||
+ MPC_MULTIPLY_FRACT(V[768],D[12]) + MPC_MULTIPLY_FRACT(V[864],D[13]) + MPC_MULTIPLY_FRACT(V[896],D[14]) + MPC_MULTIPLY_FRACT(V[992],D[15])
|
||||
, 2);
|
||||
, 1);
|
||||
|
||||
Data += 1;
|
||||
#endif
|
||||
|
|
|
@ -92,15 +92,7 @@ enum codec_status codec_start(struct codec_api *api)
|
|||
|
||||
ci->configure(CODEC_DSP_ENABLE, (bool *)true);
|
||||
ci->configure(DSP_DITHER, (bool *)false);
|
||||
|
||||
/* NOTE: this _should_ be set to MPC_FIXED_POINT_SCALE_SHIFT, not with
|
||||
a 1 subtracted. However, doing so yields an output with only half the
|
||||
amplitude it should have, so currently we use what's here, as it gives
|
||||
correct level output. */
|
||||
ci->configure(DSP_SET_SAMPLE_DEPTH, (long *)(MPC_FIXED_POINT_SCALE_SHIFT - 1));
|
||||
/* disable these until we can figure out what's going on.
|
||||
ci->configure(DSP_SET_CLIP_MAX, (long *)MPC_FIXED_POINT_SCALE);
|
||||
ci->configure(DSP_SET_CLIP_MIN, (long *)-MPC_FIXED_POINT_SCALE);*/
|
||||
ci->configure(DSP_SET_SAMPLE_DEPTH, (long *)(28));
|
||||
ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (long *)(1024*16));
|
||||
|
||||
/* Create a decoder instance */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue