vorbis suffers from the same sign flip issue as wma (so this lame workaround, though...
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 7 Feb 2007 16:59:10 +0000 (16:59 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 7 Feb 2007 16:59:10 +0000 (16:59 +0000)
Originally committed as revision 7873 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vorbis_enc.c

index 636b0cf..3789ef7 100644 (file)
@@ -906,7 +906,7 @@ static int apply_window_and_mdct(venc_context_t * venc, signed short * audio, in
             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. / n * win[window_len - i - 1];
+                offset[i] = -audio[j] / 32768. / n * win[window_len - i - 1]; //FIXME find out why the sign has to be fliped
         }
     } else {
         for (channel = 0; channel < venc->channels; channel++) {
@@ -923,7 +923,7 @@ static int apply_window_and_mdct(venc_context_t * venc, signed short * audio, in
             float * offset = venc->saved + channel*window_len;
             j = channel;
             for (i = 0; i < samples; i++, j += venc->channels)
-                offset[i] = audio[j] / 32768. / n * win[i];
+                offset[i] = -audio[j] / 32768. / n * win[i]; //FIXME find out why the sign has to be fliped
         }
         venc->have_saved = 1;
     } else {