xref: /aosp_15_r20/external/libhevc/common/common.cmake (revision c83a76b084498d55f252f48b2e3786804cdf24b7)
1# src files
2list(
3  APPEND
4  LIBHEVC_COMMON_SRCS
5  "${HEVC_ROOT}/common/ithread.c"
6  "${HEVC_ROOT}/common/ihevc_quant_tables.c"
7  "${HEVC_ROOT}/common/ihevc_inter_pred_filters.c"
8  "${HEVC_ROOT}/common/ihevc_weighted_pred.c"
9  "${HEVC_ROOT}/common/ihevc_padding.c"
10  "${HEVC_ROOT}/common/ihevc_deblk_edge_filter.c"
11  "${HEVC_ROOT}/common/ihevc_deblk_tables.c"
12  "${HEVC_ROOT}/common/ihevc_cabac_tables.c"
13  "${HEVC_ROOT}/common/ihevc_common_tables.c"
14  "${HEVC_ROOT}/common/ihevc_intra_pred_filters.c"
15  "${HEVC_ROOT}/common/ihevc_chroma_intra_pred_filters.c"
16  "${HEVC_ROOT}/common/ihevc_mem_fns.c"
17  "${HEVC_ROOT}/common/ihevc_sao.c"
18  "${HEVC_ROOT}/common/ihevc_trans_tables.c"
19  "${HEVC_ROOT}/common/ihevc_recon.c"
20  "${HEVC_ROOT}/common/ihevc_itrans.c"
21  "${HEVC_ROOT}/common/ihevc_itrans_recon.c"
22  "${HEVC_ROOT}/common/ihevc_iquant_recon.c"
23  "${HEVC_ROOT}/common/ihevc_iquant_itrans_recon.c"
24  "${HEVC_ROOT}/common/ihevc_itrans_recon_32x32.c"
25  "${HEVC_ROOT}/common/ihevc_itrans_recon_16x16.c"
26  "${HEVC_ROOT}/common/ihevc_itrans_recon_8x8.c"
27  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon.c"
28  "${HEVC_ROOT}/common/ihevc_chroma_iquant_recon.c"
29  "${HEVC_ROOT}/common/ihevc_chroma_iquant_itrans_recon.c"
30  "${HEVC_ROOT}/common/ihevc_chroma_recon.c"
31  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon_16x16.c"
32  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon_8x8.c"
33  "${HEVC_ROOT}/common/ihevc_buf_mgr.c"
34  "${HEVC_ROOT}/common/ihevc_disp_mgr.c"
35  "${HEVC_ROOT}/common/ihevc_dpb_mgr.c"
36  "${HEVC_ROOT}/common/ithread.c"
37  "${HEVC_ROOT}/common/ihevc_cabac_tables.c"
38  "${HEVC_ROOT}/common/ihevc_chroma_intra_pred_filters.c"
39  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon.c"
40  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon_16x16.c"
41  "${HEVC_ROOT}/common/ihevc_chroma_itrans_recon_8x8.c"
42  "${HEVC_ROOT}/common/ihevc_common_tables.c"
43  "${HEVC_ROOT}/common/ihevc_deblk_edge_filter.c"
44  "${HEVC_ROOT}/common/ihevc_deblk_tables.c"
45  "${HEVC_ROOT}/common/ihevc_hbd_deblk_edge_filter.c"
46  "${HEVC_ROOT}/common/ihevc_inter_pred_filters.c"
47  "${HEVC_ROOT}/common/ihevc_intra_pred_filters.c"
48  "${HEVC_ROOT}/common/ihevc_iquant_recon.c"
49  "${HEVC_ROOT}/common/ihevc_itrans_recon.c"
50  "${HEVC_ROOT}/common/ihevc_itrans_recon_16x16.c"
51  "${HEVC_ROOT}/common/ihevc_itrans_recon_32x32.c"
52  "${HEVC_ROOT}/common/ihevc_itrans_recon_8x8.c"
53  "${HEVC_ROOT}/common/ihevc_mem_fns.c"
54  "${HEVC_ROOT}/common/ihevc_padding.c"
55  "${HEVC_ROOT}/common/ihevc_quant_iquant_ssd.c"
56  "${HEVC_ROOT}/common/ihevc_quant_tables.c"
57  "${HEVC_ROOT}/common/ihevc_resi_trans.c"
58  "${HEVC_ROOT}/common/ihevc_sao.c"
59  "${HEVC_ROOT}/common/ihevc_trans_tables.c"
60  "${HEVC_ROOT}/common/ihevc_weighted_pred.c")
61
62include_directories(${HEVC_ROOT}/common)
63
64# arm/x86 sources
65if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
66  list(
67    APPEND
68    LIBHEVC_COMMON_ASMS
69    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_neon_intr.c"
70    "${HEVC_ROOT}/common/arm/ihevc_quant_iquant_ssd_neon_intr.c"
71    "${HEVC_ROOT}/common/arm/ihevc_weighted_pred_neon_intr.c"
72    "${HEVC_ROOT}/common/arm/ihevc_resi_trans_neon_32x32.c"
73    "${HEVC_ROOT}/common/arm/ihevc_resi_trans_neon.c"
74    "${HEVC_ROOT}/common/arm/ihevc_intra_ref_substitution_a9q.c"
75    "${HEVC_ROOT}/common/arm64/ihevc_deblk_chroma_horz.s"
76    "${HEVC_ROOT}/common/arm64/ihevc_deblk_chroma_vert.s"
77    "${HEVC_ROOT}/common/arm64/ihevc_deblk_luma_horz.s"
78    "${HEVC_ROOT}/common/arm64/ihevc_deblk_luma_vert.s"
79    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_copy.s"
80    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_copy_w16out.s"
81    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_horz.s"
82    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_horz_w16out.s"
83    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_vert.s"
84    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_vert_w16inp.s"
85    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_vert_w16inp_w16out.s"
86    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_chroma_vert_w16out.s"
87    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_filters_luma_horz.s"
88    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_filters_luma_vert.s"
89    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_filters_luma_vert_w16inp.s"
90    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_filters_luma_vert_w16out.s"
91    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_luma_copy.s"
92    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_luma_copy_w16out.s"
93    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_luma_horz_w16out.s"
94    "${HEVC_ROOT}/common/arm64/ihevc_inter_pred_luma_vert_w16inp_w16out.s"
95    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_dc.s"
96    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_horz.s"
97    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_mode_18_34.s"
98    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_mode_27_to_33.s"
99    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_mode2.s"
100    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_mode_3_to_9.s"
101    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_planar.s"
102    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_chroma_ver.s"
103    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_filters_chroma_mode_11_to_17.s"
104    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_filters_chroma_mode_19_to_25.s"
105    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_filters_luma_mode_11_to_17.s"
106    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_filters_luma_mode_19_to_25.s"
107    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_dc.s"
108    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_horz.s"
109    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_mode_18_34.s"
110    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_mode_27_to_33.s"
111    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_mode2.s"
112    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_mode_3_to_9.s"
113    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_planar.s"
114    "${HEVC_ROOT}/common/arm64/ihevc_intra_pred_luma_vert.s"
115    "${HEVC_ROOT}/common/arm64/ihevc_itrans_recon_16x16.s"
116    "${HEVC_ROOT}/common/arm64/ihevc_itrans_recon_32x32.s"
117    "${HEVC_ROOT}/common/arm64/ihevc_itrans_recon_4x4.s"
118    "${HEVC_ROOT}/common/arm64/ihevc_itrans_recon_4x4_ttype1.s"
119    "${HEVC_ROOT}/common/arm64/ihevc_itrans_recon_8x8.s"
120    "${HEVC_ROOT}/common/arm64/ihevc_mem_fns.s"
121    "${HEVC_ROOT}/common/arm64/ihevc_neon_macros.s"
122    "${HEVC_ROOT}/common/arm64/ihevc_padding.s"
123    "${HEVC_ROOT}/common/arm64/ihevc_sao_band_offset_chroma.s"
124    "${HEVC_ROOT}/common/arm64/ihevc_sao_band_offset_luma.s"
125    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class0_chroma.s"
126    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class0.s"
127    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class1_chroma.s"
128    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class1.s"
129    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class2_chroma.s"
130    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class2.s"
131    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class3_chroma.s"
132    "${HEVC_ROOT}/common/arm64/ihevc_sao_edge_offset_class3.s"
133    "${HEVC_ROOT}/common/arm64/ihevc_weighted_pred_bi_default.s"
134    "${HEVC_ROOT}/common/arm64/ihevc_weighted_pred_bi.s"
135    "${HEVC_ROOT}/common/arm64/ihevc_weighted_pred_uni.s")
136
137  include_directories(${HEVC_ROOT}/common/arm64 ${HEVC_ROOT}/common/arm)
138elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch32")
139  list(
140    APPEND
141    LIBHEVC_COMMON_ASMS
142    "${HEVC_ROOT}/common/arm/ihevc_cmn_utils_neon.h"
143    "${HEVC_ROOT}/common/arm/ihevc_deblk_chroma_horz.s"
144    "${HEVC_ROOT}/common/arm/ihevc_deblk_chroma_vert.s"
145    "${HEVC_ROOT}/common/arm/ihevc_deblk_luma_horz.s"
146    "${HEVC_ROOT}/common/arm/ihevc_deblk_luma_vert.s"
147    "${HEVC_ROOT}/common/arm/ihevc_func_selector.h"
148    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_copy.s"
149    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_copy_w16out.s"
150    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_horz.s"
151    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_horz_w16out.s"
152    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_vert.s"
153    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_vert_w16inp.s"
154    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s"
155    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_chroma_vert_w16out.s"
156    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_filters_luma_horz.s"
157    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_filters_luma_vert.s"
158    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_filters_luma_vert_w16inp.s"
159    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_luma_copy.s"
160    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_luma_copy_w16out.s"
161    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_luma_horz_w16out.s"
162    "${HEVC_ROOT}/common/arm/ihevc_inter_pred_luma_vert_w16inp_w16out.s"
163    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_dc.s"
164    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_horz.s"
165    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_mode_18_34.s"
166    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_mode_27_to_33.s"
167    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_mode2.s"
168    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_mode_3_to_9.s"
169    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_planar.s"
170    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_chroma_ver.s"
171    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_chroma_mode_11_to_17.s"
172    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_chroma_mode_19_to_25.s"
173    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_luma_mode_11_to_17.s"
174    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_luma_mode_19_to_25.s"
175    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_filters_neon_intr.c"
176    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_dc.s"
177    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_horz.s"
178    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_mode_18_34.s"
179    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_mode_27_to_33.s"
180    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_mode2.s"
181    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_mode_3_to_9.s"
182    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_planar.s"
183    "${HEVC_ROOT}/common/arm/ihevc_intra_pred_luma_vert.s"
184    "${HEVC_ROOT}/common/arm/ihevc_intra_ref_substitution_a9q.c"
185    "${HEVC_ROOT}/common/arm/ihevc_itrans_recon_16x16.s"
186    "${HEVC_ROOT}/common/arm/ihevc_itrans_recon_32x32.s"
187    "${HEVC_ROOT}/common/arm/ihevc_itrans_recon_4x4.s"
188    "${HEVC_ROOT}/common/arm/ihevc_itrans_recon_4x4_ttype1.s"
189    "${HEVC_ROOT}/common/arm/ihevc_itrans_recon_8x8.s"
190    "${HEVC_ROOT}/common/arm/ihevc_mem_fns.s"
191    "${HEVC_ROOT}/common/arm/ihevc_padding.s"
192    "${HEVC_ROOT}/common/arm/ihevc_platform_macros.h"
193    "${HEVC_ROOT}/common/arm/ihevc_quant_iquant_ssd_neon_intr.c"
194    "${HEVC_ROOT}/common/arm/ihevc_resi_trans_32x32_a9q.s"
195    "${HEVC_ROOT}/common/arm/ihevc_resi_trans_neon_32x32.c"
196    "${HEVC_ROOT}/common/arm/ihevc_resi_trans_neon.c"
197    "${HEVC_ROOT}/common/arm/ihevc_resi_trans.s"
198    "${HEVC_ROOT}/common/arm/ihevc_sao_band_offset_chroma.s"
199    "${HEVC_ROOT}/common/arm/ihevc_sao_band_offset_luma.s"
200    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class0_chroma.s"
201    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class0.s"
202    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class1_chroma.s"
203    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class1.s"
204    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class2_chroma.s"
205    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class2.s"
206    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class3_chroma.s"
207    "${HEVC_ROOT}/common/arm/ihevc_sao_edge_offset_class3.s"
208    "${HEVC_ROOT}/common/arm/ihevc_weighted_pred_bi_default.s"
209    "${HEVC_ROOT}/common/arm/ihevc_weighted_pred_bi.s"
210    "${HEVC_ROOT}/common/arm/ihevc_weighted_pred_neon_intr.c"
211    "${HEVC_ROOT}/common/arm/ihevc_weighted_pred_uni.s")
212
213  include_directories(${HEVC_ROOT}/common/arm)
214else()
215  list(
216    APPEND
217    LIBHEVC_COMMON_SRCS
218    "${HEVC_ROOT}/common/x86/ihevc_inter_pred_filters_ssse3_intr.c"
219    "${HEVC_ROOT}/common/x86/ihevc_weighted_pred_ssse3_intr.c"
220    "${HEVC_ROOT}/common/x86/ihevc_intra_pred_filters_ssse3_intr.c"
221    "${HEVC_ROOT}/common/x86/ihevc_chroma_intra_pred_filters_ssse3_intr.c"
222    "${HEVC_ROOT}/common/x86/ihevc_itrans_recon_ssse3_intr.c"
223    "${HEVC_ROOT}/common/x86/ihevc_itrans_recon_16x16_ssse3_intr.c"
224    "${HEVC_ROOT}/common/x86/ihevc_itrans_recon_32x32_ssse3_intr.c"
225    "${HEVC_ROOT}/common/x86/ihevc_sao_ssse3_intr.c"
226    "${HEVC_ROOT}/common/x86/ihevc_deblk_ssse3_intr.c"
227    "${HEVC_ROOT}/common/x86/ihevc_padding_ssse3_intr.c"
228    "${HEVC_ROOT}/common/x86/ihevc_mem_fns_ssse3_intr.c"
229    "${HEVC_ROOT}/common/x86/ihevc_inter_pred_filters_sse42_intr.c"
230    "${HEVC_ROOT}/common/x86/ihevc_weighted_pred_sse42_intr.c"
231    "${HEVC_ROOT}/common/x86/ihevc_intra_pred_filters_sse42_intr.c"
232    "${HEVC_ROOT}/common/x86/ihevc_chroma_intra_pred_filters_sse42_intr.c"
233    "${HEVC_ROOT}/common/x86/ihevc_itrans_recon_sse42_intr.c"
234    "${HEVC_ROOT}/common/x86/ihevc_16x16_itrans_recon_sse42_intr.c"
235    "${HEVC_ROOT}/common/x86/ihevc_32x32_itrans_recon_sse42_intr.c"
236    "${HEVC_ROOT}/common/x86/ihevc_tables_x86_intr.c")
237
238  include_directories(${HEVC_ROOT}/common/x86)
239endif()
240