mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-15 16:12:28 -05:00
Fix playback of HE-AACv2 (aka SBR+PS) files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14807 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
322fcb5d1c
commit
8fadf6bbe0
2 changed files with 8 additions and 7 deletions
|
|
@ -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;
|
const complex_t *Phi_Fract_SubQmf;
|
||||||
uint8_t temp_delay_ser[NO_ALLPASS_LINKS];
|
uint8_t temp_delay_ser[NO_ALLPASS_LINKS];
|
||||||
real_t P_SmoothPeakDecayDiffNrg, nrg;
|
real_t P_SmoothPeakDecayDiffNrg, nrg;
|
||||||
real_t P[32][34];
|
static real_t P[32][34];
|
||||||
real_t G_TransientRatio[32][34] = {{0}};
|
static real_t G_TransientRatio[32][34];
|
||||||
complex_t inputLeft;
|
complex_t inputLeft;
|
||||||
|
|
||||||
|
memset(&G_TransientRatio, 0, sizeof(G_TransientRatio));
|
||||||
|
|
||||||
/* chose hybrid filterbank: 20 or 34 band case */
|
/* chose hybrid filterbank: 20 or 34 band case */
|
||||||
if (ps->use34hybrid_bands)
|
if (ps->use34hybrid_bands)
|
||||||
|
|
@ -1940,8 +1941,8 @@ ps_info *ps_init(uint8_t sr_index)
|
||||||
/* main Parametric Stereo decoding function */
|
/* main Parametric Stereo decoding function */
|
||||||
uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64])
|
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];
|
static qmf_t X_hybrid_left[32][32];
|
||||||
qmf_t X_hybrid_right[32][32];
|
static qmf_t X_hybrid_right[32][32];
|
||||||
|
|
||||||
memset(&X_hybrid_left,0,sizeof(X_hybrid_left));
|
memset(&X_hybrid_left,0,sizeof(X_hybrid_left));
|
||||||
memset(&X_hybrid_right,0,sizeof(X_hybrid_right));
|
memset(&X_hybrid_right,0,sizeof(X_hybrid_right));
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ void sbr_qmf_analysis_32(sbr_info *sbr, qmfa_info *qmfa, const real_t *input,
|
||||||
{
|
{
|
||||||
ALIGN real_t u[64];
|
ALIGN real_t u[64];
|
||||||
#ifndef SBR_LOW_POWER
|
#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
|
#else
|
||||||
ALIGN real_t y[32];
|
ALIGN real_t y[32];
|
||||||
#endif
|
#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];
|
// ALIGN real_t x1[64], x2[64];
|
||||||
#ifndef SBR_LOW_POWER
|
#ifndef SBR_LOW_POWER
|
||||||
ALIGN real_t in_real1[32], in_imag1[32], out_real1[32], out_imag1[32];
|
static 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_real2[32], in_imag2[32], out_real2[32], out_imag2[32];
|
||||||
#endif
|
#endif
|
||||||
qmf_t * pX;
|
qmf_t * pX;
|
||||||
real_t * pring_buffer_1, * pring_buffer_3;
|
real_t * pring_buffer_1, * pring_buffer_3;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue