1cpp_sources = [ 2 'src/common_tables.cpp', 3 'src/copy_mb.cpp', 4 'src/cpu.cpp', 5 'src/crt_util_safe_x.cpp', 6 'src/deblocking_common.cpp', 7 'src/expand_pic.cpp', 8 'src/intra_pred_common.cpp', 9 'src/mc.cpp', 10 'src/memory_align.cpp', 11 'src/sad_common.cpp', 12 'src/utils.cpp', 13 'src/welsCodecTrace.cpp', 14 'src/WelsTaskThread.cpp', 15 'src/WelsThread.cpp', 16 'src/WelsThreadLib.cpp', 17 'src/WelsThreadPool.cpp', 18] 19 20objs_asm = [] 21if cpu_family in ['x86', 'x86_64'] 22 asm_sources = [ 23 'x86/cpuid.asm', 24 'x86/dct.asm', 25 'x86/deblock.asm', 26 'x86/expand_picture.asm', 27 'x86/intra_pred_com.asm', 28 'x86/mb_copy.asm', 29 'x86/mc_chroma.asm', 30 'x86/mc_luma.asm', 31 'x86/satd_sad.asm', 32 'x86/vaa.asm', 33 ] 34 objs_asm += asm_gen.process(asm_sources) 35elif cpu_family == 'arm' 36 asm_sources = [ 37 'arm/copy_mb_neon.S', 38 'arm/deblocking_neon.S', 39 'arm/expand_picture_neon.S', 40 'arm/intra_pred_common_neon.S', 41 'arm/mc_neon.S', 42 ] 43 if use_asm_gen 44 objs_asm = asm_gen.process(asm_sources) 45 else 46 cpp_sources += asm_sources 47 endif 48elif cpu_family == 'aarch64' 49 asm_sources = [ 50 'arm64/copy_mb_aarch64_neon.S', 51 'arm64/deblocking_aarch64_neon.S', 52 'arm64/expand_picture_aarch64_neon.S', 53 'arm64/intra_pred_common_aarch64_neon.S', 54 'arm64/mc_aarch64_neon.S', 55 ] 56 if use_asm_gen 57 objs_asm = asm_gen.process(asm_sources) 58 else 59 cpp_sources += asm_sources 60 endif 61else 62 error('Unsupported cpu_family @0@'.format(cpu_family)) 63endif 64 65libcommon = static_library('common', cpp_sources, objs_asm, 66 include_directories: [inc, casm_inc], 67 dependencies: deps) 68