1cpp_sources = [ 2 'src/adaptivequantization/AdaptiveQuantization.cpp', 3 'src/backgrounddetection/BackgroundDetection.cpp', 4 'src/common/memory.cpp', 5 'src/common/WelsFrameWork.cpp', 6 'src/common/WelsFrameWorkEx.cpp', 7 'src/complexityanalysis/ComplexityAnalysis.cpp', 8 'src/denoise/denoise.cpp', 9 'src/denoise/denoise_filter.cpp', 10 'src/downsample/downsample.cpp', 11 'src/downsample/downsamplefuncs.cpp', 12 'src/imagerotate/imagerotate.cpp', 13 'src/imagerotate/imagerotatefuncs.cpp', 14 'src/scenechangedetection/SceneChangeDetection.cpp', 15 'src/scrolldetection/ScrollDetection.cpp', 16 'src/scrolldetection/ScrollDetectionFuncs.cpp', 17 'src/vaacalc/vaacalcfuncs.cpp', 18 'src/vaacalc/vaacalculation.cpp', 19] 20 21objs_asm = [] 22if cpu_family in ['x86', 'x86_64'] 23 asm_sources = [ 24 'src/x86/denoisefilter.asm', 25 'src/x86/downsample_bilinear.asm', 26 'src/x86/vaa.asm', 27 ] 28 objs_asm = asm_gen.process(asm_sources) 29elif cpu_family == 'arm' 30 asm_sources = [ 31 'src/arm/adaptive_quantization.S', 32 'src/arm/down_sample_neon.S', 33 'src/arm/pixel_sad_neon.S', 34 'src/arm/vaa_calc_neon.S', 35 ] 36 if use_asm_gen 37 objs_asm = asm_gen.process(asm_sources) 38 else 39 cpp_sources += asm_sources 40 endif 41elif cpu_family == 'aarch64' 42 asm_sources = [ 43 'src/arm64/adaptive_quantization_aarch64_neon.S', 44 'src/arm64/down_sample_aarch64_neon.S', 45 'src/arm64/pixel_sad_aarch64_neon.S', 46 'src/arm64/vaa_calc_aarch64_neon.S', 47 ] 48 if use_asm_gen 49 objs_asm = asm_gen.process(asm_sources) 50 else 51 cpp_sources += asm_sources 52 endif 53elif cpu_family in ['loongarch32', 'loongarch64'] 54 asm_sources = [ 55 'src/loongarch/vaa_lsx.c', 56 'src/loongarch/vaa_lasx.c', 57 ] 58 cpp_sources += asm_sources 59else 60 error('Unsupported cpu family @0@'.format(cpu_family)) 61endif 62 63libprocessing = static_library('processing', cpp_sources, objs_asm, 64 include_directories: [inc, processing_inc, casm_inc], 65 dependencies: deps) 66