• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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