Add codec2 submodules
- update linphone
This commit is contained in:
parent
3170f056d9
commit
2dd563e381
9 changed files with 244 additions and 3 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -91,3 +91,6 @@
|
|||
[submodule "submodules/externals/webrtc"]
|
||||
path = submodules/externals/webrtc
|
||||
url = git://git.linphone.org/webrtc.git
|
||||
[submodule "submodules/mscodec2"]
|
||||
path = submodules/mscodec2
|
||||
url = git://git.linphone.org/mscodec2.git
|
||||
|
|
28
Makefile
28
Makefile
|
@ -60,6 +60,7 @@ BUILD_CONTACT_HEADER=0
|
|||
BUILD_RTP_MAP=0
|
||||
BUILD_DONT_CHECK_HEADERS_IN_MESSAGE=0
|
||||
BUILD_ILBC=1
|
||||
BUILD_CODEC2=0
|
||||
LIBLINPHONE_EXTENDED_SRC_FILES=
|
||||
LIBLINPHONE_EXTENDED_C_INCLUDES=
|
||||
LIBLINPHONE_EXTENDED_CFLAGS=
|
||||
|
@ -255,6 +256,29 @@ clean-x264:
|
|||
rm -rf $(X264_BUILD_DIR)/arm && \
|
||||
rm -rf $(X264_BUILD_DIR)/x86
|
||||
|
||||
#codec2
|
||||
ifeq ($(BUILD_CODEC2),1)
|
||||
CODEC2_SRC_DIR=$(TOPDIR)/submodules/externals/codec2
|
||||
CODEC2_BUILD_DIR=$(TOPDIR)/submodules/externals/build/codec2
|
||||
PREPARE_CODEC2_DEPS=codec2-install-headers
|
||||
endif
|
||||
|
||||
fetch-codec2:
|
||||
ifneq "$(wildcard $(CODEC2_SRC_DIR) )" ""
|
||||
# source directory for codec2 already exists, update it
|
||||
svn up $(CODEC2_SRC_DIR)
|
||||
else
|
||||
#source directory for codec2 doesn't exist, create it and fetch the source from svn depot
|
||||
mkdir $(CODEC2_SRC_DIR)
|
||||
svn co https://svn.code.sf.net/p/freetel/code/codec2/branches/0.3/ $(CODEC2_SRC_DIR)
|
||||
endif
|
||||
|
||||
codec2-install-headers: fetch-codec2
|
||||
mkdir -p $(CODEC2_SRC_DIR)/include/codec2
|
||||
rsync -rvLpgoc $(CODEC2_SRC_DIR)/src/codec2.h $(CODEC2_SRC_DIR)/include/codec2/codec2.h
|
||||
|
||||
prepare-codec2: $(PREPARE_CODEC2_DEPS)
|
||||
|
||||
#openh264
|
||||
ifeq ($(BUILD_VIDEO),1)
|
||||
ifeq ($(BUILD_OPENH264), 1)
|
||||
|
@ -409,10 +433,10 @@ $(MATROSKA_SRC_DIR)/patch_applied.txt: $(MATROSKA_BUILD_DIR)/fix_libmatroska2.pa
|
|||
cd $(MATROSKA_SRC_DIR); patch -p1 < $<; touch $@
|
||||
|
||||
#Build targets
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-matroska2
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-matroska2 prepare-codec2
|
||||
|
||||
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_CODEC2=$(BUILD_CODEC2)\
|
||||
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) BUILD_OPENH264=$(BUILD_OPENH264) ENABLE_OPENH264_DECODER=$(ENABLE_OPENH264_DECODER) BUILD_MATROSKA=$(BUILD_MATROSKA) \
|
||||
BUILD_UPNP=$(BUILD_UPNP) BUILD_ZRTP=$(BUILD_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC) BUILD_ILBC=$(BUILD_ILBC) \
|
||||
BUILD_FOR_ARM=$(BUILD_FOR_ARM) BUILD_NON_FREE_CODECS=$(BUILD_NON_FREE_CODECS)
|
||||
|
|
3
README
3
README
|
@ -144,3 +144,6 @@ BUILD_MATROSKA
|
|||
|
||||
BUILD_ILBC
|
||||
values: 0 (don't build iLBC), 1 (do build iLBC), default value: 1
|
||||
|
||||
BUILD_CODEC2
|
||||
values: 0 (don't build codec2 support), 1 (do build codec2 support), default value: 0
|
||||
|
|
|
@ -86,6 +86,11 @@ ifeq ($(BUILD_ILBC), 1)
|
|||
include $(linphone-root-dir)/submodules/msilbc/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CODEC2), 1)
|
||||
include $(linphone-root-dir)/submodules/mscodec2/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/codec2/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(_BUILD_VIDEO),1)
|
||||
|
||||
ifeq ($(_BUILD_X264),1)
|
||||
|
|
|
@ -36,6 +36,10 @@ ifeq ($(BUILD_G729),)
|
|||
BUILD_G729=0
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CODEC2),)
|
||||
BUILD_CODEC2=0
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VIDEO),)
|
||||
BUILD_VIDEO=1
|
||||
endif
|
||||
|
@ -127,6 +131,10 @@ ifeq ($(BUILD_ZRTP), 1)
|
|||
APP_MODULES += libbzrtp
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CODEC2), 1)
|
||||
APP_MODULES +=libcodec2 libmscodec2
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_ILBC), 1)
|
||||
APP_MODULES +=libmsilbc
|
||||
endif
|
||||
|
|
43
submodules/externals/build/codec2/Android.mk
vendored
Normal file
43
submodules/externals/build/codec2/Android.mk
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../codec2
|
||||
|
||||
BUILD_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libcodec2
|
||||
|
||||
|
||||
LOCAL_SRC_FILES += \
|
||||
src/dump.c \
|
||||
src/lpc.c \
|
||||
src/nlp.c \
|
||||
src/postfilter.c \
|
||||
src/sine.c \
|
||||
src/codec2.c \
|
||||
src/fifo.c \
|
||||
src/fdmdv.c \
|
||||
src/kiss_fft.c \
|
||||
src/interp.c \
|
||||
src/lsp.c \
|
||||
src/phase.c \
|
||||
src/quantise.c \
|
||||
src/pack.c \
|
||||
src/codebook.c \
|
||||
src/codebookd.c \
|
||||
src/codebookvq.c \
|
||||
src/codebookjnd.c \
|
||||
src/codebookjvm.c \
|
||||
src/codebookvqanssi.c \
|
||||
src/codebookdt.c \
|
||||
src/codebookge.c \
|
||||
src/golay23.c
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/src
|
||||
|
||||
LOCAL_CFLAGS := -ffast-math -include $(BUILD_PATH)/codec2_prefixed_symbols.h
|
||||
|
||||
|
||||
LOCAL_ARM_MODE := arm
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
154
submodules/externals/build/codec2/codec2_prefixed_symbols.h
vendored
Normal file
154
submodules/externals/build/codec2/codec2_prefixed_symbols.h
vendored
Normal file
|
@ -0,0 +1,154 @@
|
|||
/* This file was created extracting exported symbol of codec2 library
|
||||
* The purpose is to avoid name collision with other libraries
|
||||
* This was done by the following command
|
||||
* nm libcodec2.so|grep " T "|sed 's/^.*\ T\ \(.*\)/#define\ \1 codec2_\1/'
|
||||
* */
|
||||
#define autocorrelate codec2_autocorrelate
|
||||
#define de_emp codec2_de_emp
|
||||
#define find_aks codec2_find_aks
|
||||
#define hanning_window codec2_hanning_window
|
||||
#define inverse_filter codec2_inverse_filter
|
||||
#define levinson_durbin codec2_levinson_durbin
|
||||
#define pre_emp codec2_pre_emp
|
||||
#define synthesis_filter codec2_synthesis_filter
|
||||
#define weight codec2_weight
|
||||
#define nlp codec2_nlp
|
||||
#define nlp_create codec2_nlp_create
|
||||
#define nlp_destroy codec2_nlp_destroy
|
||||
#define post_process_mbe codec2_post_process_mbe
|
||||
#define post_process_sub_multiples codec2_post_process_sub_multiples
|
||||
#define test_candidate_mbe codec2_test_candidate_mbe
|
||||
#define postfilter codec2_postfilter
|
||||
#define codec2_rand codec2_codec2_rand
|
||||
#define dft_speech codec2_dft_speech
|
||||
#define estimate_amplitudes codec2_estimate_amplitudes
|
||||
#define est_voicing_mbe codec2_est_voicing_mbe
|
||||
#define hpf codec2_hpf
|
||||
#define hs_pitch_refinement codec2_hs_pitch_refinement
|
||||
#define make_analysis_window codec2_make_analysis_window
|
||||
#define make_synthesis_window codec2_make_synthesis_window
|
||||
#define synthesise codec2_synthesise
|
||||
#define two_stage_pitch_refinement codec2_two_stage_pitch_refinement
|
||||
#define analyse_one_frame codec2_analyse_one_frame
|
||||
#define codec2_bits_per_frame codec2_codec2_bits_per_frame
|
||||
#define codec2_create codec2_codec2_create
|
||||
#define codec2_decode codec2_codec2_decode
|
||||
#define codec2_decode_1200 codec2_codec2_decode_1200
|
||||
#define codec2_decode_1300 codec2_codec2_decode_1300
|
||||
#define codec2_decode_1400 codec2_codec2_decode_1400
|
||||
#define codec2_decode_1600 codec2_codec2_decode_1600
|
||||
#define codec2_decode_2400 codec2_codec2_decode_2400
|
||||
#define codec2_decode_3200 codec2_codec2_decode_3200
|
||||
#define codec2_decode_ber codec2_codec2_decode_ber
|
||||
#define codec2_destroy codec2_codec2_destroy
|
||||
#define codec2_encode codec2_codec2_encode
|
||||
#define codec2_encode_1200 codec2_codec2_encode_1200
|
||||
#define codec2_encode_1300 codec2_codec2_encode_1300
|
||||
#define codec2_encode_1400 codec2_codec2_encode_1400
|
||||
#define codec2_encode_1600 codec2_codec2_encode_1600
|
||||
#define codec2_encode_2400 codec2_codec2_encode_2400
|
||||
#define codec2_encode_3200 codec2_codec2_encode_3200
|
||||
#define codec2_get_spare_bit_index codec2_codec2_get_spare_bit_index
|
||||
#define codec2_rebuild_spare_bit codec2_codec2_rebuild_spare_bit
|
||||
#define codec2_samples_per_frame codec2_codec2_samples_per_frame
|
||||
#define codec2_set_lpc_post_filter codec2_codec2_set_lpc_post_filter
|
||||
#define codec2_set_natural_or_gray codec2_codec2_set_natural_or_gray
|
||||
#define synthesise_one_frame codec2_synthesise_one_frame
|
||||
#define fifo_create codec2_fifo_create
|
||||
#define fifo_destroy codec2_fifo_destroy
|
||||
#define fifo_read codec2_fifo_read
|
||||
#define fifo_used codec2_fifo_used
|
||||
#define fifo_write codec2_fifo_write
|
||||
#define bits_to_dqpsk_symbols codec2_bits_to_dqpsk_symbols
|
||||
#define calc_snr codec2_calc_snr
|
||||
#define fdm_downconvert codec2_fdm_downconvert
|
||||
#define fdmdv_48_to_8 codec2_fdmdv_48_to_8
|
||||
#define fdmdv_8_to_48 codec2_fdmdv_8_to_48
|
||||
#define fdmdv_bits_per_frame codec2_fdmdv_bits_per_frame
|
||||
#define fdmdv_create codec2_fdmdv_create
|
||||
#define fdmdv_demod codec2_fdmdv_demod
|
||||
#define fdmdv_destroy codec2_fdmdv_destroy
|
||||
#define fdmdv_dump_osc_mags codec2_fdmdv_dump_osc_mags
|
||||
#define fdmdv_error_pattern_size codec2_fdmdv_error_pattern_size
|
||||
#define fdmdv_freq_shift codec2_fdmdv_freq_shift
|
||||
#define fdmdv_get_demod_stats codec2_fdmdv_get_demod_stats
|
||||
#define fdmdv_get_fsep codec2_fdmdv_get_fsep
|
||||
#define fdmdv_get_rx_spectrum codec2_fdmdv_get_rx_spectrum
|
||||
#define fdmdv_get_test_bits codec2_fdmdv_get_test_bits
|
||||
#define fdmdv_mod codec2_fdmdv_mod
|
||||
#define fdmdv_put_test_bits codec2_fdmdv_put_test_bits
|
||||
#define fdmdv_set_fsep codec2_fdmdv_set_fsep
|
||||
#define fdmdv_use_old_qpsk_mapping codec2_fdmdv_use_old_qpsk_mapping
|
||||
#define fdm_upconvert codec2_fdm_upconvert
|
||||
#define freq_state codec2_freq_state
|
||||
#define generate_pilot_fdm codec2_generate_pilot_fdm
|
||||
#define generate_pilot_lut codec2_generate_pilot_lut
|
||||
#define lpf_peak_pick codec2_lpf_peak_pick
|
||||
#define qpsk_to_bits codec2_qpsk_to_bits
|
||||
#define rx_est_freq_offset codec2_rx_est_freq_offset
|
||||
#define rx_est_timing codec2_rx_est_timing
|
||||
#define rx_filter codec2_rx_filter
|
||||
#define snr_update codec2_snr_update
|
||||
#define tx_filter codec2_tx_filter
|
||||
#define kiss_fft codec2_kiss_fft
|
||||
#define kiss_fft_alloc codec2_kiss_fft_alloc
|
||||
#define kiss_fft_cleanup codec2_kiss_fft_cleanup
|
||||
#define kiss_fft_next_fast_size codec2_kiss_fft_next_fast_size
|
||||
#define kiss_fft_stride codec2_kiss_fft_stride
|
||||
#define interp_energy codec2_interp_energy
|
||||
#define interp_energy2 codec2_interp_energy2
|
||||
#define interpolate codec2_interpolate
|
||||
#define interpolate_lsp codec2_interpolate_lsp
|
||||
#define interpolate_lsp_ver2 codec2_interpolate_lsp_ver2
|
||||
#define interp_Wo codec2_interp_Wo
|
||||
#define interp_Wo2 codec2_interp_Wo2
|
||||
#define sample_log_amp codec2_sample_log_amp
|
||||
#define lpc_to_lsp codec2_lpc_to_lsp
|
||||
#define lsp_to_lpc codec2_lsp_to_lpc
|
||||
#define aks_to_H codec2_aks_to_H
|
||||
#define phase_synth_zero_order codec2_phase_synth_zero_order
|
||||
#define aks_to_M2 codec2_aks_to_M2
|
||||
#define apply_lpc_correction codec2_apply_lpc_correction
|
||||
#define bw_expand_lsps codec2_bw_expand_lsps
|
||||
#define bw_expand_lsps2 codec2_bw_expand_lsps2
|
||||
#define check_lsp_order codec2_check_lsp_order
|
||||
#define compute_weights codec2_compute_weights
|
||||
#define compute_weights2 codec2_compute_weights2
|
||||
#define compute_weights_anssi_mode2 codec2_compute_weights_anssi_mode2
|
||||
#define decode_energy codec2_decode_energy
|
||||
#define decode_lspds_scalar codec2_decode_lspds_scalar
|
||||
#define decode_lsps_scalar codec2_decode_lsps_scalar
|
||||
#define decode_lsps_vq codec2_decode_lsps_vq
|
||||
#define decode_Wo codec2_decode_Wo
|
||||
#define decode_Wo_dt codec2_decode_Wo_dt
|
||||
#define decode_WoE codec2_decode_WoE
|
||||
#define encode_energy codec2_encode_energy
|
||||
#define encode_lspds_scalar codec2_encode_lspds_scalar
|
||||
#define encode_lsps_scalar codec2_encode_lsps_scalar
|
||||
#define encode_lsps_vq codec2_encode_lsps_vq
|
||||
#define encode_Wo codec2_encode_Wo
|
||||
#define encode_Wo_dt codec2_encode_Wo_dt
|
||||
#define encode_WoE codec2_encode_WoE
|
||||
#define find_nearest codec2_find_nearest
|
||||
#define find_nearest_weighted codec2_find_nearest_weighted
|
||||
#define force_min_lsp_dist codec2_force_min_lsp_dist
|
||||
#define locate_lsps_jnd_steps codec2_locate_lsps_jnd_steps
|
||||
#define lpc_post_filter codec2_lpc_post_filter
|
||||
#define lsp_bits codec2_lsp_bits
|
||||
#define lspd_bits codec2_lspd_bits
|
||||
#define lspjvm_quantise codec2_lspjvm_quantise
|
||||
#define lsp_pred_vq_bits codec2_lsp_pred_vq_bits
|
||||
#define quantise codec2_quantise
|
||||
#define quantise_init codec2_quantise_init
|
||||
#define quantise_WoE codec2_quantise_WoE
|
||||
#define speech_to_uq_lsps codec2_speech_to_uq_lsps
|
||||
#define pack codec2_pack
|
||||
#define pack_natural_or_gray codec2_pack_natural_or_gray
|
||||
#define unpack codec2_unpack
|
||||
#define unpack_natural_or_gray codec2_unpack_natural_or_gray
|
||||
#define get_syndrome codec2_get_syndrome
|
||||
#define golay23_count_errors codec2_golay23_count_errors
|
||||
#define golay23_decode codec2_golay23_decode
|
||||
#define golay23_encode codec2_golay23_encode
|
||||
#define golay23_init codec2_golay23_init
|
||||
#define nextcomb codec2_nextcomb
|
|
@ -1 +1 @@
|
|||
Subproject commit c578229f92c9da940e01639df1998480180ab309
|
||||
Subproject commit 7cbb44281c1ab12d90b3b712d2a9087df66207d2
|
1
submodules/mscodec2
Submodule
1
submodules/mscodec2
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 64df6cb53ceacdea74a021e83f664e9aaa140ef8
|
Loading…
Reference in a new issue