summaryrefslogtreecommitdiff
path: root/amrnb
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2015-08-05 16:30:55 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2015-08-05 17:27:28 +0900
commit57eb34e9d791a94afaa8307fdbd538a66e01080e (patch)
treed3532a4ee6e938e9a153e1c9e1ed1b571e7e48b2 /amrnb
parent72a792824e352ad4084c3729154a444f57b7b8bb (diff)
downloadopencore-amr-accepted/tizen_mobile.tar.gz
opencore-amr-accepted/tizen_mobile.tar.bz2
opencore-amr-accepted/tizen_mobile.zip
Change-Id: Ide07602a8064b14e88d8842c777d5f68db71d644 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Diffstat (limited to 'amrnb')
-rw-r--r--amrnb/Makefile.alt119
-rw-r--r--amrnb/Makefile.am38
-rw-r--r--amrnb/opencore-amrnb.sym6
-rw-r--r--amrnb/wrapper.cpp4
4 files changed, 41 insertions, 126 deletions
diff --git a/amrnb/Makefile.alt b/amrnb/Makefile.alt
deleted file mode 100644
index 0dbc567..0000000
--- a/amrnb/Makefile.alt
+++ /dev/null
@@ -1,119 +0,0 @@
-# Just set OC_BASE to the opencore root, or set AMR_BASE directly to
-# a detached gsm_amr directory
-OC_BASE = ../opencore
-AMR_BASE = $(OC_BASE)/codecs_v2/audio/gsm_amr
-LIBDIR=lib
-BINDIR=bin
-
-# To compile as C instead of C++, define BUILD_AS_C
-ifneq (, $(BUILD_AS_C))
- CXX = $(CC)
- CXXFLAGS += -x c -std=c99
-endif
-
-ifeq (, $(PREFIX))
- PREFIX = /usr/local
-endif
-
-DEC_DIR = $(AMR_BASE)/amr_nb/dec
-ENC_DIR = $(AMR_BASE)/amr_nb/enc
-COMMON_DIR = $(AMR_BASE)/amr_nb/common
-DEC_SRC_DIR = $(DEC_DIR)/src
-ENC_SRC_DIR = $(ENC_DIR)/src
-COMMON_SRC_DIR = $(COMMON_DIR)/src
-OSCL = ../oscl
-
-CPPFLAGS = -I$(OSCL) -I$(DEC_SRC_DIR) -I$(COMMON_DIR)/include -I$(DEC_DIR)/include -I$(AMR_BASE)/common/dec/include -I$(ENC_SRC_DIR)
-
-# Find all the source files
-DEC_SRC := $(shell cd $(DEC_SRC_DIR) && echo *.cpp)
-ENC_SRC := $(shell cd $(ENC_SRC_DIR) && echo *.cpp)
-COMMON_SRC := $(shell cd $(COMMON_SRC_DIR) && echo *.cpp)
-
-# Exclude these files
-DEC_SRC := $(DEC_SRC:decoder_gsm_amr.cpp=)
-DEC_SRC := $(DEC_SRC:pvgsmamrdecoder.cpp=)
-ENC_SRC := $(ENC_SRC:gsmamr_encoder_wrapper.cpp=)
-COMMON_SRC := $(COMMON_SRC:bits2prm.cpp=)
-COMMON_SRC := $(COMMON_SRC:copy.cpp=)
-COMMON_SRC := $(COMMON_SRC:div_32.cpp=)
-COMMON_SRC := $(COMMON_SRC:l_abs.cpp=)
-COMMON_SRC := $(COMMON_SRC:vad1.cpp=)
-COMMON_SRC := $(COMMON_SRC:r_fft.cpp=)
-COMMON_SRC := $(COMMON_SRC:vad2.cpp=)
-
-DEC_OBJS := $(DEC_SRC:.cpp=.o)
-DEC_OBJS := $(patsubst %,$(DEC_SRC_DIR)/%, $(DEC_OBJS))
-ENC_OBJS := $(ENC_SRC:.cpp=.o)
-ENC_OBJS := $(patsubst %,$(ENC_SRC_DIR)/%, $(ENC_OBJS))
-COMMON_OBJS := $(COMMON_SRC:.cpp=.o)
-COMMON_OBJS := $(patsubst %,$(COMMON_SRC_DIR)/%, $(COMMON_OBJS))
-
-OBJS = wrapper.o $(DEC_OBJS) $(ENC_OBJS) $(COMMON_OBJS)
-SOBJS = $(OBJS:%.o=%.lo)
-
-#Versioning
-MAJOR = 0
-MINOR = 1
-REVISION = 1
-VERSION = $(MAJOR).$(MINOR).$(REVISION)
-
-ifeq ($(shell uname), Darwin)
- SHLIB_EXT = dylib
- SHLIB_FLAGS = -dynamiclib
-else
- ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
- SHLIB_EXT = $(MAJOR).$(MINOR).$(REVISION).dll
- SHLIB_FLAGS = -shared
- SONAME = libopencore-amrnb-$(MAJOR).dll
- else
- SHLIB_EXT = so.$(MAJOR).$(MINOR).$(REVISION)
- SHLIB_FLAGS = -shared
- SONAME = libopencore-amrnb.so.$(MAJOR)
- endif
-endif
-SHLIB = libopencore-amrnb.$(SHLIB_EXT)
-
-all: libopencore-amrnb.a $(SHLIB)
-
-$(SHLIB): $(SOBJS)
-ifeq ($(shell uname), Darwin)
- $(CXX) $(SHLIB_FLAGS) -o $@ $+ $(LDFLAGS)
-else
- $(CXX) $(SHLIB_FLAGS) -o $@ $+ -Wl,-soname,$(SONAME) $(LDFLAGS)
-endif
-
-%.lo: %.c
- $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -DPIC -c $< -o $@
-
-%.lo: %.cpp
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@
-
-libopencore-amrnb.a: $(OBJS)
- ar rcs $@ $+
-
-install: libopencore-amrnb.a $(SHLIB)
- install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)
- install -m 644 libopencore-amrnb.a $(DESTDIR)$(PREFIX)/$(LIBDIR)
-ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
- install -d $(DESTDIR)$(PREFIX)/$(BINDIR)
- install $(SHLIB) $(DESTDIR)$(PREFIX)/$(BINDIR)
-else
- install $(SHLIB) $(DESTDIR)$(PREFIX)/$(LIBDIR)
-endif
-ifneq ($(shell uname), Darwin)
-ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
- ln -sf $(SHLIB) $(DESTDIR)$(PREFIX)/$(BINDIR)/$(SONAME)
- ln -sf $(DESTDIR)$(PREFIX)/$(BINDIR)/$(SONAME) $(DESTDIR)$(PREFIX)/$(BINDIR)/libopencore-amrnb.dll
-else
- ln -sf $(SHLIB) $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(SONAME)
- ln -sf $(SONAME) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libopencore-amrnb.so
-endif
-endif
- install -d $(DESTDIR)$(PREFIX)/include/opencore-amrnb
- install -m 644 interf_dec.h $(DESTDIR)$(PREFIX)/include/opencore-amrnb
- install -m 644 interf_enc.h $(DESTDIR)$(PREFIX)/include/opencore-amrnb
-
-clean:
- rm -f $(SHLIB) libopencore-amrnb.a *.o *.lo $(OBJS) $(SOBJS)
-
diff --git a/amrnb/Makefile.am b/amrnb/Makefile.am
index cc4cf3c..1b42bd5 100644
--- a/amrnb/Makefile.am
+++ b/amrnb/Makefile.am
@@ -14,21 +14,31 @@ OSCL = $(top_srcdir)/oscl
AM_CFLAGS = -I$(OSCL) -I$(DEC_SRC_DIR) -I$(COMMON_DIR)/include \
-I$(DEC_DIR)/include -I$(AMR_BASE)/common/dec/include -I$(ENC_SRC_DIR)
+if GCC_ARMV5
+ AM_CFLAGS += -DPV_CPU_ARCH_VERSION=5 -DPV_COMPILER=1
+endif
+
if COMPILE_AS_C
AM_CFLAGS += -x c -std=c99
+ libopencore_amrnb_la_LINK = $(LINK) $(libopencore_amrnb_la_LDFLAGS)
+ # Mention a dummy pure C file to trigger generation of the $(LINK) variable
+ nodist_EXTRA_libopencore_amrnb_la_SOURCES = dummy.c
+else
+ libopencore_amrnb_la_LINK = $(CXXLINK) $(libopencore_amrnb_la_LDFLAGS)
endif
AM_CXXFLAGS = $(AM_CFLAGS)
amrnbincludedir = $(includedir)/opencore-amrnb
-amrnbinclude_HEADERS = interf_dec.h interf_enc.h
+amrnbinclude_HEADERS =
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = opencore-amrnb.pc
lib_LTLIBRARIES = libopencore-amrnb.la
-libopencore_amrnb_la_LDFLAGS = -version-info @OPENCORE_AMRNB_VERSION@
+libopencore_amrnb_la_LDFLAGS = -version-info @OPENCORE_AMRNB_VERSION@ -no-undefined -export-symbols $(top_srcdir)/amrnb/opencore-amrnb.sym
+EXTRA_DIST = $(top_srcdir)/amrnb/opencore-amrnb.sym
# Our sources to include. There are certain sources we exclude and they are
# $(DEC_SRC_DIR)/decoder_gsm_amr.cpp
@@ -42,7 +52,10 @@ libopencore_amrnb_la_LDFLAGS = -version-info @OPENCORE_AMRNB_VERSION@
# $(COMMON_SRC_DIR)/vad1.cpp
# $(COMMON_SRC_DIR)/vad2.cpp
libopencore_amrnb_la_SOURCES = \
- wrapper.cpp \
+ wrapper.cpp
+
+if AMRNB_DECODER
+ libopencore_amrnb_la_SOURCES += \
$(DEC_SRC_DIR)/agc.cpp \
$(DEC_SRC_DIR)/amrdecode.cpp \
$(DEC_SRC_DIR)/a_refl.cpp \
@@ -77,7 +90,14 @@ libopencore_amrnb_la_SOURCES = \
$(DEC_SRC_DIR)/pstfilt.cpp \
$(DEC_SRC_DIR)/qgain475_tab.cpp \
$(DEC_SRC_DIR)/sp_dec.cpp \
- $(DEC_SRC_DIR)/wmf_to_ets.cpp \
+ $(DEC_SRC_DIR)/wmf_to_ets.cpp
+ amrnbinclude_HEADERS += interf_dec.h
+else
+ AM_CFLAGS += -DDISABLE_AMRNB_DECODER
+endif
+
+if AMRNB_ENCODER
+ libopencore_amrnb_la_SOURCES += \
$(ENC_SRC_DIR)/amrencode.cpp \
$(ENC_SRC_DIR)/autocorr.cpp \
$(ENC_SRC_DIR)/c1035pf.cpp \
@@ -138,12 +158,17 @@ libopencore_amrnb_la_SOURCES = \
$(ENC_SRC_DIR)/spreproc.cpp \
$(ENC_SRC_DIR)/spstproc.cpp \
$(ENC_SRC_DIR)/ton_stab.cpp \
- $(ENC_SRC_DIR)/vad1.cpp \
+ $(ENC_SRC_DIR)/vad1.cpp
+ amrnbinclude_HEADERS += interf_enc.h
+else
+ AM_CFLAGS += -DDISABLE_AMRNB_ENCODER
+endif
+
+libopencore_amrnb_la_SOURCES += \
$(COMMON_SRC_DIR)/add.cpp \
$(COMMON_SRC_DIR)/az_lsp.cpp \
$(COMMON_SRC_DIR)/bitno_tab.cpp \
$(COMMON_SRC_DIR)/bitreorder_tab.cpp \
- $(COMMON_SRC_DIR)/bytesused.cpp \
$(COMMON_SRC_DIR)/c2_9pf_tab.cpp \
$(COMMON_SRC_DIR)/div_s.cpp \
$(COMMON_SRC_DIR)/extract_h.cpp \
@@ -197,4 +222,3 @@ libopencore_amrnb_la_SOURCES = \
$(COMMON_SRC_DIR)/weight_a.cpp \
$(COMMON_SRC_DIR)/window_tab.cpp
-EXTRA_DIST = Makefile.alt
diff --git a/amrnb/opencore-amrnb.sym b/amrnb/opencore-amrnb.sym
new file mode 100644
index 0000000..25bc1c7
--- /dev/null
+++ b/amrnb/opencore-amrnb.sym
@@ -0,0 +1,6 @@
+Decoder_Interface_init
+Decoder_Interface_exit
+Decoder_Interface_Decode
+Encoder_Interface_init
+Encoder_Interface_exit
+Encoder_Interface_Encode
diff --git a/amrnb/wrapper.cpp b/amrnb/wrapper.cpp
index 9af8a0e..633f251 100644
--- a/amrnb/wrapper.cpp
+++ b/amrnb/wrapper.cpp
@@ -24,6 +24,7 @@
#include "interf_enc.h"
#include <stdlib.h>
+#ifndef DISABLE_AMRNB_DECODER
void* Decoder_Interface_init(void) {
void* ptr = NULL;
GSMInitDecode(&ptr, (int8*)"Decoder");
@@ -39,7 +40,9 @@ void Decoder_Interface_Decode(void* state, const unsigned char* in, short* out,
in++;
AMRDecode(state, (enum Frame_Type_3GPP) type, (UWord8*) in, out, MIME_IETF);
}
+#endif
+#ifndef DISABLE_AMRNB_ENCODER
struct encoder_state {
void* encCtx;
void* pidSyncCtx;
@@ -64,4 +67,5 @@ int Encoder_Interface_Encode(void* s, enum Mode mode, const short* speech, unsig
out[0] |= 0x04;
return ret;
}
+#endif