[FFmpeg-devel] [PATCH][RFC] swresample/dither: use integer arithmetic

Ganesh Ajjanagadde gajjanagadde at gmail.com
Sun Aug 23 20:28:07 CEST 2015


This fixes a -Wabsolute-value reported by clang 3.5+ complaining about misuse of fabs() for integer absolute value.
An additional benefit is the removal of floating point calculations.
Note that the behaviors are not exactly identical, but should be ok in most situations.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
---
 libswresample/dither.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libswresample/dither.c b/libswresample/dither.c
index 248062a..fc08932 100644
--- a/libswresample/dither.c
+++ b/libswresample/dither.c
@@ -109,7 +109,7 @@ av_cold int swri_dither_init(SwrContext *s, enum AVSampleFormat out_fmt, enum AV
     memset(s->dither.ns_errors, 0, sizeof(s->dither.ns_errors));
     for (i=0; filters[i].coefs; i++) {
         const filter_t *f = &filters[i];
-        if (fabs(s->out_sample_rate - f->rate) / f->rate <= .05 && f->name == s->dither.method) {
+        if ((abs(s->out_sample_rate - f->rate) <= f->rate / 20) && f->name == s->dither.method) {
             int j;
             s->dither.ns_taps = f->len;
             for (j=0; j<f->len; j++)
-- 
2.5.0



More information about the ffmpeg-devel mailing list