995dcb610c
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.
TODO: Fix the platform/ stuff for opus.
(cherry picked from commit d9a291f641
)
speex module was only added while cherry-picking, as speex is removed
in the master branch but we don't want to break compatibility in 2.1.x.
Unbundling wasn't done as the module uses the internal speex_free,
so it would require some more work.
211 lines
5.7 KiB
Text
211 lines
5.7 KiB
Text
Import('env')
|
|
Import('env_modules')
|
|
|
|
# Thirdparty source files
|
|
if (env["opus"] != "system"): # builtin
|
|
thirdparty_dir = "#thirdparty/opus/"
|
|
|
|
thirdparty_opus_sources = [
|
|
"silk/tables_other.c",
|
|
"silk/sum_sqr_shift.c",
|
|
"silk/PLC.c",
|
|
"silk/dec_API.c",
|
|
"silk/decode_pulses.c",
|
|
"silk/inner_prod_aligned.c",
|
|
"silk/init_encoder.c",
|
|
"silk/interpolate.c",
|
|
"silk/stereo_encode_pred.c",
|
|
"silk/decode_frame.c",
|
|
"silk/NLSF_del_dec_quant.c",
|
|
"silk/VAD.c",
|
|
"silk/resampler_private_AR2.c",
|
|
"silk/NLSF_unpack.c",
|
|
"silk/resampler_down2.c",
|
|
"silk/sort.c",
|
|
"silk/resampler_private_IIR_FIR.c",
|
|
"silk/resampler_down2_3.c",
|
|
"silk/resampler_private_up2_HQ.c",
|
|
"silk/tables_gain.c",
|
|
"silk/stereo_find_predictor.c",
|
|
"silk/stereo_quant_pred.c",
|
|
"silk/NLSF_stabilize.c",
|
|
"silk/ana_filt_bank_1.c",
|
|
"silk/check_control_input.c",
|
|
"silk/bwexpander.c",
|
|
"silk/A2NLSF.c",
|
|
"silk/LPC_inv_pred_gain.c",
|
|
"silk/log2lin.c",
|
|
"silk/process_NLSFs.c",
|
|
"silk/sigm_Q15.c",
|
|
"silk/VQ_WMat_EC.c",
|
|
"silk/quant_LTP_gains.c",
|
|
"silk/resampler_private_down_FIR.c",
|
|
"silk/NLSF_decode.c",
|
|
"silk/control_codec.c",
|
|
"silk/NLSF_VQ_weights_laroia.c",
|
|
"silk/decode_pitch.c",
|
|
"silk/stereo_decode_pred.c",
|
|
"silk/tables_pulses_per_block.c",
|
|
"silk/init_decoder.c",
|
|
"silk/table_LSF_cos.c",
|
|
"silk/decode_core.c",
|
|
"silk/code_signs.c",
|
|
"silk/enc_API.c",
|
|
"silk/tables_LTP.c",
|
|
"silk/pitch_est_tables.c",
|
|
"silk/biquad_alt.c",
|
|
"silk/encode_indices.c",
|
|
"silk/tables_NLSF_CB_WB.c",
|
|
"silk/debug.c",
|
|
"silk/decode_parameters.c",
|
|
"silk/tables_pitch_lag.c",
|
|
"silk/NLSF2A.c",
|
|
"silk/resampler.c",
|
|
"silk/decode_indices.c",
|
|
"silk/NLSF_VQ.c",
|
|
"silk/bwexpander_32.c",
|
|
"silk/tables_NLSF_CB_NB_MB.c",
|
|
"silk/encode_pulses.c",
|
|
"silk/NSQ_del_dec.c",
|
|
"silk/control_SNR.c",
|
|
"silk/shell_coder.c",
|
|
"silk/NLSF_encode.c",
|
|
"silk/stereo_MS_to_LR.c",
|
|
"silk/stereo_LR_to_MS.c",
|
|
"silk/HP_variable_cutoff.c",
|
|
"silk/LPC_analysis_filter.c",
|
|
"silk/CNG.c",
|
|
"silk/decoder_set_fs.c",
|
|
"silk/resampler_rom.c",
|
|
"silk/control_audio_bandwidth.c",
|
|
"silk/lin2log.c",
|
|
"silk/LP_variable_cutoff.c",
|
|
"silk/NSQ.c",
|
|
"silk/gain_quant.c",
|
|
"celt/laplace.c",
|
|
"celt/vq.c",
|
|
"celt/quant_bands.c",
|
|
"celt/kiss_fft.c",
|
|
"celt/entcode.c",
|
|
"celt/entenc.c",
|
|
"celt/celt_lpc.c",
|
|
"celt/pitch.c",
|
|
"celt/rate.c",
|
|
"celt/mathops.c",
|
|
#"celt/arm/armcpu.c",
|
|
#"celt/arm/celt_neon_intr.c",
|
|
#"celt/arm/celt_ne10_mdct.c",
|
|
#"celt/arm/celt_ne10_fft.c",
|
|
#"celt/arm/arm_celt_map.c",
|
|
"celt/celt_encoder.c",
|
|
"celt/celt.c",
|
|
"celt/bands.c",
|
|
"celt/cwrs.c",
|
|
"celt/entdec.c",
|
|
"celt/celt_decoder.c",
|
|
"celt/mdct.c",
|
|
"celt/modes.c",
|
|
"repacketizer.c",
|
|
"mlp_data.c",
|
|
"opus_multistream.c",
|
|
"opusfile.c",
|
|
"opus_encoder.c",
|
|
"analysis.c",
|
|
"mlp.c",
|
|
"info.c",
|
|
"stream.c",
|
|
"opus_decoder.c",
|
|
"internal.c",
|
|
"wincerts.c",
|
|
"opus.c",
|
|
"opus_multistream_encoder.c",
|
|
"http.c",
|
|
"opus_multistream_decoder.c"
|
|
]
|
|
|
|
opus_sources_silk = []
|
|
|
|
if("opus_fixed_point" in env and env.opus_fixed_point=="yes"):
|
|
env_modules.Append(CFLAGS = ["-DFIXED_POINT"])
|
|
opus_sources_silk = [
|
|
"silk/fixed/schur64_FIX.c",
|
|
"silk/fixed/residual_energy16_FIX.c",
|
|
"silk/fixed/encode_frame_FIX.c",
|
|
"silk/fixed/regularize_correlations_FIX.c",
|
|
"silk/fixed/apply_sine_window_FIX.c",
|
|
"silk/fixed/solve_LS_FIX.c",
|
|
"silk/fixed/schur_FIX.c",
|
|
"silk/fixed/pitch_analysis_core_FIX.c",
|
|
"silk/fixed/noise_shape_analysis_FIX.c",
|
|
"silk/fixed/find_LTP_FIX.c",
|
|
"silk/fixed/vector_ops_FIX.c",
|
|
"silk/fixed/autocorr_FIX.c",
|
|
"silk/fixed/warped_autocorrelation_FIX.c",
|
|
"silk/fixed/find_pitch_lags_FIX.c",
|
|
"silk/fixed/k2a_Q16_FIX.c",
|
|
"silk/fixed/LTP_scale_ctrl_FIX.c",
|
|
"silk/fixed/corrMatrix_FIX.c",
|
|
"silk/fixed/prefilter_FIX.c",
|
|
"silk/fixed/find_LPC_FIX.c",
|
|
"silk/fixed/residual_energy_FIX.c",
|
|
"silk/fixed/process_gains_FIX.c",
|
|
"silk/fixed/LTP_analysis_filter_FIX.c",
|
|
"silk/fixed/k2a_FIX.c",
|
|
"silk/fixed/burg_modified_FIX.c",
|
|
"silk/fixed/find_pred_coefs_FIX.c"
|
|
]
|
|
else:
|
|
opus_sources_silk = [
|
|
"silk/float/LTP_scale_ctrl_FLP.c",
|
|
"silk/float/regularize_correlations_FLP.c",
|
|
"silk/float/corrMatrix_FLP.c",
|
|
"silk/float/LPC_analysis_filter_FLP.c",
|
|
"silk/float/levinsondurbin_FLP.c",
|
|
"silk/float/schur_FLP.c",
|
|
"silk/float/scale_vector_FLP.c",
|
|
"silk/float/apply_sine_window_FLP.c",
|
|
"silk/float/pitch_analysis_core_FLP.c",
|
|
"silk/float/wrappers_FLP.c",
|
|
"silk/float/bwexpander_FLP.c",
|
|
"silk/float/warped_autocorrelation_FLP.c",
|
|
"silk/float/solve_LS_FLP.c",
|
|
"silk/float/find_LPC_FLP.c",
|
|
"silk/float/autocorrelation_FLP.c",
|
|
"silk/float/find_pred_coefs_FLP.c",
|
|
"silk/float/find_pitch_lags_FLP.c",
|
|
"silk/float/burg_modified_FLP.c",
|
|
"silk/float/find_LTP_FLP.c",
|
|
"silk/float/energy_FLP.c",
|
|
"silk/float/sort_FLP.c",
|
|
"silk/float/LPC_inv_pred_gain_FLP.c",
|
|
"silk/float/k2a_FLP.c",
|
|
"silk/float/noise_shape_analysis_FLP.c",
|
|
"silk/float/inner_product_FLP.c",
|
|
"silk/float/process_gains_FLP.c",
|
|
"silk/float/encode_frame_FLP.c",
|
|
"silk/float/scale_copy_vector_FLP.c",
|
|
"silk/float/residual_energy_FLP.c",
|
|
"silk/float/LTP_analysis_filter_FLP.c",
|
|
"silk/float/prefilter_FLP.c"
|
|
]
|
|
|
|
thirdparty_opus_sources = [thirdparty_dir + file for file in thirdparty_opus_sources + opus_sources_silk]
|
|
|
|
env_modules.add_source_files(env.modules_sources, thirdparty_opus_sources)
|
|
# FIXME: Clone the environment to make a env_opus and not pollute the modules env
|
|
env_modules.Append(CFLAGS=["-DHAVE_CONFIG_H"])
|
|
|
|
thirdparty_include_paths = [
|
|
"",
|
|
"celt",
|
|
"silk",
|
|
"silk/fixed",
|
|
"silk/float",
|
|
]
|
|
env_modules.Append(CPPPATH = [thirdparty_dir + "/" + dir for dir in thirdparty_include_paths])
|
|
|
|
# Module files
|
|
env_modules.add_source_files(env.modules_sources, "*.cpp")
|
|
|
|
Export('env_modules')
|
|
Export('env')
|