[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 01/10: gr-vocoder: codec2 subcomponent usin
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 01/10: gr-vocoder: codec2 subcomponent using external codec2 library |
Date: |
Wed, 3 Aug 2016 23:35:09 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch next
in repository gnuradio.
commit 7e20b582f8fff0ad63771705eeb6a037ce9b8628
Author: A. Maitland Bottoms <address@hidden>
Date: Sat Jun 25 17:54:28 2016 -0400
gr-vocoder: codec2 subcomponent using external codec2 library
---
cmake/Modules/FindCodec2.cmake | 67 +++++++++++++++++
gr-vocoder/CMakeLists.txt | 15 ++++
gr-vocoder/examples/CMakeLists.txt | 9 ++-
gr-vocoder/grc/CMakeLists.txt | 11 ++-
gr-vocoder/grc/vocoder_codec2_decode_ps.xml | 10 ++-
gr-vocoder/grc/vocoder_codec2_encode_sp.xml | 10 ++-
gr-vocoder/include/gnuradio/vocoder/CMakeLists.txt | 10 +++
gr-vocoder/include/gnuradio/vocoder/codec2.h | 10 ++-
gr-vocoder/lib/CMakeLists.txt | 83 +++-------------------
gr-vocoder/python/vocoder/CMakeLists.txt | 15 +++-
gr-vocoder/swig/CMakeLists.txt | 4 ++
gr-vocoder/swig/vocoder_swig.i | 25 ++++---
12 files changed, 179 insertions(+), 90 deletions(-)
diff --git a/cmake/Modules/FindCodec2.cmake b/cmake/Modules/FindCodec2.cmake
new file mode 100644
index 0000000..1c917fe
--- /dev/null
+++ b/cmake/Modules/FindCodec2.cmake
@@ -0,0 +1,67 @@
+# Copyright 2016 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.
+
+##############################
+# Check for system libcodec2 #
+##############################
+
+INCLUDE(FindPkgConfig)
+INCLUDE(FindPackageHandleStandardArgs)
+
+pkg_check_modules(LIBCODEC2_PKG QUIET codec2)
+
+find_path(LIBCODEC2_INCLUDE_DIR NAMES codec2.h
+ PATHS
+ ${LIBCODEC2_PKG_INCLUDE_DIRS}
+ /usr/include/codec2
+ /usr/include
+ /usr/local/include/codec2
+ /usr/local/include
+ )
+
+find_library(LIBCODEC2_LIBRARIES NAMES codec2
+ PATHS
+ ${LIBCODEC2_PKG_LIBRARY_DIRS}
+ /usr/lib
+ /usr/local/lib
+ )
+
+if(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
+ set(LIBCODEC2_FOUND TRUE)
+ set(LIBCODEC2_INCLUDE_DIRS ${LIBCODEC2_INCLUDE_DIR})
+ set(LIBCODEC2_LIBRARIES ${LIBCODEC2_LIBRARIES} ${LIBCODEC2_LIBRARY})
+ file(READ "${LIBCODEC2_INCLUDE_DIR}/codec2.h" _CODEC2_H_CONTENTS)
+ string(REGEX MATCHALL "CODEC2_MODE[_a-z0-9A-Z]+" CODEC2_MODES
"${_CODEC2_H_CONTENTS}")
+ foreach(mode ${CODEC2_MODES})
+ set(LIBCODEC2_HAS_${mode} True)
+ endforeach()
+ if(EXISTS "${LIBCODEC2_INCLUDE_DIR}/freedv_api.h")
+ set(LIBCODEC2_HAS_FREEDV_API True)
+ file(READ "${LIBCODEC2_INCLUDE_DIR}/freedv_api.h" _FREEDV_API_H_CONTENTS)
+ string(REGEX MATCHALL "FREEDV_MODE[_a-z0-9A-Z]+" FREEDV_MODES
"${_FREEDV_API_H_CONTENTS}")
+ foreach(mode ${FREEDV_MODES})
+ set(LIBCODEC2_HAS_${mode} True)
+ endforeach()
+ else()
+ set(LIBCODEC2_HAS_FREEDV_API false)
+ endif()
+endif(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBCODEC2 DEFAULT_MSG LIBCODEC2_LIBRARIES
LIBCODEC2_INCLUDE_DIRS)
+mark_as_advanced(LIBCODEC2_INCLUDE_DIR LIBCODEC2_LIBRARIES)
diff --git a/gr-vocoder/CMakeLists.txt b/gr-vocoder/CMakeLists.txt
index 37c0cf7..ddf3684 100644
--- a/gr-vocoder/CMakeLists.txt
+++ b/gr-vocoder/CMakeLists.txt
@@ -89,6 +89,21 @@ CPACK_COMPONENT("vocoder_swig"
)
########################################################################
+## CODEC2 Support
+########################################################################
+find_package(Codec2)
+if(LIBCODEC2_FOUND)
+ GR_APPEND_SUBCOMPONENT("codec2")
+ #message(STATUS "libcodec2 modes: ${CODEC2_MODES}")
+ if(LIBCODEC2_HAS_CODEC2_MODE_700)
+ #message(STATUS "libcodec2 has 700bps mode")
+ endif()
+ if (LIBCODEC2_HAS_FREEDV_API)
+ #message(STATUS "libcodec2 had FreeDV api modes: ${FREEDV_MODES}")
+ endif()
+endif(LIBCODEC2_FOUND)
+
+########################################################################
# Add subdirectories
########################################################################
add_subdirectory(include/gnuradio/vocoder)
diff --git a/gr-vocoder/examples/CMakeLists.txt
b/gr-vocoder/examples/CMakeLists.txt
index 769ddf6..86cba6d 100644
--- a/gr-vocoder/examples/CMakeLists.txt
+++ b/gr-vocoder/examples/CMakeLists.txt
@@ -25,7 +25,6 @@ include(GrPython)
GR_PYTHON_INSTALL(
PROGRAMS
alaw_audio_loopback.py
- codec2_audio_loopback.py
cvsd_audio_loopback.py
g721_audio_loopback.py
g723_24_audio_loopback.py
@@ -35,3 +34,11 @@ GR_PYTHON_INSTALL(
DESTINATION ${GR_PKG_VOCODER_EXAMPLES_DIR}
COMPONENT "vocoder_examples"
)
+if(LIBCODEC2_FOUND)
+ GR_PYTHON_INSTALL(
+ PROGRAMS
+ codec2_audio_loopback.py
+ DESTINATION ${GR_PKG_VOCODER_EXAMPLES_DIR}
+ COMPONENT "vocoder_examples"
+ )
+endif(LIBCODEC2_FOUND)
diff --git a/gr-vocoder/grc/CMakeLists.txt b/gr-vocoder/grc/CMakeLists.txt
index f8cf823..35a585a 100644
--- a/gr-vocoder/grc/CMakeLists.txt
+++ b/gr-vocoder/grc/CMakeLists.txt
@@ -21,8 +21,6 @@ install(FILES
vocoder_alaw_decode_bs.xml
vocoder_alaw_encode_sb.xml
vocoder_block_tree.xml
- vocoder_codec2_decode_ps.xml
- vocoder_codec2_encode_sp.xml
vocoder_cvsd_decode_bs.xml
vocoder_cvsd_decode.xml
vocoder_cvsd_encode_sb.xml
@@ -40,3 +38,12 @@ install(FILES
DESTINATION ${GRC_BLOCKS_DIR}
COMPONENT "vocoder_python"
)
+
+if(LIBCODEC2_FOUND)
+ install(FILES
+ vocoder_codec2_decode_ps.xml
+ vocoder_codec2_encode_sp.xml
+ DESTINATION ${GRC_BLOCKS_DIR}
+ COMPONENT "vocoder_python"
+ )
+endif(LIBCODEC2_FOUND)
diff --git a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
b/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
index b6e10ef..8448dc8 100644
--- a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
+++ b/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
@@ -39,11 +39,19 @@
<name>1200 bps</name>
<key>codec2.MODE_1200</key>
</option>
+ <option>
+ <name>700 bps</name>
+ <key>codec2.MODE_700</key>
+ </option>
+ <option>
+ <name>700B bps</name>
+ <key>codec2.MODE_700B</key>
+ </option>
</param>
<sink>
<name>in</name>
<type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48 }[$mode]</vlen>
+ <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28
}[$mode]</vlen>
</sink>
<source>
<name>out</name>
diff --git a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
b/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
index 6af54fa..f11ad44 100644
--- a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
+++ b/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
@@ -39,6 +39,14 @@
<name>1200 bps</name>
<key>codec2.MODE_1200</key>
</option>
+ <option>
+ <name>700 bps</name>
+ <key>codec2.MODE_700</key>
+ </option>
+ <option>
+ <name>700B bps</name>
+ <key>codec2.MODE_700B</key>
+ </option>
</param>
<sink>
<name>in</name>
@@ -47,7 +55,7 @@
<source>
<name>out</name>
<type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48 }[$mode]</vlen>
+ <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28
}[$mode]</vlen>
</source>
</block>
diff --git a/gr-vocoder/include/gnuradio/vocoder/CMakeLists.txt
b/gr-vocoder/include/gnuradio/vocoder/CMakeLists.txt
index 60f75e7..6d9bbe8 100644
--- a/gr-vocoder/include/gnuradio/vocoder/CMakeLists.txt
+++ b/gr-vocoder/include/gnuradio/vocoder/CMakeLists.txt
@@ -39,3 +39,13 @@ install(FILES
DESTINATION ${GR_INCLUDE_DIR}/gnuradio/vocoder
COMPONENT "vocoder_devel"
)
+
+if(LIBCODEC2_FOUND)
+install(FILES
+ codec2.h
+ codec2_decode_ps.h
+ codec2_encode_sp.h
+ DESTINATION ${GR_INCLUDE_DIR}/gnuradio/vocoder
+ COMPONENT "vocoder_devel"
+)
+endif(LIBCODEC2_FOUND)
diff --git a/gr-vocoder/include/gnuradio/vocoder/codec2.h
b/gr-vocoder/include/gnuradio/vocoder/codec2.h
index a3c2225..afa53d5 100644
--- a/gr-vocoder/include/gnuradio/vocoder/codec2.h
+++ b/gr-vocoder/include/gnuradio/vocoder/codec2.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2014 Free Software Foundation, Inc.
+ * Copyright 2014,2016 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -26,7 +26,7 @@
#include <gnuradio/vocoder/api.h>
extern "C" {
-#include "../lib/codec2/codec2.h"
+#include <codec2/codec2.h>
}
namespace gr {
@@ -42,6 +42,12 @@ namespace gr {
MODE_1400 = CODEC2_MODE_1400,
MODE_1300 = CODEC2_MODE_1300,
MODE_1200 = CODEC2_MODE_1200,
+#ifdef CODEC2_MODE_700
+ MODE_700 = CODEC2_MODE_700,
+#endif
+#ifdef CODEC2_MODE_700B
+ MODE_700B = CODEC2_MODE_700B,
+#endif
};
private:
diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt
index a347cbf..67939c5 100644
--- a/gr-vocoder/lib/CMakeLists.txt
+++ b/gr-vocoder/lib/CMakeLists.txt
@@ -82,71 +82,6 @@ endif (NOT DEFINED GR_USE_SYSTEM_LIBGSM)
mark_as_advanced(LIBGSM_INCLUDE_DIR LIBGSM_LIBRARIES)
########################################################################
-# Check for system libcodec2 via CMake variable GR_USE_SYSTEM_LIBCODEC2
-# if undefined, try to find system libgsm library,
-# but if there is no system library use a local copy.
-# if defined True, use system libcodec2 if found, otherwise do not
-# use a local copy.
-# if defined False, use the local copy
-########################################################################
-if (NOT DEFINED GR_USE_SYSTEM_LIBCODEC2)
- find_path(LIBCODEC2_INCLUDE_DIR NAMES codec2.h
- PATHS
- ${LIBCODEC2_PKG_INCLUDE_DIRS}
- /usr/include/codec2
- /usr/include
- )
-
- find_library(LIBCODEC2_LIBRARIES NAMES codec2
- PATHS
- ${LIBCODEC2_PKG_LIBRARY_DIRS}
- /usr/lib
- )
-
- if(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
- set(GR_USE_SYSTEM_LIBCODEC2 TRUE CACHE INTERNAL "System libcodec2 found")
- message(STATUS "Found libcodec2: ${LIBCODEC2_INCLUDE_DIR},
${LIBCODEC2_LIBRARIES}")
- set(GR_USE_LOCAL_LIBCODEC2 FALSE)
- set(GR_USE_SYSTEM_LIBCODEC2 TRUE)
- else(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
- set(GR_USE_SYSTEM_LIBCODEC2 FALSE CACHE INTERNAL "System libcodec2 found")
- message(STATUS "System libcodec2 not found.")
- set(GR_USE_LOCAL_LIBCODEC2 TRUE)
- endif(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
-else (NOT DEFINED GR_USE_SYSTEM_LIBCODEC2)
- if (GR_USE_SYSTEM_LIBCODEC2)
- find_path(LIBCODEC2_INCLUDE_DIR NAMES codec2.h
- PATHS
- ${LIBCODEC2_PKG_INCLUDE_DIRS}
- /usr/include/codec2
- /usr/include
- )
-
- find_library(LIBCODEC2_LIBRARIES NAMES codec2
- PATHS
- ${LIBGSM_PKG_LIBRARY_DIRS}
- /usr/lib
- )
-
- if(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
- set(GR_USE_SYSTEM_LIBCODEC2 TRUE CACHE INTERNAL "System libcodec2 found")
- message(STATUS "Found libgsm: ${LIBCODEC2_INCLUDE_DIR},
${LIBCODEC2_LIBRARIES}")
- set(GR_USE_LOCAL_LIBCODEC2 FALSE)
- else(LIBGCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
- set(GR_USE_SYSTEM_LIBCODEC2 FALSE CACHE INTERNAL "System libcodec2 found")
- message(STATUS "System libcodec2 not found.")
- set(GR_USE_LOCAL_LIBCODEC2 FALSE)
- endif(LIBCODEC2_INCLUDE_DIR AND LIBCODEC2_LIBRARIES)
- else (GR_USE_SYSTEM_LIBCODEC2)
- set(GR_USE_LOCAL_LIBCODEC2 TRUE)
- message(STATUS "Using gnuradio local copy of libcodec2.")
- endif (GR_USE_SYSTEM_LIBCODEC2)
-endif (NOT DEFINED GR_USE_SYSTEM_LIBCODEC2)
-
-mark_as_advanced(LIBCODEC2_INCLUDE_DIR LIBCODEC2_LIBRARIES)
-
-
-########################################################################
# Setup the include and linker paths
########################################################################
include_directories(
@@ -172,9 +107,6 @@ link_directories(${LOG4CPP_LIBRARY_DIRS})
list(APPEND gr_vocoder_sources
alaw_decode_bs_impl.cc
alaw_encode_sb_impl.cc
- codec2.cc
- codec2_decode_ps_impl.cc
- codec2_encode_sp_impl.cc
cvsd_decode_bs_impl.cc
cvsd_encode_sb_impl.cc
g721_decode_bs_impl.cc
@@ -188,6 +120,13 @@ list(APPEND gr_vocoder_sources
ulaw_decode_bs_impl.cc
ulaw_encode_sb_impl.cc
)
+if(LIBCODEC2_FOUND)
+ list(APPEND gr_vocoder_sources
+ codec2.cc
+ codec2_decode_ps_impl.cc
+ codec2_encode_sp_impl.cc
+ )
+endif(LIBCODEC2_FOUND)
#Add Windows DLL resource file if using MSVC
if(MSVC)
@@ -208,10 +147,6 @@ endif(MSVC)
########################################################################
GR_INCLUDE_SUBDIRECTORY(g7xx)
-if(GR_USE_LOCAL_LIBCODEC2)
- GR_INCLUDE_SUBDIRECTORY(codec2)
-endif(GR_USE_LOCAL_LIBCODEC2)
-
if(GR_USE_LOCAL_LIBGSM)
GR_INCLUDE_SUBDIRECTORY(gsm)
endif(GR_USE_LOCAL_LIBGSM)
@@ -222,9 +157,9 @@ list(APPEND vocoder_libs
${LOG4CPP_LIBRARIES}
)
-if(GR_USE_SYSTEM_LIBCODEC2)
+if(LIBCODEC2_LIBRARIES)
list(APPEND vocoder_libs ${LIBCODEC2_LIBRARIES})
-endif(GR_USE_SYSTEM_LIBCODEC2)
+endif(LIBCODEC2_LIBRARIES)
if(GR_USE_SYSTEM_LIBGSM)
list(APPEND vocoder_libs ${LIBGSM_LIBRARIES})
diff --git a/gr-vocoder/python/vocoder/CMakeLists.txt
b/gr-vocoder/python/vocoder/CMakeLists.txt
index ca8323d..1626df1 100644
--- a/gr-vocoder/python/vocoder/CMakeLists.txt
+++ b/gr-vocoder/python/vocoder/CMakeLists.txt
@@ -42,7 +42,20 @@ if(ENABLE_TESTING)
)
include(GrTest)
- file(GLOB py_qa_test_files "qa_*.py")
+ list(APPEND py_qa_test_files
+ qa_alaw_vocoder.py
+ qa_cvsd_vocoder.py
+ qa_g721_vocoder.py
+ qa_g723_24_vocoder.py
+ qa_g723_40_vocoder.py
+ qa_gsm_full_rate.py
+ qa_ulaw_vocoder.py
+ )
+ if(LIBCODEC2_FOUND)
+ list(APPEND py_qa_test_files
+ qa_codec2_vocoder.py
+ )
+ endif()
foreach(py_qa_test_file ${py_qa_test_files})
get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE)
GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
${py_qa_test_file})
diff --git a/gr-vocoder/swig/CMakeLists.txt b/gr-vocoder/swig/CMakeLists.txt
index 2662396..6ba2951 100644
--- a/gr-vocoder/swig/CMakeLists.txt
+++ b/gr-vocoder/swig/CMakeLists.txt
@@ -33,6 +33,10 @@ if(ENABLE_GR_CTRLPORT)
list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT")
endif(ENABLE_GR_CTRLPORT)
+if(LIBCODEC2_FOUND)
+ list(APPEND GR_SWIG_FLAGS "-DLIBCODEC2_FOUND")
+endif(LIBCODEC2_FOUND)
+
set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/vocoder_swig_doc.i)
set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/vocoder)
set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc)
diff --git a/gr-vocoder/swig/vocoder_swig.i b/gr-vocoder/swig/vocoder_swig.i
index dac35c9..22aad98 100644
--- a/gr-vocoder/swig/vocoder_swig.i
+++ b/gr-vocoder/swig/vocoder_swig.i
@@ -30,9 +30,6 @@
%{
#include "gnuradio/vocoder/alaw_decode_bs.h"
#include "gnuradio/vocoder/alaw_encode_sb.h"
-#include "gnuradio/vocoder/codec2.h"
-#include "gnuradio/vocoder/codec2_decode_ps.h"
-#include "gnuradio/vocoder/codec2_encode_sp.h"
#include "gnuradio/vocoder/cvsd_decode_bs.h"
#include "gnuradio/vocoder/cvsd_encode_sb.h"
#include "gnuradio/vocoder/g721_decode_bs.h"
@@ -49,9 +46,6 @@
%include "gnuradio/vocoder/alaw_decode_bs.h"
%include "gnuradio/vocoder/alaw_encode_sb.h"
-%include "gnuradio/vocoder/codec2.h"
-%include "gnuradio/vocoder/codec2_decode_ps.h"
-%include "gnuradio/vocoder/codec2_encode_sp.h"
%include "gnuradio/vocoder/cvsd_decode_bs.h"
%include "gnuradio/vocoder/cvsd_encode_sb.h"
%include "gnuradio/vocoder/g721_decode_bs.h"
@@ -67,8 +61,6 @@
GR_SWIG_BLOCK_MAGIC2(vocoder, alaw_decode_bs);
GR_SWIG_BLOCK_MAGIC2(vocoder, alaw_encode_sb);
-GR_SWIG_BLOCK_MAGIC2(vocoder, codec2_decode_ps);
-GR_SWIG_BLOCK_MAGIC2(vocoder, codec2_encode_sp);
GR_SWIG_BLOCK_MAGIC2(vocoder, cvsd_decode_bs);
GR_SWIG_BLOCK_MAGIC2(vocoder, cvsd_encode_sb);
GR_SWIG_BLOCK_MAGIC2(vocoder, g721_decode_bs);
@@ -81,3 +73,20 @@ GR_SWIG_BLOCK_MAGIC2(vocoder, gsm_fr_decode_ps);
GR_SWIG_BLOCK_MAGIC2(vocoder, gsm_fr_encode_sp);
GR_SWIG_BLOCK_MAGIC2(vocoder, ulaw_decode_bs);
GR_SWIG_BLOCK_MAGIC2(vocoder, ulaw_encode_sb);
+
+#ifdef LIBCODEC2_FOUND
+%{
+#include <codec2/codec2.h>
+#include "gnuradio/vocoder/codec2.h"
+#include "gnuradio/vocoder/codec2_decode_ps.h"
+#include "gnuradio/vocoder/codec2_encode_sp.h"
+%}
+
+%include <codec2/codec2.h>
+%include "gnuradio/vocoder/codec2.h"
+%include "gnuradio/vocoder/codec2_decode_ps.h"
+%include "gnuradio/vocoder/codec2_encode_sp.h"
+
+GR_SWIG_BLOCK_MAGIC2(vocoder, codec2_decode_ps);
+GR_SWIG_BLOCK_MAGIC2(vocoder, codec2_encode_sp);
+#endif
- [Commit-gnuradio] [gnuradio] branch next updated (77f902e -> 675afc0), git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 09/10: Merge remote-tracking branch 'github/require-logging' into next, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 07/10: vocoder: fix python QA after unembed, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 08/10: Merge remote-tracking branch 'github/vocoder-unembed' into next, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 03/10: gr-vocoder: gsm subcomponent using external gsm library, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 01/10: gr-vocoder: codec2 subcomponent using external codec2 library,
git <=
- [Commit-gnuradio] [gnuradio] 05/10: cmake: remove ENABLE_GR_LOG and require log4cpp, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 10/10: Merge remote-tracking branch 'github/nuke-cpack' into next, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 04/10: gr-vocoder: remove embedded gsm, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 06/10: cmake: nuke cpack from existence, git, 2016/08/03
- [Commit-gnuradio] [gnuradio] 02/10: gr-vocoder: remove embedded codec2, git, 2016/08/03