Mercurial > libavcodec.hg
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 } |