forked from cisco/openh264
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeson.build
94 lines (92 loc) · 2.72 KB
/
meson.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
cpp_sources = [
'core/src/au_set.cpp',
'core/src/deblocking.cpp',
'core/src/decode_mb_aux.cpp',
'core/src/encode_mb_aux.cpp',
'core/src/encoder.cpp',
'core/src/encoder_data_tables.cpp',
'core/src/encoder_ext.cpp',
'core/src/get_intra_predictor.cpp',
'core/src/md.cpp',
'core/src/mv_pred.cpp',
'core/src/nal_encap.cpp',
'core/src/paraset_strategy.cpp',
'core/src/picture_handle.cpp',
'core/src/ratectl.cpp',
'core/src/ref_list_mgr_svc.cpp',
'core/src/sample.cpp',
'core/src/set_mb_syn_cabac.cpp',
'core/src/set_mb_syn_cavlc.cpp',
'core/src/slice_multi_threading.cpp',
'core/src/svc_base_layer_md.cpp',
'core/src/svc_enc_slice_segment.cpp',
'core/src/svc_encode_mb.cpp',
'core/src/svc_encode_slice.cpp',
'core/src/svc_mode_decision.cpp',
'core/src/svc_motion_estimate.cpp',
'core/src/svc_set_mb_syn_cabac.cpp',
'core/src/svc_set_mb_syn_cavlc.cpp',
'core/src/wels_preprocess.cpp',
'core/src/wels_task_base.cpp',
'core/src/wels_task_encoder.cpp',
'core/src/wels_task_management.cpp',
'plus/src/welsEncoderExt.cpp',
]
objs_asm = []
if cpu_family in ['x86', 'x86_64']
asm_sources = [
'core/x86/coeff.asm',
'core/x86/dct.asm',
'core/x86/intra_pred.asm',
'core/x86/matrix_transpose.asm',
'core/x86/memzero.asm',
'core/x86/quant.asm',
'core/x86/sample_sc.asm',
'core/x86/score.asm',
]
objs_asm = asm_gen.process(asm_sources)
elif cpu_family == 'arm'
asm_sources = [
'core/arm/intra_pred_neon.S',
'core/arm/intra_pred_sad_3_opt_neon.S',
'core/arm/memory_neon.S',
'core/arm/pixel_neon.S',
'core/arm/reconstruct_neon.S',
'core/arm/svc_motion_estimation.S',
]
if use_asm_gen
objs_asm = asm_gen.process(asm_sources)
else
cpp_sources += asm_sources
endif
elif cpu_family == 'aarch64'
asm_sources = [
'core/arm64/intra_pred_aarch64_neon.S',
'core/arm64/intra_pred_sad_3_opt_aarch64_neon.S',
'core/arm64/memory_aarch64_neon.S',
'core/arm64/pixel_aarch64_neon.S',
'core/arm64/reconstruct_aarch64_neon.S',
'core/arm64/svc_motion_estimation_aarch64_neon.S',
]
if use_asm_gen
objs_asm = asm_gen.process(asm_sources)
else
cpp_sources += asm_sources
endif
elif cpu_family in ['loongarch32', 'loongarch64']
asm_sources = [
'core/loongarch/quant_lsx.c',
'core/loongarch/get_intra_predictor_lsx.c',
'core/loongarch/dct_lasx.c',
'core/loongarch/svc_motion_estimate_lsx.c',
'core/loongarch/sample_lasx.c',
]
cpp_sources += asm_sources
elif cpu_family == 'riscv64'
asm_sources = []
else
error('Unsupported cpu family @0@'.format(cpu_family))
endif
libencoder = static_library('encoder', cpp_sources, objs_asm,
include_directories: [inc, processing_inc, encoder_inc, casm_inc],
dependencies: deps)