diff options
| author | Magnus Holmgren <magnushol@gmail.com> | 2007-09-21 17:39:24 +0000 |
|---|---|---|
| committer | Magnus Holmgren <magnushol@gmail.com> | 2007-09-21 17:39:24 +0000 |
| commit | 8fadf6bbe0e2cae183f11d1e12d5c5682e3b2581 (patch) | |
| tree | 66b0ee9ef191640312741242d6fe70b7882b5903 /apps/codecs/libfaad | |
| parent | 322fcb5d1ce7c86ca982757b58a4d81831fc40af (diff) | |
| download | rockbox-8fadf6bbe0e2cae183f11d1e12d5c5682e3b2581.zip rockbox-8fadf6bbe0e2cae183f11d1e12d5c5682e3b2581.tar.gz rockbox-8fadf6bbe0e2cae183f11d1e12d5c5682e3b2581.tar.bz2 rockbox-8fadf6bbe0e2cae183f11d1e12d5c5682e3b2581.tar.xz | |
Fix playback of HE-AACv2 (aka SBR+PS) files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14807 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libfaad')
| -rw-r--r-- | apps/codecs/libfaad/ps_dec.c | 9 | ||||
| -rw-r--r-- | apps/codecs/libfaad/sbr_qmf.c | 6 |
2 files changed, 8 insertions, 7 deletions
diff --git a/apps/codecs/libfaad/ps_dec.c b/apps/codecs/libfaad/ps_dec.c index c17d605..f5d5ca9 100644 --- a/apps/codecs/libfaad/ps_dec.c +++ b/apps/codecs/libfaad/ps_dec.c @@ -1036,10 +1036,11 @@ static void ps_decorrelate(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][ const complex_t *Phi_Fract_SubQmf; uint8_t temp_delay_ser[NO_ALLPASS_LINKS]; real_t P_SmoothPeakDecayDiffNrg, nrg; - real_t P[32][34]; - real_t G_TransientRatio[32][34] = {{0}}; + static real_t P[32][34]; + static real_t G_TransientRatio[32][34]; complex_t inputLeft; + memset(&G_TransientRatio, 0, sizeof(G_TransientRatio)); /* chose hybrid filterbank: 20 or 34 band case */ if (ps->use34hybrid_bands) @@ -1940,8 +1941,8 @@ ps_info *ps_init(uint8_t sr_index) /* main Parametric Stereo decoding function */ uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64]) { - qmf_t X_hybrid_left[32][32]; - qmf_t X_hybrid_right[32][32]; + static qmf_t X_hybrid_left[32][32]; + static qmf_t X_hybrid_right[32][32]; memset(&X_hybrid_left,0,sizeof(X_hybrid_left)); memset(&X_hybrid_right,0,sizeof(X_hybrid_right)); diff --git a/apps/codecs/libfaad/sbr_qmf.c b/apps/codecs/libfaad/sbr_qmf.c index e99adb4..540332b 100644 --- a/apps/codecs/libfaad/sbr_qmf.c +++ b/apps/codecs/libfaad/sbr_qmf.c @@ -68,7 +68,7 @@ void sbr_qmf_analysis_32(sbr_info *sbr, qmfa_info *qmfa, const real_t *input, { ALIGN real_t u[64]; #ifndef SBR_LOW_POWER - ALIGN real_t in_real[32], in_imag[32], out_real[32], out_imag[32]; + static ALIGN real_t in_real[32], in_imag[32], out_real[32], out_imag[32]; #else ALIGN real_t y[32]; #endif @@ -456,8 +456,8 @@ void sbr_qmf_synthesis_64(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][6 { // ALIGN real_t x1[64], x2[64]; #ifndef SBR_LOW_POWER - ALIGN real_t in_real1[32], in_imag1[32], out_real1[32], out_imag1[32]; - ALIGN real_t in_real2[32], in_imag2[32], out_real2[32], out_imag2[32]; + static ALIGN real_t in_real1[32], in_imag1[32], out_real1[32], out_imag1[32]; + static ALIGN real_t in_real2[32], in_imag2[32], out_real2[32], out_imag2[32]; #endif qmf_t * pX; real_t * pring_buffer_1, * pring_buffer_3; |