double w;
double c;
- /* The optimization in commit fa4ed8c does not support odd len.
- * If someone wants odd len extend that change. */
- av_assert2(!(len & 1));
-
n2 = (len >> 1);
c = 2.0 / (len - 1.0);
+ if (len & 1) {
+ for(i=0; i<n2; i++) {
+ w = c - i - 1.0;
+ w = 1.0 - (w * w);
+ w_data[i] = data[i] * w;
+ w_data[len-1-i] = data[len-1-i] * w;
+ }
+ return;
+ }
+
w_data+=n2;
data+=n2;
for(i=0; i<n2; i++) {