1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Skip loop iterations which are no-ops due to data1[-lag..-1] being zero.

Originally committed as revision 18498 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Bobby Bingham 2009-04-13 18:07:02 +00:00
parent fb53b4a035
commit 0aed5e9fb8

View File

@ -594,7 +594,7 @@ void ff_flac_compute_autocorr(const int32_t *data, int len, int lag,
for(j=0; j<lag; j+=2){ for(j=0; j<lag; j+=2){
double sum0 = 1.0, sum1 = 1.0; double sum0 = 1.0, sum1 = 1.0;
for(i=0; i<len; i++){ for(i=j; i<len; i++){
sum0 += data1[i] * data1[i-j]; sum0 += data1[i] * data1[i-j];
sum1 += data1[i] * data1[i-j-1]; sum1 += data1[i] * data1[i-j-1];
} }
@ -604,7 +604,7 @@ void ff_flac_compute_autocorr(const int32_t *data, int len, int lag,
if(j==lag){ if(j==lag){
double sum = 1.0; double sum = 1.0;
for(i=0; i<len; i+=2){ for(i=j-1; i<len; i+=2){
sum += data1[i ] * data1[i-j ] sum += data1[i ] * data1[i-j ]
+ data1[i+1] * data1[i-j+1]; + data1[i+1] * data1[i-j+1];
} }