Patch by Jim Crichton updating TI DSP support for the library split.
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sat, 8 Dec 2007 03:42:18 +0000 (03:42 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sat, 8 Dec 2007 03:42:18 +0000 (03:42 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@14280 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/os_support.h
ti/config.h
ti/speex_C54_test/speex_C54_test.pjt
ti/speex_C55_test/speex_C55_test.pjt
ti/speex_C64_test/speex_C64_test.pjt
ti/testenc-TI-C5x.c
ti/testenc-TI-C64x.c

index d2f9eb8..6b74b0c 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifdef OS_SUPPORT_CUSTOM
+#include "os_support_custom.h"
+#endif
+
 /** Speex wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, speex_realloc and speex_free 
     NOTE: speex_alloc needs to CLEAR THE MEMORY */
 #ifndef OVERRIDE_SPEEX_ALLOC
index 1d6d65b..e3aab97 100644 (file)
@@ -1,69 +1,73 @@
-/* Copyright (C) 2005 Psi Systems, Inc.
-   File: config.h
+/* Copyright (C) 2005 Psi Systems, Inc.\r
+   File: config.h\r
    Main Speex option include file for TI C64xx, C54xx and C55xx processors\r
-   for use with TI Code Composer (TM) DSP development tools.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
+   for use with TI Code Composer (TM) DSP development tools.\r
+\r
+   Redistribution and use in source and binary forms, with or without\r
+   modification, are permitted provided that the following conditions\r
+   are met:\r
+   \r
+   - Redistributions of source code must retain the above copyright\r
+   notice, this list of conditions and the following disclaimer.\r
+   \r
+   - Redistributions in binary form must reproduce the above copyright\r
+   notice, this list of conditions and the following disclaimer in the\r
+   documentation and/or other materials provided with the distribution.\r
+   \r
+   - Neither the name of the Xiph.org Foundation nor the names of its\r
+   contributors may be used to endorse or promote products derived from\r
+   this software without specific prior written permission.\r
+   \r
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR\r
+   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\r
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+*/\r
 \r
 #define FIXED_POINT\r
 #define FRAME_SIZE 160\r
 #define DISABLE_WIDEBAND\r
 \r
+/* Disable DC block if doing SNR testing */\r
+#define DISABLE_HIGHPASS \r
+\r
 /* Allow for 2 20ms narrowband blocks per frame, plus a couple of bytes */\r
 #define MAX_CHARS_PER_FRAME (42/BYTES_PER_CHAR)\r
 \r
 /* for debug */\r
 #undef DECODE_ONLY\r
+#define VERBOSE_ALLOC\r
 \r
 /* EITHER    Allocate from fixed array (C heap not used) */\r
 /*           Enable VERBOSE_ALLOC to see how much is used */\r
 #define MANUAL_ALLOC\r
-#define USER_MISC\r
-#define VERBOSE_ALLOC\r
+#define OS_SUPPORT_CUSTOM\r
+\r
 /* OR        Use CALLOC (heap size must be increased in linker command file) */\r
 //#undef MANUAL_ALLOC\r
-//#undef USER_MISC\r
+//#undef OS_SUPPORT_CUSTOM\r
 \r
 #if defined (CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) \r
 //#define PRECISION16\r
 \r
 // These values determined by analysis for 8kbps narrowband\r
-#define SPEEXENC_PERSIST_STACK_SIZE 5000\r
+#define SPEEXENC_PERSIST_STACK_SIZE 1000\r
 #define SPEEXENC_SCRATCH_STACK_SIZE 3000\r
-#define SPEEXDEC_PERSIST_STACK_SIZE 2500\r
+#define SPEEXDEC_PERSIST_STACK_SIZE 1000\r
 #define SPEEXDEC_SCRATCH_STACK_SIZE 1000\r
 #else /* C6X */\r
 #define NO_LONGLONG\r
 \r
-#define SPEEXENC_PERSIST_STACK_SIZE 10000\r
+#define SPEEXENC_PERSIST_STACK_SIZE 2000\r
 #define SPEEXENC_SCRATCH_STACK_SIZE 6000\r
-#define SPEEXDEC_PERSIST_STACK_SIZE 5000\r
+#define SPEEXDEC_PERSIST_STACK_SIZE 2000\r
 #define SPEEXDEC_SCRATCH_STACK_SIZE 2000\r
 #endif\r
 #define SPEEX_PERSIST_STACK_SIZE (SPEEXENC_PERSIST_STACK_SIZE + SPEEXDEC_PERSIST_STACK_SIZE)\r
index c7f646d..73b94fa 100644 (file)
@@ -1,7 +1,7 @@
 ; Code Composer Project File, Version 2.0 (do not modify or remove this line)\r
 \r
 [Project Settings]\r
-ProjectDir="C:\speex_11234\ti\speex_C54_test\"\r
+ProjectDir="C:\Speex\speex_14274\ti\speex_C54_test\"\r
 ProjectType=Executable\r
 CPUFamily=TMS320C54XX\r
 Tool="Compiler"\r
@@ -27,8 +27,6 @@ Source="..\..\libspeex\lpc.c"
 Source="..\..\libspeex\lsp.c"\r
 Source="..\..\libspeex\lsp_tables_nb.c"\r
 Source="..\..\libspeex\ltp.c"\r
-Source="..\..\libspeex\math_approx.c"\r
-Source="..\..\libspeex\misc.c"\r
 Source="..\..\libspeex\modes.c"\r
 Source="..\..\libspeex\nb_celp.c"\r
 Source="..\..\libspeex\quant_lsp.c"\r
index b03504f..aad9f01 100644 (file)
@@ -1,7 +1,7 @@
 ; Code Composer Project File, Version 2.0 (do not modify or remove this line)\r
 \r
 [Project Settings]\r
-ProjectDir="C:\speex_11234\ti\speex_C55_test\"\r
+ProjectDir="C:\Speex\speex_14274\ti\speex_C55_test\"\r
 ProjectType=Executable\r
 CPUFamily=TMS320C55XX\r
 Tool="Compiler"\r
@@ -27,8 +27,6 @@ Source="..\..\libspeex\lpc.c"
 Source="..\..\libspeex\lsp.c"\r
 Source="..\..\libspeex\lsp_tables_nb.c"\r
 Source="..\..\libspeex\ltp.c"\r
-Source="..\..\libspeex\math_approx.c"\r
-Source="..\..\libspeex\misc.c"\r
 Source="..\..\libspeex\modes.c"\r
 Source="..\..\libspeex\nb_celp.c"\r
 Source="..\..\libspeex\quant_lsp.c"\r
index 899f6e3..10c5356 100644 (file)
@@ -1,7 +1,7 @@
 ; Code Composer Project File, Version 2.0 (do not modify or remove this line)\r
 \r
 [Project Settings]\r
-ProjectDir="C:\speex_11234\ti\speex_C64_test\"\r
+ProjectDir="C:\Speex\speex_14274\ti\speex_C64_test\"\r
 ProjectType=Executable\r
 CPUFamily=TMS320C64XX\r
 Tool="Compiler"\r
@@ -12,7 +12,7 @@ Config="Debug"
 Config="Release"\r
 \r
 [Source Files]\r
-Source="..\..\..\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib"\r
+Source="..\..\..\..\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib"\r
 Source="..\..\libspeex\bits.c"\r
 Source="..\..\libspeex\cb_search.c"\r
 Source="..\..\libspeex\exc_10_16_table.c"\r
@@ -28,8 +28,6 @@ Source="..\..\libspeex\lpc.c"
 Source="..\..\libspeex\lsp.c"\r
 Source="..\..\libspeex\lsp_tables_nb.c"\r
 Source="..\..\libspeex\ltp.c"\r
-Source="..\..\libspeex\math_approx.c"\r
-Source="..\..\libspeex\misc.c"\r
 Source="..\..\libspeex\modes.c"\r
 Source="..\..\libspeex\nb_celp.c"\r
 Source="..\..\libspeex\quant_lsp.c"\r
index 33100e8..4d72644 100644 (file)
@@ -184,10 +184,17 @@ void main()
    tmp=1;  /* Lowest */\r
    speex_encoder_ctl(st, SPEEX_SET_COMPLEXITY, &tmp);\r
 \r
-   speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay);
-   speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp);
-   skip_group_delay += tmp;
-   fprintf (stderr, "decoder lookahead = %d\n", skip_group_delay);\r
+#ifdef DISABLE_HIGHPASS\r
+   /* Turn this off if you want to measure SNR (on by default) */\r
+   tmp=0;\r
+   speex_encoder_ctl(st, SPEEX_SET_HIGHPASS, &tmp);\r
+   speex_decoder_ctl(dec, SPEEX_SET_HIGHPASS, &tmp);\r
+#endif\r
+\r
+   speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay);\r
+   speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp);\r
+   skip_group_delay += tmp;\r
+   fprintf (stderr, "decoder lookahead = %ld\n", skip_group_delay);\r
 \r
 #ifdef DECODE_ONLY\r
    bitsFile = "c:\\speextrunktest\\samples\\malebitsin.dat";\r
