mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-14 07:32:35 -05:00
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 %%d2, %%a5, (992*4, %[V]), %%a5, %%acc0\n\t"
|
||||||
"mac.l %%d3, %%a5, %%acc0\n\t"
|
"mac.l %%d3, %%a5, %%acc0\n\t"
|
||||||
"movclr.l %%acc0, %%d0\n\t"
|
"movclr.l %%acc0, %%d0\n\t"
|
||||||
"asl.l #1, %%d0\n\t"
|
|
||||||
"move.l %%d0, (%[Data])+\n"
|
"move.l %%d0, (%[Data])+\n"
|
||||||
: [Data] "+a" (Data)
|
: [Data] "+a" (Data)
|
||||||
: [V] "a" (V), [D] "a" (D)
|
: [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[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[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])
|
+ 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;
|
Data += 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -92,15 +92,7 @@ enum codec_status codec_start(struct codec_api *api)
|
||||||
|
|
||||||
ci->configure(CODEC_DSP_ENABLE, (bool *)true);
|
ci->configure(CODEC_DSP_ENABLE, (bool *)true);
|
||||||
ci->configure(DSP_DITHER, (bool *)false);
|
ci->configure(DSP_DITHER, (bool *)false);
|
||||||
|
ci->configure(DSP_SET_SAMPLE_DEPTH, (long *)(28));
|
||||||
/* 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(CODEC_SET_FILEBUF_CHUNKSIZE, (long *)(1024*16));
|
ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (long *)(1024*16));
|
||||||
|
|
||||||
/* Create a decoder instance */
|
/* Create a decoder instance */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue