|
|
@@ -780,13 +780,11 @@ static void floor_fit(venc_context_t * venc, floor_t * fc, float * coeffs, int * |
|
|
|
int end = fc->list[fc->list[FFMIN(i+1, fc->values - 1)].sort].x; |
|
|
|
int j; |
|
|
|
float average = 0; |
|
|
|
begin = (position + begin) / 2; |
|
|
|
end = (position + end ) / 2; |
|
|
|
|
|
|
|
assert(end <= samples); |
|
|
|
for (j = begin; j < end; j++) average += fabs(coeffs[j]); |
|
|
|
average /= end - begin; |
|
|
|
average /= 32; // MAGIC! |
|
|
|
average /= pow(4, 1 - position/400.); // MAGIC! |
|
|
|
for (j = 0; j < range - 1; j++) if (floor1_inverse_db_table[j * fc->multiplier] > average) break; |
|
|
|
posts[fc->list[i].sort] = j; |
|
|
|
} |
|
|
|