xref: /aosp_15_r20/external/libhevc/encoder/libhevcenc.cmake (revision c83a76b084498d55f252f48b2e3786804cdf24b7)
1*c83a76b0SSuyog Pawar# src files
2*c83a76b0SSuyog Pawarlist(
3*c83a76b0SSuyog Pawar  APPEND
4*c83a76b0SSuyog Pawar  LIBHEVCENC_SRCS
5*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/bit_allocation.c"
6*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/cbr_buffer_control.c"
7*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/common_rom.c"
8*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/convert_float_to_fix.c"
9*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/est_sad.c"
10*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/fixed_point_error_bits.c"
11*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/frame_info_collector.c"
12*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_coarse.c"
13*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_common_utils.c"
14*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_err_compute.c"
15*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_fullpel.c"
16*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_function_selector.c"
17*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_globals.c"
18*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_interface.c"
19*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_refine.c"
20*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_search_algo.c"
21*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_subpel.c"
22*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/hme_utils.c"
23*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_bitstream.c"
24*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_bs_compute_ctb.c"
25*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_buffer_que.c"
26*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_cabac.c"
27*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_cabac_cu_pu.c"
28*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_cabac_rdo.c"
29*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_cabac_tu.c"
30*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_chroma_had_satd.c"
31*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_cmn_utils_instr_set_router.c"
32*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_coarse_me_pass.c"
33*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_common_utils.c"
34*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_deblk.c"
35*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_decomp_pre_intra_pass.c"
36*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_dep_mngr.c"
37*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_cu_recursion.c"
38*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_loop_inter_mode_sifter.c"
39*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_loop_pass.c"
40*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_loop_utils.c"
41*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_sbh_funcs.c"
42*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_enc_subpel_gen.c"
43*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_encode_header.c"
44*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_encode_header_sei_vui.c"
45*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_entropy_cod.c"
46*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_entropy_interface.c"
47*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_error_check.c"
48*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_frame_process.c"
49*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_frame_process_utils.c"
50*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_function_selector.c"
51*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_global_tables.c"
52*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_had_satd.c"
53*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_hle_interface.c"
54*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_hle_q_func.c"
55*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_inter_pred.c"
56*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_ipe_instr_set_router.c"
57*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_ipe_pass.c"
58*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_lap_interface.c"
59*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_me_instr_set_router.c"
60*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_me_pass.c"
61*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_memory_init.c"
62*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_multi_thrd_funcs.c"
63*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_mv_pred.c"
64*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_mv_pred_merge.c"
65*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_nbr_avail.c"
66*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_plugin.c"
67*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_profile.c"
68*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_rc_interface.c"
69*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_recur_bracketing.c"
70*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_sao.c"
71*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_stasino_helpers.c"
72*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_sub_pic_rc.c"
73*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_sys_api.c"
74*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_tile_interface.c"
75*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_trace.c"
76*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/ihevce_tu_tree_selector.c"
77*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/init_qp.c"
78*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/mb_model_based.c"
79*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal.c"
80*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal_cond_var.c"
81*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal_error.c"
82*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal_mutex.c"
83*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal_semaphore.c"
84*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/osal_thread.c"
85*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/picture_type.c"
86*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/rate_control_api.c"
87*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/rc_rd_model.c"
88*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/rc_rd_model_fix.c"
89*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/rc_sad_acc.c"
90*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/sqrt_interp.c"
91*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/var_q_operator.c"
92*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/vbr_storage_vbv.c"
93*c83a76b0SSuyog Pawar  "${HEVC_ROOT}/encoder/vbr_str_prms.c")
94*c83a76b0SSuyog Pawar
95*c83a76b0SSuyog Pawarinclude_directories(${HEVC_ROOT}/encoder)
96*c83a76b0SSuyog Pawar
97*c83a76b0SSuyog Pawar# arm/x86 sources
98*c83a76b0SSuyog Pawarif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}"
99*c83a76b0SSuyog Pawar                                                     STREQUAL "aarch32")
100*c83a76b0SSuyog Pawar  list(
101*c83a76b0SSuyog Pawar    APPEND
102*c83a76b0SSuyog Pawar    LIBHEVCENC_ASMS
103*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_coarse_layer_sad_neon.c"
104*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_coarse_layer_sad_neon.c"
105*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_common_utils_neon.c"
106*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_common_utils_neon.c"
107*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_copy_neon.c"
108*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_copy_neon.c"
109*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_decomp_pre_intra_pass_neon.c"
110*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_decomp_pre_intra_pass_neon.c"
111*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_had_compute_neon.c"
112*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_had_compute_neon.c"
113*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_hme_utils_neon.c"
114*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_hme_utils_neon.c"
115*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_itrans_recon_neon.c"
116*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_itrans_recon_neon.c"
117*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_me_neon.c"
118*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_me_neon.c"
119*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_sad_compute_neon.c"
120*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_sad_compute_neon.c"
121*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_scale_by_2_neon.c"
122*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_scale_by_2_neon.c"
123*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_scan_coeffs_neon.c"
124*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_scan_coeffs_neon.c"
125*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_ssd_and_sad_calculator_neon.c"
126*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_ssd_and_sad_calculator_neon.c"
127*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_ssd_calculator_neon.c"
128*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_ssd_calculator_neon.c"
129*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_subpel_neon.c"
130*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_subpel_neon.c"
131*c83a76b0SSuyog Pawar    "${HEVC_ROOT}/encoder/arm/ihevce_subpel_neon.c")
132*c83a76b0SSuyog Pawar
133*c83a76b0SSuyog Pawar  include_directories(${HEVC_ROOT}/encoder/arm ${HEVC_ROOT}/encoder)
134*c83a76b0SSuyog Pawarendif()
135*c83a76b0SSuyog Pawar
136*c83a76b0SSuyog Pawaradd_library(libhevcenc STATIC ${LIBHEVC_COMMON_SRCS} ${LIBHEVC_COMMON_ASMS}
137*c83a76b0SSuyog Pawar                              ${LIBHEVCENC_ASMS} ${LIBHEVCENC_SRCS})
138*c83a76b0SSuyog Pawar
139*c83a76b0SSuyog Pawartarget_compile_definitions(libhevcenc PRIVATE N_MB_ENABLE
140*c83a76b0SSuyog Pawar                                              ENABLE_MAIN_REXT_PROFILE)
141