virtualx-engine/modules/opus/SCsub
Rémi Verschelde d9a291f641 ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
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.
2016-10-15 11:50:40 +02:00

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')