diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2022-04-05 22:37:22 +0200 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2022-04-07 16:37:51 +0200 |
commit | cd96211ace22224e27d00ed8bf92955e48ebff73 (patch) | |
tree | 78b813e847b18c8ec86fddd1657b74cac21031a5 /libavfilter | |
parent | 607ecc27ed9c22c75d063b462b3e78b47e7d742c (diff) |
avfilter/f_ebur128: multiply in integer first, before dividing in float
Restores the order of operations from before 15a1104, which reduces
errors from floating point calculations, and fixes FATE on mingw64.
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/f_ebur128.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c index 1b1bcf1bff..a036aa0c86 100644 --- a/libavfilter/f_ebur128.c +++ b/libavfilter/f_ebur128.c @@ -768,7 +768,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) /* get lower loudness to consider */ n = 0; - nb_pow = LRA_LOWER_PRC * 0.01 * nb_powers + 0.5; + nb_pow = LRA_LOWER_PRC * nb_powers * 0.01 + 0.5; for (i = gate_hist_pos; i < HIST_SIZE; i++) { n += ebur128->i3000.histogram[i].count; if (n >= nb_pow) { @@ -779,7 +779,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) /* get higher loudness to consider */ n = nb_powers; - nb_pow = LRA_HIGHER_PRC * 0.01 * nb_powers + 0.5; + nb_pow = LRA_HIGHER_PRC * nb_powers * 0.01 + 0.5; for (i = HIST_SIZE - 1; i >= 0; i--) { n -= FFMIN(n, ebur128->i3000.histogram[i].count); if (n < nb_pow) { |