trunk/src/lib/libflac/libflac/lpc.c
| r23835 | r23836 | |
| 88 | 88 | * this version tends to run faster because of better data locality |
| 89 | 89 | * ('data_len' is usually much larger than 'lag') |
| 90 | 90 | */ |
| 91 | | FLAC__real d; |
| 91 | FLAC__real d, tmp; |
| 92 | 92 | unsigned sample, coeff; |
| 93 | 93 | const unsigned limit = data_len - lag; |
| 94 | 94 | |
| r23835 | r23836 | |
| 99 | 99 | autoc[coeff] = 0.0; |
| 100 | 100 | for(sample = 0; sample <= limit; sample++) { |
| 101 | 101 | d = data[sample]; |
| 102 | | for(coeff = 0; coeff < lag; coeff++) |
| 103 | | autoc[coeff] += d * data[sample+coeff]; |
| 102 | for(coeff = 0; coeff < lag; coeff++) { |
| 103 | tmp = d * data[sample+coeff]; |
| 104 | autoc[coeff] += tmp; |
| 105 | } |
| 104 | 106 | } |
| 105 | 107 | for(; sample < data_len; sample++) { |
| 106 | 108 | d = data[sample]; |
| 107 | | for(coeff = 0; coeff < data_len - sample; coeff++) |
| 108 | | autoc[coeff] += d * data[sample+coeff]; |
| 109 | for(coeff = 0; coeff < data_len - sample; coeff++) { |
| 110 | tmp = d * data[sample+coeff]; |
| 111 | autoc[coeff] += tmp; |
| 112 | } |
| 109 | 113 | } |
| 110 | 114 | } |
| 111 | 115 | |