1+ project (' fdk-aac' , ' cpp' , ' c' , version : ' 2.0.2' )
2+
3+ fdk_aac_inc = include_directories (
4+ ' libAACdec/include' ,
5+ ' libAACenc/include' ,
6+ ' libSYS/include' ,
7+ ' libArithCoding/include' ,
8+ ' libDRCdec/include' ,
9+ ' libSACdec/include' ,
10+ ' libSACenc/include' ,
11+ ' libSBRdec/include' ,
12+ ' libSBRenc/include' ,
13+ ' libMpegTPDec/include' ,
14+ ' libMpegTPEnc/include' ,
15+ ' libFDK/include' ,
16+ ' libPCMutils/include' ,
17+ )
18+
19+ fdk_aac_src = files (
20+ ' libAACdec/src/FDK_delay.cpp' ,
21+ ' libAACdec/src/aac_ram.cpp' ,
22+ ' libAACdec/src/aac_rom.cpp' ,
23+ ' libAACdec/src/aacdec_drc.cpp' ,
24+ ' libAACdec/src/aacdec_hcr.cpp' ,
25+ ' libAACdec/src/aacdec_hcr_bit.cpp' ,
26+ ' libAACdec/src/aacdec_hcrs.cpp' ,
27+ ' libAACdec/src/aacdec_pns.cpp' ,
28+ ' libAACdec/src/aacdec_tns.cpp' ,
29+ ' libAACdec/src/aacdecoder.cpp' ,
30+ ' libAACdec/src/aacdecoder_lib.cpp' ,
31+ ' libAACdec/src/block.cpp' ,
32+ ' libAACdec/src/channel.cpp' ,
33+ ' libAACdec/src/channelinfo.cpp' ,
34+ ' libAACdec/src/conceal.cpp' ,
35+ ' libAACdec/src/ldfiltbank.cpp' ,
36+ ' libAACdec/src/pulsedata.cpp' ,
37+ ' libAACdec/src/rvlc.cpp' ,
38+ ' libAACdec/src/rvlcbit.cpp' ,
39+ ' libAACdec/src/rvlcconceal.cpp' ,
40+ ' libAACdec/src/stereo.cpp' ,
41+ ' libAACdec/src/usacdec_ace_d4t64.cpp' ,
42+ ' libAACdec/src/usacdec_ace_ltp.cpp' ,
43+ ' libAACdec/src/usacdec_acelp.cpp' ,
44+ ' libAACdec/src/usacdec_fac.cpp' ,
45+ ' libAACdec/src/usacdec_lpc.cpp' ,
46+ ' libAACdec/src/usacdec_lpd.cpp' ,
47+ ' libAACdec/src/usacdec_rom.cpp' ,
48+ ' libAACenc/src/aacEnc_ram.cpp' ,
49+ ' libAACenc/src/aacEnc_rom.cpp' ,
50+ ' libAACenc/src/aacenc.cpp' ,
51+ ' libAACenc/src/aacenc_lib.cpp' ,
52+ ' libAACenc/src/aacenc_pns.cpp' ,
53+ ' libAACenc/src/aacenc_tns.cpp' ,
54+ ' libAACenc/src/adj_thr.cpp' ,
55+ ' libAACenc/src/band_nrg.cpp' ,
56+ ' libAACenc/src/bandwidth.cpp' ,
57+ ' libAACenc/src/bit_cnt.cpp' ,
58+ ' libAACenc/src/bitenc.cpp' ,
59+ ' libAACenc/src/block_switch.cpp' ,
60+ ' libAACenc/src/channel_map.cpp' ,
61+ ' libAACenc/src/chaosmeasure.cpp' ,
62+ ' libAACenc/src/dyn_bits.cpp' ,
63+ ' libAACenc/src/grp_data.cpp' ,
64+ ' libAACenc/src/intensity.cpp' ,
65+ ' libAACenc/src/line_pe.cpp' ,
66+ ' libAACenc/src/metadata_compressor.cpp' ,
67+ ' libAACenc/src/metadata_main.cpp' ,
68+ ' libAACenc/src/mps_main.cpp' ,
69+ ' libAACenc/src/ms_stereo.cpp' ,
70+ ' libAACenc/src/noisedet.cpp' ,
71+ ' libAACenc/src/pnsparam.cpp' ,
72+ ' libAACenc/src/pre_echo_control.cpp' ,
73+ ' libAACenc/src/psy_configuration.cpp' ,
74+ ' libAACenc/src/psy_main.cpp' ,
75+ ' libAACenc/src/qc_main.cpp' ,
76+ ' libAACenc/src/quantize.cpp' ,
77+ ' libAACenc/src/sf_estim.cpp' ,
78+ ' libAACenc/src/spreading.cpp' ,
79+ ' libAACenc/src/tonality.cpp' ,
80+ ' libAACenc/src/transform.cpp' ,
81+ ' libArithCoding/src/ac_arith_coder.cpp' ,
82+ ' libDRCdec/src/FDK_drcDecLib.cpp' ,
83+ ' libDRCdec/src/drcDec_gainDecoder.cpp' ,
84+ ' libDRCdec/src/drcDec_reader.cpp' ,
85+ ' libDRCdec/src/drcDec_rom.cpp' ,
86+ ' libDRCdec/src/drcDec_selectionProcess.cpp' ,
87+ ' libDRCdec/src/drcDec_tools.cpp' ,
88+ ' libDRCdec/src/drcGainDec_init.cpp' ,
89+ ' libDRCdec/src/drcGainDec_preprocess.cpp' ,
90+ ' libDRCdec/src/drcGainDec_process.cpp' ,
91+ ' libMpegTPDec/src/tpdec_adif.cpp' ,
92+ ' libMpegTPDec/src/tpdec_adts.cpp' ,
93+ ' libMpegTPDec/src/tpdec_asc.cpp' ,
94+ ' libMpegTPDec/src/tpdec_drm.cpp' ,
95+ ' libMpegTPDec/src/tpdec_latm.cpp' ,
96+ ' libMpegTPDec/src/tpdec_lib.cpp' ,
97+ ' libMpegTPEnc/src/tpenc_adif.cpp' ,
98+ ' libMpegTPEnc/src/tpenc_adts.cpp' ,
99+ ' libMpegTPEnc/src/tpenc_asc.cpp' ,
100+ ' libMpegTPEnc/src/tpenc_latm.cpp' ,
101+ ' libMpegTPEnc/src/tpenc_lib.cpp' ,
102+ ' libSACdec/src/sac_bitdec.cpp' ,
103+ ' libSACdec/src/sac_calcM1andM2.cpp' ,
104+ ' libSACdec/src/sac_dec.cpp' ,
105+ ' libSACdec/src/sac_dec_conceal.cpp' ,
106+ ' libSACdec/src/sac_dec_lib.cpp' ,
107+ ' libSACdec/src/sac_process.cpp' ,
108+ ' libSACdec/src/sac_qmf.cpp' ,
109+ ' libSACdec/src/sac_reshapeBBEnv.cpp' ,
110+ ' libSACdec/src/sac_rom.cpp' ,
111+ ' libSACdec/src/sac_smoothing.cpp' ,
112+ ' libSACdec/src/sac_stp.cpp' ,
113+ ' libSACdec/src/sac_tsd.cpp' ,
114+ ' libSACenc/src/sacenc_bitstream.cpp' ,
115+ ' libSACenc/src/sacenc_delay.cpp' ,
116+ ' libSACenc/src/sacenc_dmx_tdom_enh.cpp' ,
117+ ' libSACenc/src/sacenc_filter.cpp' ,
118+ ' libSACenc/src/sacenc_framewindowing.cpp' ,
119+ ' libSACenc/src/sacenc_huff_tab.cpp' ,
120+ ' libSACenc/src/sacenc_lib.cpp' ,
121+ ' libSACenc/src/sacenc_nlc_enc.cpp' ,
122+ ' libSACenc/src/sacenc_onsetdetect.cpp' ,
123+ ' libSACenc/src/sacenc_paramextract.cpp' ,
124+ ' libSACenc/src/sacenc_staticgain.cpp' ,
125+ ' libSACenc/src/sacenc_tree.cpp' ,
126+ ' libSACenc/src/sacenc_vectorfunctions.cpp' ,
127+ ' libSBRdec/src/HFgen_preFlat.cpp' ,
128+ ' libSBRdec/src/env_calc.cpp' ,
129+ ' libSBRdec/src/env_dec.cpp' ,
130+ ' libSBRdec/src/env_extr.cpp' ,
131+ ' libSBRdec/src/hbe.cpp' ,
132+ ' libSBRdec/src/huff_dec.cpp' ,
133+ ' libSBRdec/src/lpp_tran.cpp' ,
134+ ' libSBRdec/src/psbitdec.cpp' ,
135+ ' libSBRdec/src/psdec.cpp' ,
136+ ' libSBRdec/src/psdec_drm.cpp' ,
137+ ' libSBRdec/src/psdecrom_drm.cpp' ,
138+ ' libSBRdec/src/pvc_dec.cpp' ,
139+ ' libSBRdec/src/sbr_deb.cpp' ,
140+ ' libSBRdec/src/sbr_dec.cpp' ,
141+ ' libSBRdec/src/sbr_ram.cpp' ,
142+ ' libSBRdec/src/sbr_rom.cpp' ,
143+ ' libSBRdec/src/sbrdec_drc.cpp' ,
144+ ' libSBRdec/src/sbrdec_freq_sca.cpp' ,
145+ ' libSBRdec/src/sbrdecoder.cpp' ,
146+ ' libSBRenc/src/bit_sbr.cpp' ,
147+ ' libSBRenc/src/code_env.cpp' ,
148+ ' libSBRenc/src/env_bit.cpp' ,
149+ ' libSBRenc/src/env_est.cpp' ,
150+ ' libSBRenc/src/fram_gen.cpp' ,
151+ ' libSBRenc/src/invf_est.cpp' ,
152+ ' libSBRenc/src/mh_det.cpp' ,
153+ ' libSBRenc/src/nf_est.cpp' ,
154+ ' libSBRenc/src/ps_bitenc.cpp' ,
155+ ' libSBRenc/src/ps_encode.cpp' ,
156+ ' libSBRenc/src/ps_main.cpp' ,
157+ ' libSBRenc/src/resampler.cpp' ,
158+ ' libSBRenc/src/sbr_encoder.cpp' ,
159+ ' libSBRenc/src/sbr_misc.cpp' ,
160+ ' libSBRenc/src/sbrenc_freq_sca.cpp' ,
161+ ' libSBRenc/src/sbrenc_ram.cpp' ,
162+ ' libSBRenc/src/sbrenc_rom.cpp' ,
163+ ' libSBRenc/src/ton_corr.cpp' ,
164+ ' libSBRenc/src/tran_det.cpp' ,
165+ ' libPCMutils/src/limiter.cpp' ,
166+ ' libPCMutils/src/pcm_utils.cpp' ,
167+ ' libPCMutils/src/pcmdmx_lib.cpp' ,
168+ ' libFDK/src/FDK_bitbuffer.cpp' ,
169+ ' libFDK/src/FDK_core.cpp' ,
170+ ' libFDK/src/FDK_crc.cpp' ,
171+ ' libFDK/src/FDK_decorrelate.cpp' ,
172+ ' libFDK/src/FDK_hybrid.cpp' ,
173+ ' libFDK/src/FDK_lpc.cpp' ,
174+ ' libFDK/src/FDK_matrixCalloc.cpp' ,
175+ ' libFDK/src/FDK_qmf_domain.cpp' ,
176+ ' libFDK/src/FDK_tools_rom.cpp' ,
177+ ' libFDK/src/FDK_trigFcts.cpp' ,
178+ ' libFDK/src/autocorr2nd.cpp' ,
179+ ' libFDK/src/dct.cpp' ,
180+ ' libFDK/src/fft.cpp' ,
181+ ' libFDK/src/fft_rad2.cpp' ,
182+ ' libFDK/src/fixpoint_math.cpp' ,
183+ ' libFDK/src/huff_nodes.cpp' ,
184+ ' libFDK/src/mdct.cpp' ,
185+ ' libFDK/src/nlc_dec.cpp' ,
186+ ' libFDK/src/qmf.cpp' ,
187+ ' libFDK/src/scale.cpp' ,
188+ ' libSYS/src/genericStds.cpp' ,
189+ ' libSYS/src/syslib_channelMapDescr.cpp' ,
190+ ' libAACdec/src/aac_ram.h' ,
191+ ' libAACdec/src/aac_rom.h' ,
192+ ' libAACdec/src/aacdec_drc.h' ,
193+ ' libAACdec/src/aacdec_drc_types.h' ,
194+ ' libAACdec/src/aacdec_hcr.h' ,
195+ ' libAACdec/src/aacdec_hcr_bit.h' ,
196+ ' libAACdec/src/aacdec_hcr_types.h' ,
197+ ' libAACdec/src/aacdec_hcrs.h' ,
198+ ' libAACdec/src/aacdec_pns.h' ,
199+ ' libAACdec/src/aacdec_tns.h' ,
200+ ' libAACdec/src/aacdecoder.h' ,
201+ ' libAACdec/src/block.h' ,
202+ ' libAACdec/src/channel.h' ,
203+ ' libAACdec/src/channelinfo.h' ,
204+ ' libAACdec/src/conceal.h' ,
205+ ' libAACdec/src/conceal_types.h' ,
206+ ' libAACdec/src/FDK_delay.h' ,
207+ ' libAACdec/src/ldfiltbank.h' ,
208+ ' libAACdec/src/overlapadd.h' ,
209+ ' libAACdec/src/pulsedata.h' ,
210+ ' libAACdec/src/rvlc.h' ,
211+ ' libAACdec/src/rvlc_info.h' ,
212+ ' libAACdec/src/rvlcbit.h' ,
213+ ' libAACdec/src/rvlcconceal.h' ,
214+ ' libAACdec/src/stereo.h' ,
215+ ' libAACdec/src/usacdec_ace_d4t64.h' ,
216+ ' libAACdec/src/usacdec_ace_ltp.h' ,
217+ ' libAACdec/src/usacdec_acelp.h' ,
218+ ' libAACdec/src/usacdec_const.h' ,
219+ ' libAACdec/src/usacdec_fac.h' ,
220+ ' libAACdec/src/usacdec_lpc.h' ,
221+ ' libAACdec/src/usacdec_lpd.h' ,
222+ ' libAACdec/src/usacdec_rom.h' ,
223+ ' libAACenc/src/aacenc.h' ,
224+ ' libAACenc/src/aacenc_pns.h' ,
225+ ' libAACenc/src/aacEnc_ram.h' ,
226+ ' libAACenc/src/aacEnc_rom.h' ,
227+ ' libAACenc/src/aacenc_tns.h' ,
228+ ' libAACenc/src/adj_thr.h' ,
229+ ' libAACenc/src/adj_thr_data.h' ,
230+ ' libAACenc/src/band_nrg.h' ,
231+ ' libAACenc/src/bandwidth.h' ,
232+ ' libAACenc/src/bit_cnt.h' ,
233+ ' libAACenc/src/bitenc.h' ,
234+ ' libAACenc/src/block_switch.h' ,
235+ ' libAACenc/src/channel_map.h' ,
236+ ' libAACenc/src/chaosmeasure.h' ,
237+ ' libAACenc/src/dyn_bits.h' ,
238+ ' libAACenc/src/grp_data.h' ,
239+ ' libAACenc/src/intensity.h' ,
240+ ' libAACenc/src/interface.h' ,
241+ ' libAACenc/src/line_pe.h' ,
242+ ' libAACenc/src/metadata_compressor.h' ,
243+ ' libAACenc/src/metadata_main.h' ,
244+ ' libAACenc/src/mps_main.h' ,
245+ ' libAACenc/src/ms_stereo.h' ,
246+ ' libAACenc/src/noisedet.h' ,
247+ ' libAACenc/src/pns_func.h' ,
248+ ' libAACenc/src/pnsparam.h' ,
249+ ' libAACenc/src/pre_echo_control.h' ,
250+ ' libAACenc/src/psy_configuration.h' ,
251+ ' libAACenc/src/psy_const.h' ,
252+ ' libAACenc/src/psy_data.h' ,
253+ ' libAACenc/src/psy_main.h' ,
254+ ' libAACenc/src/qc_data.h' ,
255+ ' libAACenc/src/qc_main.h' ,
256+ ' libAACenc/src/quantize.h' ,
257+ ' libAACenc/src/sf_estim.h' ,
258+ ' libAACenc/src/spreading.h' ,
259+ ' libAACenc/src/tns_func.h' ,
260+ ' libAACenc/src/tonality.h' ,
261+ ' libAACenc/src/transform.h' ,
262+ ' libDRCdec/src/drcDec_gainDecoder.h' ,
263+ ' libDRCdec/src/drcDec_reader.h' ,
264+ ' libDRCdec/src/drcDec_rom.h' ,
265+ ' libDRCdec/src/drcDec_selectionProcess.h' ,
266+ ' libDRCdec/src/drcDec_tools.h' ,
267+ ' libDRCdec/src/drcDec_types.h' ,
268+ ' libDRCdec/src/drcDecoder.h' ,
269+ ' libDRCdec/src/drcGainDec_init.h' ,
270+ ' libDRCdec/src/drcGainDec_preprocess.h' ,
271+ ' libDRCdec/src/drcGainDec_process.h' ,
272+ ' libMpegTPDec/src/tp_version.h' ,
273+ ' libMpegTPDec/src/tpdec_adif.h' ,
274+ ' libMpegTPDec/src/tpdec_adts.h' ,
275+ ' libMpegTPDec/src/tpdec_drm.h' ,
276+ ' libMpegTPDec/src/tpdec_latm.h' ,
277+ ' libMpegTPEnc/src/tp_version.h' ,
278+ ' libMpegTPEnc/src/tpenc_adif.h' ,
279+ ' libMpegTPEnc/src/tpenc_adts.h' ,
280+ ' libMpegTPEnc/src/tpenc_asc.h' ,
281+ ' libMpegTPEnc/src/tpenc_latm.h' ,
282+ ' libSACdec/src/sac_bitdec.h' ,
283+ ' libSACdec/src/sac_calcM1andM2.h' ,
284+ ' libSACdec/src/sac_dec.h' ,
285+ ' libSACdec/src/sac_dec_conceal.h' ,
286+ ' libSACdec/src/sac_dec_interface.h' ,
287+ ' libSACdec/src/sac_dec_ssc_struct.h' ,
288+ ' libSACdec/src/sac_process.h' ,
289+ ' libSACdec/src/sac_qmf.h' ,
290+ ' libSACdec/src/sac_reshapeBBEnv.h' ,
291+ ' libSACdec/src/sac_rom.h' ,
292+ ' libSACdec/src/sac_smoothing.h' ,
293+ ' libSACdec/src/sac_stp.h' ,
294+ ' libSACdec/src/sac_tsd.h' ,
295+ ' libSACenc/src/sacenc_bitstream.h' ,
296+ ' libSACenc/src/sacenc_const.h' ,
297+ ' libSACenc/src/sacenc_delay.h' ,
298+ ' libSACenc/src/sacenc_dmx_tdom_enh.h' ,
299+ ' libSACenc/src/sacenc_filter.h' ,
300+ ' libSACenc/src/sacenc_framewindowing.h' ,
301+ ' libSACenc/src/sacenc_huff_tab.h' ,
302+ ' libSACenc/src/sacenc_nlc_enc.h' ,
303+ ' libSACenc/src/sacenc_onsetdetect.h' ,
304+ ' libSACenc/src/sacenc_paramextract.h' ,
305+ ' libSACenc/src/sacenc_staticgain.h' ,
306+ ' libSACenc/src/sacenc_tree.h' ,
307+ ' libSACenc/src/sacenc_vectorfunctions.h' ,
308+ ' libSBRdec/src/env_calc.h' ,
309+ ' libSBRdec/src/env_dec.h' ,
310+ ' libSBRdec/src/env_extr.h' ,
311+ ' libSBRdec/src/hbe.h' ,
312+ ' libSBRdec/src/HFgen_preFlat.h' ,
313+ ' libSBRdec/src/huff_dec.h' ,
314+ ' libSBRdec/src/lpp_tran.h' ,
315+ ' libSBRdec/src/psbitdec.h' ,
316+ ' libSBRdec/src/psdec.h' ,
317+ ' libSBRdec/src/psdec_drm.h' ,
318+ ' libSBRdec/src/pvc_dec.h' ,
319+ ' libSBRdec/src/sbr_deb.h' ,
320+ ' libSBRdec/src/sbr_dec.h' ,
321+ ' libSBRdec/src/sbr_ram.h' ,
322+ ' libSBRdec/src/sbr_rom.h' ,
323+ ' libSBRdec/src/sbrdec_drc.h' ,
324+ ' libSBRdec/src/sbrdec_freq_sca.h' ,
325+ ' libSBRdec/src/transcendent.h' ,
326+ ' libSBRenc/src/bit_sbr.h' ,
327+ ' libSBRenc/src/cmondata.h' ,
328+ ' libSBRenc/src/code_env.h' ,
329+ ' libSBRenc/src/env_bit.h' ,
330+ ' libSBRenc/src/env_est.h' ,
331+ ' libSBRenc/src/fram_gen.h' ,
332+ ' libSBRenc/src/invf_est.h' ,
333+ ' libSBRenc/src/mh_det.h' ,
334+ ' libSBRenc/src/nf_est.h' ,
335+ ' libSBRenc/src/ps_bitenc.h' ,
336+ ' libSBRenc/src/ps_const.h' ,
337+ ' libSBRenc/src/ps_encode.h' ,
338+ ' libSBRenc/src/ps_main.h' ,
339+ ' libSBRenc/src/resampler.h' ,
340+ ' libSBRenc/src/sbr.h' ,
341+ ' libSBRenc/src/sbr_def.h' ,
342+ ' libSBRenc/src/sbr_misc.h' ,
343+ ' libSBRenc/src/sbrenc_freq_sca.h' ,
344+ ' libSBRenc/src/sbrenc_ram.h' ,
345+ ' libSBRenc/src/sbrenc_rom.h' ,
346+ ' libSBRenc/src/ton_corr.h' ,
347+ ' libSBRenc/src/tran_det.h' ,
348+ ' libPCMutils/src/version.h'
349+ )
350+
351+ cc = meson .get_compiler(' c' )
352+ m_dep = cc.find_library (' m' , required : false )
353+
354+ fdk_aac = shared_library (
355+ ' fdk_aac' ,
356+ fdk_aac_src,
357+ build_by_default : true ,
358+ dependencies : [m_dep],
359+ include_directories : fdk_aac_inc,
360+ install : true ,
361+ cpp_args : [' -fno-exceptions' , ' -fno-rtti' , ' -Dfdk_aac_EXPORTS' ],
362+ )
363+
364+ fdk_aac_dep = declare_dependency (
365+ link_with : fdk_aac,
366+ dependencies : [m_dep],
367+ include_directories : fdk_aac_inc
368+ )
369+
370+ pkgc = import (' pkgconfig' )
371+ pkgc.generate(name : ' fdk-aac' ,
372+ version : meson .project_version(),
373+ description : ' AAC codec library'
374+ )
375+
376+ if not get_option (' build-programs' ).disabled()
377+ executable (
378+ ' aac-enc' ,
379+ files (' aac-enc.c' , ' wavreader.c' ),
380+ dependencies : fdk_aac_dep
381+ )
382+ endif
0 commit comments