diff options
Diffstat (limited to 'gr-vocoder/lib/codec2')
-rw-r--r-- | gr-vocoder/lib/codec2/CMakeLists.txt | 109 | ||||
-rw-r--r-- | gr-vocoder/lib/codec2/fft.c | 6 | ||||
-rw-r--r-- | gr-vocoder/lib/codec2/kiss_fft.h | 1 |
3 files changed, 112 insertions, 4 deletions
diff --git a/gr-vocoder/lib/codec2/CMakeLists.txt b/gr-vocoder/lib/codec2/CMakeLists.txt new file mode 100644 index 000000000..2b8273d16 --- /dev/null +++ b/gr-vocoder/lib/codec2/CMakeLists.txt @@ -0,0 +1,109 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Create executable to generate other sources +######################################################################## +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +ADD_EXECUTABLE(generate_codebook ${CMAKE_CURRENT_SOURCE_DIR}/generate_codebook.c) +TARGET_LINK_LIBRARIES(generate_codebook -lm) + +######################################################################## +# Create codebook +######################################################################## +SET(CODEBOOKS + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp5.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp6.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp7.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp8.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp9.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp10.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebook.c + DEPENDS generate_codebook ${CODEBOOKS} + COMMAND generate_codebook lsp_cb ${CODEBOOKS} > ${CMAKE_CURRENT_BINARY_DIR}/codebook.c +) + +######################################################################## +# Create codebookd +######################################################################## +SET(CODEBOOKSD + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp5.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp6.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp7.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp8.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp9.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp10.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c + DEPENDS generate_codebook ${CODEBOOKSD} + COMMAND generate_codebook lsp_cbd ${CODEBOOKSD} > ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c +) + +######################################################################## +# Create codebookdvq +######################################################################## +SET(CODEBOOKSDVQ + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp5.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c + DEPENDS generate_codebook ${CODEBOOKSDVQ} + COMMAND generate_codebook lsp_cbdvq ${CODEBOOKSDVQ} > ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c +) + +######################################################################## +# Append all sources in this dir +######################################################################## +LIST(APPEND gr_vocoder_sources + ${CMAKE_CURRENT_BINARY_DIR}/codebook.c + ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c + ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c + + ${CMAKE_CURRENT_SOURCE_DIR}/dump.c + ${CMAKE_CURRENT_SOURCE_DIR}/lpc.c + ${CMAKE_CURRENT_SOURCE_DIR}/nlp.c + ${CMAKE_CURRENT_SOURCE_DIR}/postfilter.c + ${CMAKE_CURRENT_SOURCE_DIR}/sine.c + ${CMAKE_CURRENT_SOURCE_DIR}/codec2.c + ${CMAKE_CURRENT_SOURCE_DIR}/fft.c + ${CMAKE_CURRENT_SOURCE_DIR}/kiss_fft.c + ${CMAKE_CURRENT_SOURCE_DIR}/interp.c + ${CMAKE_CURRENT_SOURCE_DIR}/lsp.c + ${CMAKE_CURRENT_SOURCE_DIR}/phase.c + ${CMAKE_CURRENT_SOURCE_DIR}/quantise.c + ${CMAKE_CURRENT_SOURCE_DIR}/pack.c +) diff --git a/gr-vocoder/lib/codec2/fft.c b/gr-vocoder/lib/codec2/fft.c index 73c46c846..a33e4d2c8 100644 --- a/gr-vocoder/lib/codec2/fft.c +++ b/gr-vocoder/lib/codec2/fft.c @@ -72,18 +72,18 @@ initialize_fft (int n) void fft (float x[], int n, int isign) { + int isReverse = 0; + int c; + kiss_fft_cfg cfg; if (cfg_forward == NULL) { initialize_fft (n); } - int isReverse = 0; - int c; for (c = 0; c < n * 2; c += 2) { fin[c / 2].r = x[c]; fin[c / 2].i = -x[c + 1]; } - kiss_fft_cfg cfg; if (isign == -1) { cfg = cfg_reverse; diff --git a/gr-vocoder/lib/codec2/kiss_fft.h b/gr-vocoder/lib/codec2/kiss_fft.h index 20621d8b3..64c50f4aa 100644 --- a/gr-vocoder/lib/codec2/kiss_fft.h +++ b/gr-vocoder/lib/codec2/kiss_fft.h @@ -5,7 +5,6 @@ #include <stdio.h> #include <math.h> #include <string.h> -#include <malloc.h> #ifdef __cplusplus extern "C" { |