[fdk-aac] init

This commit is contained in:
atkawa7 2017-11-03 10:33:48 -07:00 committed by Alexander Karatarakis
parent 57934e5bbe
commit 98b2654c77
4 changed files with 250 additions and 0 deletions

View File

@ -0,0 +1,206 @@
cmake_minimum_required(VERSION 3.8.0)
project(fdk-aac)
set(AACDEC_SRC
libAACdec/src/aacdec_drc.cpp
libAACdec/src/aacdec_hcr.cpp
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdec_pns.cpp
libAACdec/src/aac_ram.cpp
libAACdec/src/block.cpp
libAACdec/src/channelinfo.cpp
libAACdec/src/ldfiltbank.cpp
libAACdec/src/rvlcbit.cpp
libAACdec/src/rvlc.cpp
libAACdec/src/aacdec_hcr_bit.cpp
libAACdec/src/aacdec_hcrs.cpp
libAACdec/src/aacdecoder_lib.cpp
libAACdec/src/aacdec_tns.cpp
libAACdec/src/aac_rom.cpp
libAACdec/src/channel.cpp
libAACdec/src/conceal.cpp
libAACdec/src/pulsedata.cpp
libAACdec/src/rvlcconceal.cpp
libAACdec/src/stereo.cpp
)
set(AACENC_SRC
libAACenc/src/aacenc.cpp
libAACenc/src/aacEnc_ram.cpp
libAACenc/src/band_nrg.cpp
libAACenc/src/block_switch.cpp
libAACenc/src/grp_data.cpp
libAACenc/src/metadata_main.cpp
libAACenc/src/pre_echo_control.cpp
libAACenc/src/quantize.cpp
libAACenc/src/tonality.cpp
libAACenc/src/aacEnc_rom.cpp
libAACenc/src/bandwidth.cpp
libAACenc/src/channel_map.cpp
libAACenc/src/intensity.cpp
libAACenc/src/ms_stereo.cpp
libAACenc/src/psy_configuration.cpp
libAACenc/src/sf_estim.cpp
libAACenc/src/transform.cpp
libAACenc/src/aacenc_lib.cpp
libAACenc/src/aacenc_tns.cpp
libAACenc/src/bit_cnt.cpp
libAACenc/src/chaosmeasure.cpp
libAACenc/src/line_pe.cpp
libAACenc/src/noisedet.cpp
libAACenc/src/psy_main.cpp
libAACenc/src/spreading.cpp
libAACenc/src/aacenc_pns.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/bitenc.cpp
libAACenc/src/dyn_bits.cpp
libAACenc/src/metadata_compressor.cpp
libAACenc/src/pnsparam.cpp
libAACenc/src/qc_main.cpp
)
set(FDK_SRC
libFDK/src/autocorr2nd.cpp
libFDK/src/dct.cpp
libFDK/src/FDK_bitbuffer.cpp
libFDK/src/FDK_core.cpp
libFDK/src/FDK_crc.cpp
libFDK/src/FDK_hybrid.cpp
libFDK/src/FDK_tools_rom.cpp
libFDK/src/FDK_trigFcts.cpp
libFDK/src/fft.cpp
libFDK/src/fft_rad2.cpp
libFDK/src/fixpoint_math.cpp
libFDK/src/mdct.cpp
libFDK/src/qmf.cpp
libFDK/src/scale.cpp
)
set(MPEGTPDEC_SRC
libMpegTPDec/src/tpdec_adif.cpp
libMpegTPDec/src/tpdec_adts.cpp
libMpegTPDec/src/tpdec_asc.cpp
libMpegTPDec/src/tpdec_drm.cpp
libMpegTPDec/src/tpdec_latm.cpp
libMpegTPDec/src/tpdec_lib.cpp
)
set( MPEGTPENC_SRC
libMpegTPEnc/src/tpenc_adif.cpp
libMpegTPEnc/src/tpenc_adts.cpp
libMpegTPEnc/src/tpenc_asc.cpp
libMpegTPEnc/src/tpenc_latm.cpp
libMpegTPEnc/src/tpenc_lib.cpp
)
set( PCMUTILS_SRC
libPCMutils/src/limiter.cpp
libPCMutils/src/pcmutils_lib.cpp
)
set(SBRDEC_SRC
libSBRdec/src/env_calc.cpp
libSBRdec/src/env_dec.cpp
libSBRdec/src/env_extr.cpp
libSBRdec/src/huff_dec.cpp
libSBRdec/src/lpp_tran.cpp
libSBRdec/src/psbitdec.cpp
libSBRdec/src/psdec.cpp
libSBRdec/src/psdec_hybrid.cpp
libSBRdec/src/sbr_crc.cpp
libSBRdec/src/sbr_deb.cpp
libSBRdec/src/sbr_dec.cpp
libSBRdec/src/sbrdec_drc.cpp
libSBRdec/src/sbrdec_freq_sca.cpp
libSBRdec/src/sbrdecoder.cpp
libSBRdec/src/sbr_ram.cpp
libSBRdec/src/sbr_rom.cpp
)
set(SBRENC_SRC
libSBRenc/src/bit_sbr.cpp
libSBRenc/src/env_bit.cpp
libSBRenc/src/fram_gen.cpp
libSBRenc/src/mh_det.cpp
libSBRenc/src/ps_bitenc.cpp
libSBRenc/src/ps_encode.cpp
libSBRenc/src/resampler.cpp
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/sbr_ram.cpp
libSBRenc/src/ton_corr.cpp
libSBRenc/src/code_env.cpp
libSBRenc/src/env_est.cpp
libSBRenc/src/invf_est.cpp
libSBRenc/src/nf_est.cpp
libSBRenc/src/ps_main.cpp
libSBRenc/src/sbrenc_freq_sca.cpp
libSBRenc/src/sbr_misc.cpp
libSBRenc/src/sbr_rom.cpp
libSBRenc/src/tran_det.cpp
)
set(SYS_SRC
libSYS/src/cmdl_parser.cpp
libSYS/src/conv_string.cpp
libSYS/src/genericStds.cpp
libSYS/src/wav_file.cpp
)
set(
libfdk_aac_SOURCES
${AACDEC_SRC} ${AACENC_SRC}
${MPEGTPDEC_SRC} ${MPEGTPENC_SRC}
${SBRDEC_SRC} ${SBRENC_SRC}
${PCMUTILS_SRC} ${FDK_SRC} ${SYS_SRC}
fdk-aac.def
)
include_directories(
.
win32
libAACdec/include
libAACenc/include
libSBRdec/include
libSBRenc/include
libMpegTPDec/include
libMpegTPEnc/include
libSYS/include
libFDK/include
libPCMutils/include
)
if(BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
add_library(fdk-aac ${libfdk_aac_SOURCES})
add_executable(aac-enc aac-enc.c wavreader.c)
target_link_libraries(aac-enc fdk-aac)
install(
TARGETS fdk-aac
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(NOT DISABLE_INSTALL_TOOLS)
install (
TARGETS aac-enc
RUNTIME DESTINATION tools/fdk-aac
)
endif()
if(NOT DISABLE_INSTALL_HEADERS)
install(
FILES
libAACdec/include/aacdecoder_lib.h
libAACenc/include/aacenc_lib.h
libSYS/include/FDK_audio.h
libSYS/include/genericStds.h
libSYS/include/machine_type.h
DESTINATION include
)
endif()

3
ports/fdk-aac/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: fdk-aac
Version: 2017-11-02-1e351
Description: A standalone library of the Fraunhofer FDK AAC code

19
ports/fdk-aac/fdk-aac.def Normal file
View File

@ -0,0 +1,19 @@
EXPORTS
aacDecoder_AncDataGet
aacDecoder_AncDataInit
aacDecoder_Close
aacDecoder_ConfigRaw
aacDecoder_DecodeFrame
aacDecoder_Fill
aacDecoder_GetFreeBytes
aacDecoder_GetLibInfo
aacDecoder_GetStreamInfo
aacDecoder_Open
aacDecoder_SetParam
aacEncClose
aacEncEncode
aacEncGetLibInfo
aacEncInfo
aacEncOpen
aacEncoder_GetParam
aacEncoder_SetParam

View File

@ -0,0 +1,22 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mstorsjo/fdk-aac
REF 1e3515e03e2dbdbd48dacc31ef75d25c201a4c51
SHA512 4bb0cb75fac46b30f64f5588a528f3c97d66b456fb866524018596dc79eb8b01735eb7e2bc56489127091924117a8a5f4a722dd9cc90c4caa8ad5c55e58faa40
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/fdk-aac.def DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/fdk-aac)
file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fdk-aac RENAME copyright)