[FFmpeg-cvslog] swresample/dither: use integer arithmetic

Ganesh Ajjanagadde git at videolan.org
Sun Aug 23 23:21:21 CEST 2015


ffmpeg | branch: master | Ganesh Ajjanagadde <gajjanagadde at gmail.com> | Sun Aug 23 16:31:12 2015 -0400| [24e6729a049e476414ed677b97950421ab86c673] | committer: Michael Niedermayer

swresample/dither: use integer arithmetic

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.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=24e6729a049e476414ed677b97950421ab86c673
---

 libswresample/dither.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libswresample/dither.c b/libswresample/dither.c
index 248062a..08c793d 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 (llabs(s->out_sample_rate - f->rate)*20 <= f->rate && f->name == s->dither.method) {
             int j;
             s->dither.ns_taps = f->len;
             for (j=0; j<f->len; j++)



More information about the ffmpeg-cvslog mailing list