Mercurial > libavcodec.hg
comparison flacenc.c @ 9432:c9fda17dc042 libavcodec
Skip loop iterations which are no-ops due to data1[-lag..-1] being zero.
author | koorogi |
---|---|
date | Mon, 13 Apr 2009 18:07:02 +0000 |
parents | 017b81b285f4 |
children | f2835afa516a |
comparison
equal
deleted
inserted
replaced
9431:932543edc1d2 | 9432:c9fda17dc042 |
---|---|
592 data1[j-lag]= 0.0; | 592 data1[j-lag]= 0.0; |
593 data1[len] = 0.0; | 593 data1[len] = 0.0; |
594 | 594 |
595 for(j=0; j<lag; j+=2){ | 595 for(j=0; j<lag; j+=2){ |
596 double sum0 = 1.0, sum1 = 1.0; | 596 double sum0 = 1.0, sum1 = 1.0; |
597 for(i=0; i<len; i++){ | 597 for(i=j; i<len; i++){ |
598 sum0 += data1[i] * data1[i-j]; | 598 sum0 += data1[i] * data1[i-j]; |
599 sum1 += data1[i] * data1[i-j-1]; | 599 sum1 += data1[i] * data1[i-j-1]; |
600 } | 600 } |
601 autoc[j ] = sum0; | 601 autoc[j ] = sum0; |
602 autoc[j+1] = sum1; | 602 autoc[j+1] = sum1; |
603 } | 603 } |
604 | 604 |
605 if(j==lag){ | 605 if(j==lag){ |
606 double sum = 1.0; | 606 double sum = 1.0; |
607 for(i=0; i<len; i+=2){ | 607 for(i=j-1; i<len; i+=2){ |
608 sum += data1[i ] * data1[i-j ] | 608 sum += data1[i ] * data1[i-j ] |
609 + data1[i+1] * data1[i-j+1]; | 609 + data1[i+1] * data1[i-j+1]; |
610 } | 610 } |
611 autoc[j] = sum; | 611 autoc[j] = sum; |
612 } | 612 } |