|
|
|
@@ -1181,14 +1181,15 @@ static void sbr_qmf_synthesis(DSPContext *dsp, FFTContext *mdct, |
|
|
|
{ |
|
|
|
int i, n; |
|
|
|
const float *sbr_qmf_window = div ? sbr_qmf_window_ds : sbr_qmf_window_us; |
|
|
|
const int step = 128 >> div; |
|
|
|
float *v; |
|
|
|
for (i = 0; i < 32; i++) { |
|
|
|
if (*v_off == 0) { |
|
|
|
if (*v_off < step) { |
|
|
|
int saved_samples = (1280 - 128) >> div; |
|
|
|
memcpy(&v0[SBR_SYNTHESIS_BUF_SIZE - saved_samples], v0, saved_samples * sizeof(float)); |
|
|
|
*v_off = SBR_SYNTHESIS_BUF_SIZE - saved_samples - (128 >> div); |
|
|
|
*v_off = SBR_SYNTHESIS_BUF_SIZE - saved_samples - step; |
|
|
|
} else { |
|
|
|
*v_off -= 128 >> div; |
|
|
|
*v_off -= step; |
|
|
|
} |
|
|
|
v = v0 + *v_off; |
|
|
|
if (div) { |
|
|
|
|