Mercurial > libavcodec.hg
comparison celp_filters.c @ 10503:8d536f190e6e libavcodec
And on the sixth day, God gave us the <= operand, which makes the loop
"for (i = 1; i < num + 1; i++)" look like "for (i = 1; i <= num; i++)".
Programmers worldwide rejoiced and used the operand, e.g. in the thread
"[PATCH] remove ugliness in cel_filters.c", and He saw that it was good.
author | rbultje |
---|---|
date | Mon, 09 Nov 2009 22:04:03 +0000 |
parents | d35904b4fe3f |
children | d124d9b688d0 |
comparison
equal
deleted
inserted
replaced
10502:f132cde57bbe | 10503:8d536f190e6e |
---|---|
65 int stop_on_overflow, | 65 int stop_on_overflow, |
66 int rounder) | 66 int rounder) |
67 { | 67 { |
68 int i,n; | 68 int i,n; |
69 | 69 |
70 // Avoids a +1 in the inner loop. | |
71 filter_length++; | |
72 | |
73 for (n = 0; n < buffer_length; n++) { | 70 for (n = 0; n < buffer_length; n++) { |
74 int sum = rounder; | 71 int sum = rounder; |
75 for (i = 1; i < filter_length; i++) | 72 for (i = 1; i <= filter_length; i++) |
76 sum -= filter_coeffs[i-1] * out[n-i]; | 73 sum -= filter_coeffs[i-1] * out[n-i]; |
77 | 74 |
78 sum = (sum >> 12) + in[n]; | 75 sum = (sum >> 12) + in[n]; |
79 | 76 |
80 if (sum + 0x8000 > 0xFFFFU) { | 77 if (sum + 0x8000 > 0xFFFFU) { |
94 int buffer_length, | 91 int buffer_length, |
95 int filter_length) | 92 int filter_length) |
96 { | 93 { |
97 int i,n; | 94 int i,n; |
98 | 95 |
99 // Avoids a +1 in the inner loop. | |
100 filter_length++; | |
101 | |
102 for (n = 0; n < buffer_length; n++) { | 96 for (n = 0; n < buffer_length; n++) { |
103 out[n] = in[n]; | 97 out[n] = in[n]; |
104 for (i = 1; i < filter_length; i++) | 98 for (i = 1; i <= filter_length; i++) |
105 out[n] -= filter_coeffs[i-1] * out[n-i]; | 99 out[n] -= filter_coeffs[i-1] * out[n-i]; |
106 } | 100 } |
107 } | 101 } |
108 | 102 |
109 void ff_celp_lp_zero_synthesis_filterf(float *out, | 103 void ff_celp_lp_zero_synthesis_filterf(float *out, |
112 int buffer_length, | 106 int buffer_length, |
113 int filter_length) | 107 int filter_length) |
114 { | 108 { |
115 int i,n; | 109 int i,n; |
116 | 110 |
117 // Avoids a +1 in the inner loop. | |
118 filter_length++; | |
119 | |
120 for (n = 0; n < buffer_length; n++) { | 111 for (n = 0; n < buffer_length; n++) { |
121 out[n] = in[n]; | 112 out[n] = in[n]; |
122 for (i = 1; i < filter_length; i++) | 113 for (i = 1; i <= filter_length; i++) |
123 out[n] += filter_coeffs[i-1] * in[n-i]; | 114 out[n] += filter_coeffs[i-1] * in[n-i]; |
124 } | 115 } |
125 } | 116 } |