[FFmpeg-devel] [PATCH 7/9] avcodec/mdct_template: use lrint instead of floor hack

Ganesh Ajjanagadde gajjanagadde at gmail.com
Wed Dec 2 01:27:56 CET 2015


Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
---
 libavcodec/mdct_template.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/mdct_template.c b/libavcodec/mdct_template.c
index e7e5f62..ecdeb54 100644
--- a/libavcodec/mdct_template.c
+++ b/libavcodec/mdct_template.c
@@ -23,6 +23,7 @@
 #include <string.h>
 #include "libavutil/common.h"
 #include "libavutil/mathematics.h"
+#include "libavutil/libm.h"
 #include "fft.h"
 #include "fft-internal.h"
 
@@ -82,8 +83,8 @@ av_cold int ff_mdct_init(FFTContext *s, int nbits, int inverse, double scale)
     for(i=0;i<n4;i++) {
         alpha = 2 * M_PI * (i + theta) / n;
 #if FFT_FIXED_32
-        s->tcos[i*tstep] = (FFTSample)floor(-cos(alpha) * 2147483648.0 + 0.5);
-        s->tsin[i*tstep] = (FFTSample)floor(-sin(alpha) * 2147483648.0 + 0.5);
+        s->tcos[i*tstep] = lrint(-cos(alpha) * 2147483648.0);
+        s->tsin[i*tstep] = lrint(-sin(alpha) * 2147483648.0);
 #else
         s->tcos[i*tstep] = FIX15(-cos(alpha) * scale);
         s->tsin[i*tstep] = FIX15(-sin(alpha) * scale);
-- 
2.6.2



More information about the ffmpeg-devel mailing list