comparison vorbis_enc.c @ 11768:b02a8a91e27d libavcodec

Do not invert samples when encoding Vorbis. Patch by Frank Barchard, fbarchard google
author cehoyos
date Tue, 25 May 2010 22:53:22 +0000
parents 7dd2a45249a9
children 906fdc96cdf4
comparison
equal deleted inserted replaced
11767:572bf2d9931e 11768:b02a8a91e27d
913 if (samples) { 913 if (samples) {
914 for (channel = 0; channel < venc->channels; channel++) { 914 for (channel = 0; channel < venc->channels; channel++) {
915 float * offset = venc->samples + channel*window_len*2 + window_len; 915 float * offset = venc->samples + channel*window_len*2 + window_len;
916 j = channel; 916 j = channel;
917 for (i = 0; i < samples; i++, j += venc->channels) 917 for (i = 0; i < samples; i++, j += venc->channels)
918 offset[i] = -audio[j] / 32768. / n * win[window_len - i - 1]; //FIXME find out why the sign has to be fliped 918 offset[i] = audio[j] / 32768. / n * win[window_len - i - 1];
919 } 919 }
920 } else { 920 } else {
921 for (channel = 0; channel < venc->channels; channel++) 921 for (channel = 0; channel < venc->channels; channel++)
922 memset(venc->samples + channel * window_len * 2 + window_len, 922 memset(venc->samples + channel * window_len * 2 + window_len,
923 0, sizeof(float) * window_len); 923 0, sizeof(float) * window_len);
930 if (samples) { 930 if (samples) {
931 for (channel = 0; channel < venc->channels; channel++) { 931 for (channel = 0; channel < venc->channels; channel++) {
932 float *offset = venc->saved + channel * window_len; 932 float *offset = venc->saved + channel * window_len;
933 j = channel; 933 j = channel;
934 for (i = 0; i < samples; i++, j += venc->channels) 934 for (i = 0; i < samples; i++, j += venc->channels)
935 offset[i] = -audio[j] / 32768. / n * win[i]; //FIXME find out why the sign has to be fliped 935 offset[i] = audio[j] / 32768. / n * win[i];
936 } 936 }
937 venc->have_saved = 1; 937 venc->have_saved = 1;
938 } else { 938 } else {
939 venc->have_saved = 0; 939 venc->have_saved = 0;
940 } 940 }