[FFmpeg-devel] Make Vorbis encoder not invert samples

Frank Barchard fbarchard
Fri May 21 04:56:07 CEST 2010


Vorbis encoder is inverting samples, which makes no sense.
Removing it makes it easier to look at the samples and try to figure out why
quality is low.

Index: libavcodec/vorbis_enc.c
===================================================================
--- libavcodec/vorbis_enc.c     (revision 23202)
+++ libavcodec/vorbis_enc.c     (working copy)
@@ -915,7 +915,7 @@
             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]; //FIXME find out why the sign has to be fliped
+                offset[i] = audio[j] / 32768. / n * win[window_len - i -
1];
         }
     } else {
         for (channel = 0; channel < venc->channels; channel++)
@@ -932,7 +932,7 @@
             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]; //FIXME find
out why the sign has to be fliped
+                offset[i] = audio[j] / 32768. / n * win[i];
         }
         venc->have_saved = 1;
     } else {



More information about the ffmpeg-devel mailing list