summaryrefslogtreecommitdiff
path: root/apps/codecs/libmad/synth.c
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2005-03-06 22:13:44 +0000
committerThom Johansen <thomj@rockbox.org>2005-03-06 22:13:44 +0000
commite78186f4cfe0adae87cf499b73a75807d019d9bc (patch)
tree3d051bd1bbc80a5d43bce3bc7b238e76755425cc /apps/codecs/libmad/synth.c
parent6a33dd761eab41585fc1eaed933e561724454d99 (diff)
downloadrockbox-e78186f4cfe0adae87cf499b73a75807d019d9bc.tar.gz
rockbox-e78186f4cfe0adae87cf499b73a75807d019d9bc.zip
Added asm optimized short block IMDCT and windowing.
Removed a warning in synth.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6159 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmad/synth.c')
-rw-r--r--apps/codecs/libmad/synth.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/codecs/libmad/synth.c b/apps/codecs/libmad/synth.c
index 530f33cdf6..2d212c091f 100644
--- a/apps/codecs/libmad/synth.c
+++ b/apps/codecs/libmad/synth.c
@@ -24,6 +24,7 @@
24# endif 24# endif
25 25
26# include "global.h" 26# include "global.h"
27
27# include "fixed.h" 28# include "fixed.h"
28# include "frame.h" 29# include "frame.h"
29# include "synth.h" 30# include "synth.h"
@@ -100,6 +101,7 @@ void mad_synth_mute(struct mad_synth *synth)
100# endif 101# endif
101 102
102/* possible DCT speed optimization */ 103/* possible DCT speed optimization */
104
103# if defined(OPT_SPEED) && defined(MAD_F_MLX) 105# if defined(OPT_SPEED) && defined(MAD_F_MLX)
104# define OPT_DCTO 106# define OPT_DCTO
105# define MUL(x, y) \ 107# define MUL(x, y) \
@@ -112,6 +114,7 @@ void mad_synth_mute(struct mad_synth *synth)
112# undef OPT_DCTO 114# undef OPT_DCTO
113# define MUL(x, y) mad_f_mul((x), (y)) 115# define MUL(x, y) mad_f_mul((x), (y))
114# endif 116# endif
117
115/* 118/*
116 * NAME: dct32() 119 * NAME: dct32()
117 * DESCRIPTION: perform fast in[32]->out[32] DCT 120 * DESCRIPTION: perform fast in[32]->out[32] DCT
@@ -547,7 +550,6 @@ mad_fixed_t const D[17][32] __attribute__ ((section(".idata"))) = {
547void synth_full(struct mad_synth *, struct mad_frame const *, 550void synth_full(struct mad_synth *, struct mad_frame const *,
548 unsigned int, unsigned int); 551 unsigned int, unsigned int);
549# else 552# else
550
551/* 553/*
552 * NAME: synth->full() 554 * NAME: synth->full()
553 * DESCRIPTION: perform full frequency PCM synthesis 555 * DESCRIPTION: perform full frequency PCM synthesis
@@ -563,7 +565,7 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame,
563 mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8]; 565 mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8];
564 mad_fixed_t const (*sbsample)[36][32]; 566 mad_fixed_t const (*sbsample)[36][32];
565 mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; 567 mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8];
566 mad_fixed_t const (*Dptr)[32], *ptr; 568 mad_fixed_t const (*Dptr)[32];
567 mad_fixed64hi_t hi = 0; 569 mad_fixed64hi_t hi = 0;
568 mad_fixed64lo_t lo; 570 mad_fixed64lo_t lo;
569 571
@@ -1010,4 +1012,3 @@ void mad_synth_frame(struct mad_synth *synth, struct mad_frame const *frame)
1010 1012
1011 synth->phase = (synth->phase + ns) % 16; 1013 synth->phase = (synth->phase + ns) % 16;
1012} 1014}
1013