From 9634f5001aa85c43256641e70e71f653bdad9b98 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Mon, 9 Dec 2013 13:54:41 -0500 Subject: Using celt_inner_prod() for input sanity check. --- src/opus_encoder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/opus_encoder.c b/src/opus_encoder.c index dd4999b3..c819bb15 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -38,6 +38,7 @@ #include "float_cast.h" #include "opus.h" #include "arch.h" +#include "pitch.h" #include "opus_private.h" #include "os_support.h" #include "cpu_support.h" @@ -1447,9 +1448,8 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_ #ifndef FIXED_POINT if (float_api) { - opus_val32 sum=0; - for (i=0;ichannels;i++) - sum += pcm_buf[total_buffer*st->channels+i]*pcm_buf[total_buffer*st->channels+i]; + opus_val32 sum; + sum = celt_inner_prod(&pcm_buf[total_buffer*st->channels], &pcm_buf[total_buffer*st->channels], frame_size*st->channels); /* This should filter out both NaNs and ridiculous signals that could cause NaNs further down. */ if (!(sum < 1e9)) -- cgit v1.2.3