forked from len0rd/rockbox
Commit FS#9318 - MP3 synthesis filter on COP. Loads the MP3 synth filer on to the CoProcessor on all PortalPlayer devices, resulting in an ~90% speedup according to test_codec on the Sansa. Real world improvement is somewhat less, but still considerable. Allows MP3 decoding at 30MHz without boosting, or use of more DSP/EQ with less boosting/skipping, thus improving battery life. Minor changes to mpegplayer to retain compatibility with libmad changes. Should be no significant changes for other targets or codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18557 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3d0d6d6bb2
commit
4e36a2b991
9 changed files with 180 additions and 32 deletions
|
|
@ -65,12 +65,15 @@ struct mad_header {
|
|||
};
|
||||
|
||||
struct mad_frame {
|
||||
struct mad_header header; /* MPEG audio header */
|
||||
struct mad_header header; /* MPEG audio header */
|
||||
int options; /* decoding options (from stream) */
|
||||
|
||||
int options; /* decoding options (from stream) */
|
||||
|
||||
mad_fixed_t sbsample[2][36][32]; /* synthesis subband filter samples */
|
||||
mad_fixed_t (*overlap)[2][32][18]; /* Layer III block overlap data */
|
||||
mad_fixed_t (*sbsample)[2][36][32]; /* synthesis subband filter samples */
|
||||
mad_fixed_t (*sbsample_prev)[2][36][32]; /* synthesis subband filter samples
|
||||
from previous frame only needed
|
||||
when synthesis is on cop */
|
||||
|
||||
mad_fixed_t (*overlap)[2][32][18]; /* Layer III block overlap data */
|
||||
};
|
||||
|
||||
# define MAD_NCHANNELS(header) ((header)->mode ? 2 : 1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue