Revision f8a93a20 libavcodec/aacsbr.c
libavcodec/aacsbr.c  

1126  1126 
*/ 
1127  1127 
static void sbr_qmf_analysis(DSPContext *dsp, RDFTContext *rdft, const float *in, float *x, 
1128  1128 
float z[320], float W[2][32][32][2], 
1129 
float bias, float scale)


1129 
float scale) 

1130  1130 
{ 
1131  1131 
int i, k; 
1132  1132 
memcpy(W[0], W[1], sizeof(W[0])); 
1133  1133 
memcpy(x , x+1024, (32032)*sizeof(x[0])); 
1134 
if (scale != 1.0f  bias != 0.0f)


1134 
if (scale != 1.0f) 

1135  1135 
for (i = 0; i < 1024; i++) 
1136 
x[288 + i] = (in[i]  bias) * scale;


1136 
x[288 + i] = in[i] * scale;


1137  1137 
else 
1138  1138 
memcpy(x+288, in, 1024*sizeof(*x)); 
1139  1139 
for (i = 0; i < 32; i++) { // numTimeSlots*RATE = 16*2 as 960 sample frames 
...  ...  
1719  1719 
/* decode channel */ 
1720  1720 
sbr_qmf_analysis(&ac>dsp, &sbr>rdft, in, sbr>data[ch].analysis_filterbank_samples, 
1721  1721 
(float*)sbr>qmf_filter_scratch, 
1722 
sbr>data[ch].W, ac>add_bias, 1/(1024 * ac>sf_scale));


1722 
sbr>data[ch].W, 1/(1024 * ac>sf_scale)); 

1723  1723 
sbr_lf_gen(ac, sbr, sbr>X_low, sbr>data[ch].W); 
1724  1724 
if (sbr>start) { 
1725  1725 
sbr_hf_inverse_filter(sbr>alpha0, sbr>alpha1, sbr>X_low, sbr>k[0]); 
Also available in: Unified diff