shithub: opus

Download patch

ref: 09f8f05bce8914f6df3a0d7d6feca256ca5f12dd
parent: fe00017a06ddf9314ce79a83a60ae6333769bb24
author: Marcus Asteborg <maastebo@microsoft.com>
date: Fri Jun 5 19:07:46 EDT 2020

Build time improvement, for MSVC use intrin0.h instead of intrin.h and remove usage of stdio.h in production code

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>

--- a/celt/ecintrin.h
+++ b/celt/ecintrin.h
@@ -49,7 +49,11 @@
   This macro should only be used for implementing ec_ilog(), if it is defined.
   All other code should use EC_ILOG() instead.*/
 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
+#if defined(_MSC_VER) && (_MSC_VER >= 1900)
+# include <intrin0.h> /* Improve compiler throughput. */
+#else
 # include <intrin.h>
+#endif
 /*In _DEBUG mode this is not an intrinsic by default.*/
 # pragma intrinsic(_BitScanReverse)
 
--- a/celt/os_support.h
+++ b/celt/os_support.h
@@ -39,7 +39,6 @@
 #include "opus_defines.h"
 
 #include <string.h>
-#include <stdio.h>
 #include <stdlib.h>
 
 /** Opus wrapper for malloc(). To do your own dynamic allocation, all you need to do is replace this function and opus_free */
--- a/silk/MacroCount.h
+++ b/silk/MacroCount.h
@@ -27,9 +27,9 @@
 
 #ifndef SIGPROCFIX_API_MACROCOUNT_H
 #define SIGPROCFIX_API_MACROCOUNT_H
-#include <stdio.h>
 
 #ifdef    silk_MACRO_COUNT
+#include <stdio.h>
 #define varDefine opus_int64 ops_count = 0;
 
 extern opus_int64 ops_count;
--- a/silk/debug.c
+++ b/silk/debug.c
@@ -30,7 +30,10 @@
 #endif
 
 #include "debug.h"
+
+#if SILK_DEBUG || SILK_TIC_TOC
 #include "SigProc_FIX.h"
+#endif
 
 #if SILK_TIC_TOC
 
--- a/silk/debug.h
+++ b/silk/debug.h
@@ -28,17 +28,6 @@
 #ifndef SILK_DEBUG_H
 #define SILK_DEBUG_H
 
-#include "typedef.h"
-#include <stdio.h>      /* file writing */
-#include <string.h>     /* strcpy, strcmp */
-
-#ifdef  __cplusplus
-extern "C"
-{
-#endif
-
-unsigned long GetHighResolutionTime(void); /* O  time in usec*/
-
 /* Set to 1 to enable DEBUG_STORE_DATA() macros for dumping
  * intermediate signals from the codec.
  */
@@ -45,10 +34,22 @@
 #define SILK_DEBUG 0
 
 /* Flag for using timers */
-#define SILK_TIC_TOC    0
+#define SILK_TIC_TOC 0
 
+#if SILK_DEBUG || SILK_TIC_TOC
+#include "typedef.h"
+#include <string.h>     /* strcpy, strcmp */
+#include <stdio.h>      /* file writing */
+#endif
 
+#ifdef  __cplusplus
+extern "C"
+{
+#endif
+
 #if SILK_TIC_TOC
+
+unsigned long GetHighResolutionTime(void); /* O  time in usec*/
 
 #if (defined(_WIN32) || defined(_WINCE))
 #include <windows.h>    /* timer */
--- a/src/analysis.c
+++ b/src/analysis.c
@@ -31,7 +31,9 @@
 
 #define ANALYSIS_C
 
+#ifdef MLP_TRAINING
 #include <stdio.h>
+#endif
 
 #include "mathops.h"
 #include "kiss_fft.h"