Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 1 | cmake_minimum_required(VERSION 3.8) |
| 2 | |
| 3 | project(aml_audio_hal |
| 4 | VERSION 1.0) |
| 5 | |
| 6 | include(GNUInstallDirs) |
| 7 | |
| 8 | add_subdirectory("libms12v2") |
| 9 | add_subdirectory("audio_hal/libaudioprocessing") |
| 10 | |
| 11 | add_library(spdifenc STATIC |
| 12 | utils/SPDIFEncoderAD.cpp |
| 13 | utils/spdifenc_wrap.cpp |
| 14 | ) |
| 15 | |
| 16 | target_include_directories(spdifenc PRIVATE |
| 17 | ./audio_hal |
| 18 | ./include |
| 19 | ./include/utils) |
| 20 | |
Tim Yao | e419f81 | 2021-01-20 21:15:05 -0800 | [diff] [blame] | 21 | target_compile_options(spdifenc PRIVATE -Wno-deprecated-declarations -fPIC) |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 22 | |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame] | 23 | option(USE_DTV "Compile with DTV option" OFF) |
Tim Yao | 2c66a76 | 2021-01-06 18:08:33 -0800 | [diff] [blame] | 24 | option(USE_CAP "Support audio capture" ON) |
Zhizhong Zhang | 1630230 | 2021-01-20 22:29:14 +0800 | [diff] [blame] | 25 | option(USE_SC2 "Current platform is sc2" OFF) |
Tim Yao | b5e9839 | 2021-03-03 11:51:26 -0800 | [diff] [blame^] | 26 | option(USE_CAP_MUTE_HDMI "Support audio capture mute for HDMI INPUT" ON) |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 27 | |
| 28 | if(USE_DTV) |
| 29 | list(APPEND DTV_FILES audio_hal/audio_dtv_ad.c) |
| 30 | list(APPEND DTV_FILES audio_hal/audio_hw_dtv.c) |
| 31 | list(APPEND DTV_INC $ENV{AML_AUDIO_HAL_STAGING_DIR}/usr/include/aml_dvb/am_adp) |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame] | 32 | list(APPEND DTV_LIBS -L$ENV{AML_AUDIO_HAL_STAGING_DIR}/usr/lib/aml_libs_nf -lamadec_hal -lam_adp ) |
Zhizhong Zhang | 1630230 | 2021-01-20 22:29:14 +0800 | [diff] [blame] | 33 | list(APPEND DVB_AUDIO_INC ./dtv_audio_utils/sync) |
| 34 | list(APPEND DVB_AUDIO_LIBS -L./dtv_audio_utils -ldvbaudioutils) |
| 35 | |
cheng tong | 7177c1b | 2020-09-17 17:36:27 +0800 | [diff] [blame] | 36 | add_definitions(-DUSE_DTV) |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 37 | endif() |
| 38 | |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 39 | option(USE_EQ_DRC "Compile with EQ/DRC" OFF) |
| 40 | |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame] | 41 | if(USE_EQ_DRC) |
| 42 | list(APPEND EQ_DRC_FILES |
| 43 | amlogic_AQ_tools/audio_eq_drc_compensation.c |
| 44 | amlogic_AQ_tools/audio_eq_drc_parser.c |
| 45 | amlogic_AQ_tools/ini/dictionary.c |
| 46 | amlogic_AQ_tools/ini/iniparser.c) |
| 47 | endif() |
| 48 | |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 49 | ############################################# |
| 50 | # libaudio_hal |
| 51 | ############################################# |
| 52 | add_library(audio_hal SHARED |
| 53 | audio_hal/alsa_config_parameters.c |
| 54 | audio_hal/alsa_manager.c |
| 55 | audio_hal/aml_ac3_parser.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 56 | audio_hal/aml_audio_ac3parser.c |
| 57 | audio_hal/aml_audio_ac4parser.c |
| 58 | audio_hal/aml_audio_bitsparser.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 59 | audio_hal/aml_audio_delay.c |
| 60 | audio_hal/aml_audio_ease.c |
| 61 | audio_hal/amlAudioMixer.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 62 | audio_hal/aml_audio_ms12_bypass.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 63 | audio_hal/aml_audio_resample_manager.c |
| 64 | audio_hal/aml_audio_stream.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 65 | audio_hal/aml_audio_spdif_output.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 66 | audio_hal/aml_audio_timer.c |
| 67 | audio_hal/aml_avsync_tuning.c |
| 68 | audio_hal/aml_dca_dec_api.c |
| 69 | audio_hal/aml_dcv_dec_api.c |
| 70 | audio_hal/aml_hw_mixer.c |
| 71 | audio_hal/aml_resample_wrap.cpp |
| 72 | audio_hal/audio_android_resample_api.c |
| 73 | audio_hal/audio_data_process.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 74 | audio_hal/audio_format_parse.c |
| 75 | audio_hal/audio_hw.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 76 | audio_hal/audio_hw_insert_silence_data.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 77 | audio_hal/audio_hw_ms12.c |
| 78 | audio_hal/audio_hw_profile.c |
| 79 | audio_hal/audio_hwsync.c |
| 80 | audio_hal/audio_hw_utils.c |
| 81 | audio_hal/audio_port.c |
| 82 | audio_hal/audio_post_process.c |
| 83 | audio_hal/audio_route.c |
| 84 | audio_hal/audio_simple_resample_api.c |
| 85 | audio_hal/audio_virtual_buf.c |
| 86 | audio_hal/dolby_lib_api.c |
| 87 | audio_hal/hw_avsync.c |
| 88 | audio_hal/hw_avsync_callbacks.c |
| 89 | audio_hal/spdif_encoder_api.c |
| 90 | audio_hal/sub_mixing_factory.c |
cheng tong | c6b27a9 | 2020-11-02 11:46:31 +0800 | [diff] [blame] | 91 | audio_hal/audio_effect_if.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 92 | utils/ac3_parser_utils.c |
| 93 | utils/alsa_device_parser.c |
| 94 | utils/aml_alsa_mixer.c |
| 95 | utils/aml_android_utils.c |
| 96 | utils/aml_audio_mixer.c |
| 97 | utils/aml_audio_resampler.c |
| 98 | utils/aml_buffer_provider.c |
| 99 | utils/aml_data_utils.c |
| 100 | utils/aml_dump_debug.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 101 | utils/aml_malloc_debug.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 102 | utils/aml_ringbuffer.c |
| 103 | utils/aml_volume_utils.c |
| 104 | utils/aml_configs/aml_conf_loader.c |
| 105 | utils/aml_configs/aml_conf_parser.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 106 | utils/earc_utils.c |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 107 | ${DTV_FILES} |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame] | 108 | ${EQ_DRC_FILES} |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 109 | ) |
| 110 | |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 111 | add_definitions(-DNDEBUG -DREPLACE_OUTPUT_BUFFER_WITH_CALLBACK) |
Tim Yao | 2c66a76 | 2021-01-06 18:08:33 -0800 | [diff] [blame] | 112 | if(USE_CAP) |
| 113 | add_definitions(-DAUDIO_CAP) |
Tim Yao | b5e9839 | 2021-03-03 11:51:26 -0800 | [diff] [blame^] | 114 | |
| 115 | if(USE_CAP_MUTE_HDMI) |
| 116 | add_definitions(-DAUDIO_CAP_MUTE_HDMI) |
| 117 | endif() |
Tim Yao | 2c66a76 | 2021-01-06 18:08:33 -0800 | [diff] [blame] | 118 | endif() |
Tim Yao | 4bff678 | 2019-12-26 18:31:40 -0800 | [diff] [blame] | 119 | |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 120 | set(PREBUILD_STATIC_LIBS |
| 121 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/lib_aml_ng.a |
| 122 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_DRC_Param_Generator.a |
| 123 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_EQ_Param_Generator.a) |
| 124 | |
| 125 | set_target_properties(audio_hal PROPERTIES |
| 126 | VERSION ${PROJECT_VERSION} |
| 127 | SOVERSION 1) |
| 128 | |
| 129 | target_include_directories(audio_hal PRIVATE |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 130 | ./include |
| 131 | ./include/utils |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 132 | ./libms12v2/include) |
| 133 | |
Tim Yao | e419f81 | 2021-01-20 21:15:05 -0800 | [diff] [blame] | 134 | target_compile_options(audio_hal PRIVATE -D_GNU_SOURCE -DTV_AUDIO_OUTPUT -Wno-deprecated-declarations -funwind-tables -fasynchronous-unwind-tables -fPIC) |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 135 | |
| 136 | target_link_libraries(audio_hal |
cheng tong | 5ae9269 | 2020-08-28 14:13:39 +0800 | [diff] [blame] | 137 | audioprocessing spdifenc ms12v2 ${PREBUILD_STATIC_LIBS} |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 138 | -lcutils -lamaudioutils -ltinyalsa -llog -lexpat -lpthread -ldl -lstdc++ -Wl,-z,defs) |
| 139 | |
| 140 | if(USE_EQ_DRC) |
| 141 | target_include_directories(audio_hal PRIVATE |
| 142 | ./include/amlogic_AQ_tools |
| 143 | ./amlogic_AQ_tools |
| 144 | ./amlogic_AQ_tools/ini) |
| 145 | target_compile_options(audio_hal PRIVATE -DAML_EQ_DRC) |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 146 | endif() |
| 147 | |
| 148 | if(USE_DTV) |
Zhizhong Zhang | 1630230 | 2021-01-20 22:29:14 +0800 | [diff] [blame] | 149 | target_include_directories(audio_hal PRIVATE |
| 150 | ${DTV_INC} |
| 151 | ${DVB_AUDIO_INC}) |
| 152 | target_link_libraries(audio_hal |
| 153 | ${DTV_LIBS} |
| 154 | ${DVB_AUDIO_LIBS} -lamavutils) |
| 155 | endif() |
| 156 | |
| 157 | if(USE_SC2) |
| 158 | add_definitions(-DDVB_AUDIO_SC2) |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 159 | endif() |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 160 | |
| 161 | install(TARGETS audio_hal |
| 162 | LIBRARY DESTINATION "lib") |
| 163 | |
| 164 | install(FILES audio_hal/mixer_paths.xml |
| 165 | DESTINATION /etc) |
| 166 | |
cheng tong | 5ae9269 | 2020-08-28 14:13:39 +0800 | [diff] [blame] | 167 | install(PROGRAMS amlogic_AQ_tools/Amlogic_DRC_Param_Generator amlogic_AQ_tools/Amlogic_EQ_Param_Generator |
| 168 | DESTINATION /usr/bin) |
| 169 | |