Mercurial > mplayer.hg
view libmpcodecs/native/decode288.h @ 15019:bc17fdd4e2ef
step 1 of fixing ad_faad:
use internal downmixing just like liba52 does if the output is <= 2 channels
actually this is broken since it makes it impossible to manually use
af_pan; however liba52 already has that limitation, and without this
patch, aac audio comes out TOTALLY wrong on 2-channel systems.
hopefully someone will find a better solution later.
next up: making ad_faad reorder the channels according to what mplayer
expects, so they won't all come out the wrong speakers...
| author | rfelker |
|---|---|
| date | Tue, 29 Mar 2005 17:59:08 +0000 |
| parents | 597ad4eb02fc |
| children |
line wrap: on
line source
#ifndef DECODE288_H #define DECODE288_H /* internal globals */ typedef struct { float history[8]; float output[40]; float pr1[36]; float pr2[10]; int phase, phasep; float st1a[111],st1b[37],st1[37]; float st2a[38],st2b[11],st2[11]; float sb[41]; float lhist[10]; } Real_internal; /* prototypes */ static void unpack (unsigned short *tgt, unsigned char *src, int len); static void decode (Real_internal *internal, unsigned int input); static void update (Real_internal *internal); static void colmult (float *tgt, float *m1, const float *m2, int n); static int pred (float *in, float *tgt, int n); static void co (int n, int i, int j, float *in, float *out, float *st1, float *st2, const float *table); static void prodsum (float *tgt, float *src, int len, int n); #endif /* !DECODE288_H */
