diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 73598cd517bacec3e4a147e15d7126667e3a574d..7c849a7ae6ae693ef9fbafcac6b25c512c78d8b7 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -847,7 +847,7 @@ static int window(venc_context_t * venc, signed short * audio, int samples) { float * offset = venc->samples + channel*window_len*2 + window_len; j = channel; for (i = 0; i < samples; i++, j += venc->channels) - offset[i] = audio[j] / 32768. * win[window_len - i] / n; + offset[i] = audio[j] / 32768. / n * win[window_len - i - 1]; } } else { for (channel = 0; channel < venc->channels; channel++) { @@ -864,7 +864,7 @@ static int window(venc_context_t * venc, signed short * audio, int samples) { float * offset = venc->saved + channel*window_len; j = channel; for (i = 0; i < samples; i++, j += venc->channels) - offset[i] = audio[j] / 32768. * win[i] / n; + offset[i] = audio[j] / 32768. / n * win[i]; } venc->have_saved = 1; } else {