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_WEBRTC_AECM=1
|
||||
BUILD_OPUS=1
|
||||
BUILD_WEBRTC_ISAC=1
|
||||
BUILD_FOR_X86=1
|
||||
USE_JAVAH=1
|
||||
BUILD_TLS=1
|
||||
|
@ -214,6 +215,7 @@ else
|
|||
prepare-silk:
|
||||
endif
|
||||
|
||||
|
||||
#Zrtp
|
||||
$(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h
|
||||
@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) \
|
||||
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_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) \
|
||||
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
|
||||
endif
|
||||
|
||||
WEBRTC_BUILD_NEON_LIBS=false
|
||||
|
||||
# AECM
|
||||
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/common_audio/signal_processing/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
|
||||
|
||||
# iSAC
|
||||
ifneq ($(BUILD_WEBRTC_ISAC),0)
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
|
|
|
@ -95,6 +95,11 @@ APP_MODULES += libwebrtc_system_wrappers libwebrtc_spl libwebrtc_apm_utility lib
|
|||
APP_MODULES += libwebrtc_spl_neon libwebrtc_aecm_neon
|
||||
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 ($(RING),yes)
|
||||
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_TAGS := optional
|
||||
LOCAL_SRC_FILES := \
|
||||
auto_corr_to_refl_coef.c \
|
||||
auto_correlation.c \
|
||||
complex_fft.c \
|
||||
copy_set_operations.c \
|
||||
cross_correlation.c \
|
||||
division_operations.c \
|
||||
dot_product_with_scale.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 \
|
||||
randomization_functions.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_sqrt.c \
|
||||
spl_version.c \
|
||||
splitting_filter.c \
|
||||
sqrt_of_one_minus_x_squared.c \
|
||||
vector_scaling_operations.c
|
||||
|
||||
# Flags passed to both C and C++ files.
|
||||
|
@ -36,6 +58,13 @@ LOCAL_C_INCLUDES := \
|
|||
$(LOCAL_PATH)/include \
|
||||
$(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)
|
||||
LOCAL_SRC_FILES += \
|
||||
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