[FFmpeg-devel] [PATCH 7/9] avcodec/mdct_template: use lrint instead of floor hack
Ganesh Ajjanagadde
gajjanagadde at gmail.com
Sun Dec 6 14:20:46 CET 2015
On Tue, Dec 1, 2015 at 7:27 PM, Ganesh Ajjanagadde
<gajjanagadde at gmail.com> wrote:
> 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
>
Ping for this one, it is relatively important among the lrint patches
as this is frequently used and table may be large, making speed
benefit somewhat useful.
I have noted the header alphabetical include order mistake above.
More information about the ffmpeg-devel
mailing list