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 }