diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 01d1b85cf03bc9f427c70fc0bea900e1bbfb9aac..b18f6531c60d193dd8534e7f1aa8cbbbd640a11c 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -681,7 +681,7 @@ static void floor_fit(vorbis_enc_context *venc, vorbis_enc_floor *fc, float average = averages[i]; int j; - average *= pow(tot_average / average, 0.5) * pow(1.25, position/200.); // MAGIC! + average = sqrt(tot_average * average) * pow(1.25f, position*0.005f); // MAGIC! for (j = 0; j < range - 1; j++) if (ff_vorbis_floor1_inverse_db_table[j * fc->multiplier] > average) break;