shithub: opus

Download patch

ref: 3039c9bde55eef9b343123a533fc2199c8793f36
parent: a9b7def9f5b6e6ee64747572d678735595a897fd
author: Jean-Marc Valin <[email protected]>
date: Mon Dec 9 11:31:07 EST 2013

Makes silk_inner_prod_aligned() use celt_inner_prod() in fixed-point.

Should make it easier when writing assembly.

--- a/silk/fixed/vector_ops_FIX.c
+++ b/silk/fixed/vector_ops_FIX.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "SigProc_FIX.h"
+#include "pitch.h"
 
 /* Copy and multiply a vector by a constant */
 void silk_scale_copy_vector16(
@@ -73,6 +74,9 @@
     const opus_int              len                 /*    I vector lengths                                              */
 )
 {
+#ifdef FIXED_POINT
+   return celt_inner_prod(inVec1, inVec2, len);
+#else
     opus_int   i;
     opus_int32 sum = 0;
     for( i = 0; i < len; i++ ) {
@@ -79,6 +83,7 @@
         sum = silk_SMLABB( sum, inVec1[ i ], inVec2[ i ] );
     }
     return sum;
+#endif
 }
 
 opus_int64 silk_inner_prod16_aligned_64(