Merge branch 'isac'
This commit is contained in:
commit
a762b2c871
6 changed files with 233 additions and 9 deletions
4
Makefile
4
Makefile
|
@ -43,6 +43,7 @@ BUILD_G729=0
|
||||||
BUILD_TUNNEL=0
|
BUILD_TUNNEL=0
|
||||||
BUILD_WEBRTC_AECM=1
|
BUILD_WEBRTC_AECM=1
|
||||||
BUILD_OPUS=1
|
BUILD_OPUS=1
|
||||||
|
BUILD_WEBRTC_ISAC=1
|
||||||
BUILD_FOR_X86=1
|
BUILD_FOR_X86=1
|
||||||
USE_JAVAH=1
|
USE_JAVAH=1
|
||||||
BUILD_TLS=1
|
BUILD_TLS=1
|
||||||
|
@ -214,6 +215,7 @@ else
|
||||||
prepare-silk:
|
prepare-silk:
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
#Zrtp
|
#Zrtp
|
||||||
$(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h
|
$(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h
|
||||||
@cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \
|
@cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \
|
||||||
|
@ -295,7 +297,7 @@ prepare-sources: build-ffmpeg build-x264 prepare-ilbc build-vpx prepare-silk pre
|
||||||
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
|
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
|
||||||
BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \
|
BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \
|
||||||
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \
|
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \
|
||||||
BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM)
|
BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC)
|
||||||
|
|
||||||
LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \
|
LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \
|
||||||
LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \
|
LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \
|
||||||
|
|
|
@ -142,14 +142,43 @@ ifneq ($(BUILD_OPUS), 0)
|
||||||
include $(linphone-root-dir)/submodules/externals/build/opus/Android.mk
|
include $(linphone-root-dir)/submodules/externals/build/opus/Android.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(BUILD_WEBRTC_AECM), 0)
|
WEBRTC_BUILD_NEON_LIBS=false
|
||||||
ifneq ($(TARGET_ARCH), x86)
|
|
||||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
# AECM
|
||||||
WEBRTC_BUILD_NEON_LIBS=true
|
ifneq ($(BUILD_WEBRTC_AECM),0)
|
||||||
|
|
||||||
|
ifneq ($(TARGET_ARCH), x86)
|
||||||
|
|
||||||
|
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||||
|
$(info $(TARGET_ARCH_ABI): Build NEON modules for AECM)
|
||||||
|
WEBRTC_BUILD_NEON_LIBS=true
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(info $(TARGET_ARCH_ABI): Build AECM from WebRTC)
|
||||||
|
|
||||||
|
include $(linphone-root-dir)/submodules/externals/build/webrtc/system_wrappers/Android.mk
|
||||||
|
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/utility/Android.mk
|
||||||
|
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/aecm/Android.mk
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
include $(linphone-root-dir)/submodules/externals/build/webrtc/system_wrappers/Android.mk
|
|
||||||
include $(linphone-root-dir)/submodules/externals/build/webrtc/common_audio/signal_processing/Android.mk
|
# iSAC
|
||||||
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/utility/Android.mk
|
ifneq ($(BUILD_WEBRTC_ISAC),0)
|
||||||
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/aecm/Android.mk
|
|
||||||
|
# don't build for neon in x86
|
||||||
|
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||||
|
$(info $(TARGET_ARCH_ABI): Build NEON modules for ISAC)
|
||||||
|
WEBRTC_BUILD_NEON_LIBS=true
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(info $(TARGET_ARCH_ABI): Build proprietary iSAC plugin for mediastreamer2)
|
||||||
|
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
|
||||||
|
include $(linphone-root-dir)/submodules/msisac/Android.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# common modules for ISAC and AECM
|
||||||
|
ifneq ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC),00)
|
||||||
|
$(info $(TARGET_ARCH_ABI): Build common modules for iSAC and AECM ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC)))
|
||||||
|
include $(linphone-root-dir)/submodules/externals/build/webrtc/common_audio/signal_processing/Android.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -95,6 +95,11 @@ APP_MODULES += libwebrtc_system_wrappers libwebrtc_spl libwebrtc_apm_utility lib
|
||||||
APP_MODULES += libwebrtc_spl_neon libwebrtc_aecm_neon
|
APP_MODULES += libwebrtc_spl_neon libwebrtc_aecm_neon
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BUILD_WEBRTC_ISAC), 1)
|
||||||
|
APP_MODULES += libwebrtc_spl libwebrtc_isacfix libmsisac
|
||||||
|
APP_MODULES += libwebrtc_spl_neon libwebrtc_isacfix_neon
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(BUILD_MEDIASTREAMER2_SDK), 0)
|
ifeq ($(BUILD_MEDIASTREAMER2_SDK), 0)
|
||||||
ifeq ($(RING),yes)
|
ifeq ($(RING),yes)
|
||||||
APP_MODULES += libring
|
APP_MODULES += libring
|
||||||
|
|
8
submodules/externals/build/msisac/Android.mk
vendored
Executable file
8
submodules/externals/build/msisac/Android.mk
vendored
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE := libmsisac-linphone
|
||||||
|
LOCAL_MODULE_FILENAME := libmsisac-linphone-$(TARGET_ARCH)
|
||||||
|
LOCAL_SRC_FILES := $(TARGET_ARCH)/libmsisac-linphone-$(TARGET_ARCH).so
|
||||||
|
|
||||||
|
include $(PREBUILT_SHARED_LIBRARY)
|
|
@ -18,14 +18,36 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||||
LOCAL_MODULE := libwebrtc_spl
|
LOCAL_MODULE := libwebrtc_spl
|
||||||
LOCAL_MODULE_TAGS := optional
|
LOCAL_MODULE_TAGS := optional
|
||||||
LOCAL_SRC_FILES := \
|
LOCAL_SRC_FILES := \
|
||||||
|
auto_corr_to_refl_coef.c \
|
||||||
|
auto_correlation.c \
|
||||||
complex_fft.c \
|
complex_fft.c \
|
||||||
|
copy_set_operations.c \
|
||||||
cross_correlation.c \
|
cross_correlation.c \
|
||||||
division_operations.c \
|
division_operations.c \
|
||||||
|
dot_product_with_scale.c \
|
||||||
downsample_fast.c \
|
downsample_fast.c \
|
||||||
|
energy.c \
|
||||||
|
filter_ar.c \
|
||||||
|
filter_ma_fast_q12.c \
|
||||||
|
get_hanning_window.c \
|
||||||
|
get_scaling_square.c \
|
||||||
|
ilbc_specific_functions.c \
|
||||||
|
levinson_durbin.c \
|
||||||
|
lpc_to_refl_coef.c \
|
||||||
min_max_operations.c \
|
min_max_operations.c \
|
||||||
randomization_functions.c \
|
randomization_functions.c \
|
||||||
real_fft.c \
|
real_fft.c \
|
||||||
|
refl_coef_to_lpc.c \
|
||||||
|
resample.c \
|
||||||
|
resample_48khz.c \
|
||||||
|
resample_by_2.c \
|
||||||
|
resample_by_2_internal.c \
|
||||||
|
resample_fractional.c \
|
||||||
spl_init.c \
|
spl_init.c \
|
||||||
|
spl_sqrt.c \
|
||||||
|
spl_version.c \
|
||||||
|
splitting_filter.c \
|
||||||
|
sqrt_of_one_minus_x_squared.c \
|
||||||
vector_scaling_operations.c
|
vector_scaling_operations.c
|
||||||
|
|
||||||
# Flags passed to both C and C++ files.
|
# Flags passed to both C and C++ files.
|
||||||
|
@ -36,6 +58,13 @@ LOCAL_C_INCLUDES := \
|
||||||
$(LOCAL_PATH)/include \
|
$(LOCAL_PATH)/include \
|
||||||
$(LOCAL_PATH)/../..
|
$(LOCAL_PATH)/../..
|
||||||
|
|
||||||
|
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
filter_ar_fast_q12_armv7.s
|
||||||
|
else
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
filter_ar_fast_q12.c
|
||||||
|
endif
|
||||||
ifeq ($(TARGET_ARCH),arm)
|
ifeq ($(TARGET_ARCH),arm)
|
||||||
LOCAL_SRC_FILES += \
|
LOCAL_SRC_FILES += \
|
||||||
complex_bit_reverse_arm.s \
|
complex_bit_reverse_arm.s \
|
||||||
|
|
151
submodules/externals/build/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
vendored
Normal file
151
submodules/externals/build/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
vendored
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Use of this source code is governed by a BSD-style license
|
||||||
|
# that can be found in the LICENSE file in the root of the source
|
||||||
|
# tree. An additional intellectual property rights grant can be found
|
||||||
|
# in the file PATENTS. All contributing project authors may
|
||||||
|
# be found in the AUTHORS file in the root of the source tree.
|
||||||
|
|
||||||
|
#############################
|
||||||
|
# Build the non-neon library.
|
||||||
|
|
||||||
|
MY_WEBRTC_PATH := $(call my-dir)/../../../../../../
|
||||||
|
LOCAL_PATH := $(MY_WEBRTC_PATH)/../../webrtc/modules/audio_coding/codecs/isac/fix/source
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
include $(MY_WEBRTC_PATH)/Android.mk
|
||||||
|
|
||||||
|
LOCAL_ARM_MODE := arm
|
||||||
|
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||||
|
LOCAL_MODULE := libwebrtc_isacfix
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
arith_routines.c \
|
||||||
|
arith_routines_hist.c \
|
||||||
|
arith_routines_logist.c \
|
||||||
|
bandwidth_estimator.c \
|
||||||
|
decode.c \
|
||||||
|
decode_bwe.c \
|
||||||
|
decode_plc.c \
|
||||||
|
encode.c \
|
||||||
|
entropy_coding.c \
|
||||||
|
fft.c \
|
||||||
|
filterbank_tables.c \
|
||||||
|
filterbanks.c \
|
||||||
|
filters.c \
|
||||||
|
initialize.c \
|
||||||
|
isacfix.c \
|
||||||
|
lattice.c \
|
||||||
|
lpc_masking_model.c \
|
||||||
|
lpc_tables.c \
|
||||||
|
pitch_estimator.c \
|
||||||
|
pitch_filter.c \
|
||||||
|
pitch_gain_tables.c \
|
||||||
|
pitch_lag_tables.c \
|
||||||
|
spectrum_ar_model_tables.c \
|
||||||
|
transform.c
|
||||||
|
|
||||||
|
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
|
||||||
|
# Using .S (instead of .s) extention is to include a C header file in assembly.
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
lattice_armv7.S \
|
||||||
|
pitch_filter_armv6.S
|
||||||
|
else
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
lattice_c.c \
|
||||||
|
pitch_filter_c.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Flags passed to both C and C++ files.
|
||||||
|
LOCAL_CFLAGS := \
|
||||||
|
$(MY_WEBRTC_COMMON_DEFS)
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := \
|
||||||
|
$(LOCAL_PATH)/../interface \
|
||||||
|
$(LOCAL_PATH)/../../../../../.. \
|
||||||
|
$(MY_WEBRTC_PATH)/../../webrtc/common_audio/signal_processing/include
|
||||||
|
|
||||||
|
LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
|
||||||
|
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
libcutils \
|
||||||
|
libdl \
|
||||||
|
libstlport
|
||||||
|
|
||||||
|
ifndef NDK_ROOT
|
||||||
|
include external/stlport/libstlport.mk
|
||||||
|
endif
|
||||||
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# Build the neon library.
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_ARM_MODE := arm
|
||||||
|
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||||
|
LOCAL_MODULE := libwebrtc_isacfix_neon
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
filters_neon.c \
|
||||||
|
lattice_neon.S \
|
||||||
|
lpc_masking_model_neon.S
|
||||||
|
|
||||||
|
# Flags passed to both C and C++ files.
|
||||||
|
LOCAL_CFLAGS := \
|
||||||
|
$(MY_WEBRTC_COMMON_DEFS) \
|
||||||
|
-mfpu=neon \
|
||||||
|
-mfloat-abi=softfp \
|
||||||
|
-flax-vector-conversions
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := \
|
||||||
|
$(LOCAL_PATH)/../interface \
|
||||||
|
$(LOCAL_PATH)/../../../../../.. \
|
||||||
|
$(MY_WEBRTC_PATH)/../../webrtc/common_audio/signal_processing/include
|
||||||
|
|
||||||
|
|
||||||
|
ifndef NDK_ROOT
|
||||||
|
include external/stlport/libstlport.mk
|
||||||
|
endif
|
||||||
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# isac test app
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE_TAGS := tests
|
||||||
|
LOCAL_CPP_EXTENSION := .cc
|
||||||
|
LOCAL_SRC_FILES:= ../test/kenny.c
|
||||||
|
|
||||||
|
# Flags passed to both C and C++ files.
|
||||||
|
LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := \
|
||||||
|
$(LOCAL_PATH)/../interface \
|
||||||
|
$(LOCAL_PATH)/../../../../../..
|
||||||
|
|
||||||
|
LOCAL_STATIC_LIBRARIES := \
|
||||||
|
libwebrtc_isacfix \
|
||||||
|
libwebrtc_spl \
|
||||||
|
libwebrtc_system_wrappers
|
||||||
|
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
LOCAL_STATIC_LIBRARIES += \
|
||||||
|
libwebrtc_isacfix_neon
|
||||||
|
endif
|
||||||
|
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
libutils
|
||||||
|
|
||||||
|
LOCAL_MODULE:= webrtc_isac_test
|
||||||
|
|
||||||
|
ifdef NDK_ROOT
|
||||||
|
include $(BUILD_EXECUTABLE)
|
||||||
|
else
|
||||||
|
include $(BUILD_NATIVE_TEST)
|
||||||
|
endif
|
Loading…
Reference in a new issue