index 3bb17de..8d6e97a 100644 (file)
@@ -1,38 +1,38 @@
-/* Copyright (C) 2005 Psi Systems, Inc.
-   Author:  Jean-Marc Valin 
-   File: testenc-TI-C64x.c
+/* Copyright (C) 2005 Psi Systems, Inc.\r
+   Author:  Jean-Marc Valin \r
+   File: testenc-TI-C64x.c\r
    Encoder/Decoder Loop Main file for TI TMS320C64xx processor\r
-   for use with TI Code Composer (TM) DSP development tools.
+   for use with TI Code Composer (TM) DSP development tools.\r
    Modified from speexlib/testenc.c\r
 \r
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
+\r
+   Redistribution and use in source and binary forms, with or without\r
+   modification, are permitted provided that the following conditions\r
+   are met:\r
+   \r
+   - Redistributions of source code must retain the above copyright\r
+   notice, this list of conditions and the following disclaimer.\r
+   \r
+   - Redistributions in binary form must reproduce the above copyright\r
+   notice, this list of conditions and the following disclaimer in the\r
+   documentation and/or other materials provided with the distribution.\r
+   \r
+   - Neither the name of the Xiph.org Foundation nor the names of its\r
+   contributors may be used to endorse or promote products derived from\r
+   this software without specific prior written permission.\r
+   \r
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR\r
+   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\r
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+*/\r
 \r
 #ifdef HAVE_CONFIG_H\r
 #include "config.h"\r
@@ -146,9 +146,16 @@ void main()
    tmp=1;  /* Lowest */\r
    speex_encoder_ctl(st, SPEEX_SET_COMPLEXITY, &tmp);\r
 \r
-   speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay);
-   speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp);
-   skip_group_delay += tmp;
+#ifdef DISABLE_HIGHPASS\r
+   /* Turn this off if you want to measure SNR (on by default) */\r
+   tmp=0;\r
+   speex_encoder_ctl(st, SPEEX_SET_HIGHPASS, &tmp);\r
+   speex_decoder_ctl(dec, SPEEX_SET_HIGHPASS, &tmp);\r
+#endif\r
+\r
+   speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay);\r
+   speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp);\r
+   skip_group_delay += tmp;\r
    fprintf (stderr, "decoder lookahead = %d\n", skip_group_delay);\r
 \r
 #ifdef DECODE_ONLY\r