# Rockchip AEC_ANR_AGC算法 ## compile mkdir -p build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=~/video/rv1109/buildroot/output/rockchip_puma_toolchain/host/share/buildroot/toolchainfile.cmake make 优化选项: -O3 -mfpu=neon -mfloat-abi=hard ## 资源占用情况 ### 测试环境 * RV1808 EVB * cpu: 关闭ARM核保留一个核,定频 1Ghz echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo 1008000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed echo 0 > /sys/devices/system/cpu/cpu1/online * ddr : LPDDR3 933MHz ### Test * 内存占用情况:RSS 1.6M * 计算耗时 cpu 37% * ./test_aec_anr_agc csq_0_1mic.wav csq_0_1mic-out.wav filename=csq_0_1mic.wav format=1 num_channels=2 sample_rate=16000 sample_bits=16 num_samples=128001 mic_channel = 1, ref channel = 1 init ch 0 init ch 0 succeed init ok alloc ok elapse 6 ms //PROCESS TX 16ms数据 elapse 0 ms //PROCESS RX elapse 6 ms elapse 0 ms elapse 6 ms elapse 0 ms elapse 6 ms elapse 0 ms elapse 6 ms elapse 0 ms * 稳定性测试 * 多实例循环压力测试通过:没有内存泄露,可以稳定长时运行 # cat /proc/673/status Name: test_aec_anr_ag State: R (running) Tgid: 673 Ngid: 0 Pid: 673 PPid: 609 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 64 Groups: VmPeak: 2444 kB VmSize: 2444 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 1672 kB VmRSS: 1672 kB VmData: 292 kB VmStk: 132 kB VmExe: 8 kB VmLib: 1784 kB VmPTE: 20 kB VmPMD: 8 kB VmSwap: 0 kB Threads: 1 SigQ: 0/7992 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 0000000000000000 CapPrm: 0000003fffffffff CapEff: 0000003fffffffff CapBnd: 0000003fffffffff CapAmb: 0000000000000000 Speculation_Store_Bypass: unknown Cpus_allowed: 3 Cpus_allowed_list: 0-1 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 1 nonvoluntary_ctxt_switches: 38