1*495ae853SAndroid Build Coastguard Workerlist( 2*495ae853SAndroid Build Coastguard Worker APPEND 3*495ae853SAndroid Build Coastguard Worker LIBSVCENC_SRCS 4*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_bitstream.c" 5*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_cabac_init.c" 6*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_core_coding.c" 7*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_encode_header.c" 8*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_fmt_conv.c" 9*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_globals.c" 10*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_half_pel.c" 11*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_intra_modes_eval.c" 12*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_mc.c" 13*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_me.c" 14*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_modify_frm_rate.c" 15*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_rate_control.c" 16*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_rc_mem_interface.c" 17*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_sei.c" 18*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_time_stamp.c" 19*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_utils.c" 20*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ih264e_version.c" 21*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ime.c" 22*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/ime_distortion_metrics.c" 23*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_bit_allocation.c" 24*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_cbr_buffer_control.c" 25*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_est_sad.c" 26*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_fixed_point_error_bits.c" 27*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_frame_info_collector.c" 28*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_mb_model_based.c" 29*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_picture_type.c" 30*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_rate_control_api.c" 31*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_rd_model.c" 32*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_vbr_storage_vbv.c" 33*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/irc_vbr_str_prms.c" 34*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/irc_svc_rate_control_api.c" 35*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_api.c" 36*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_cabac.c" 37*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_cabac_encode.c" 38*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_cabac_init.c" 39*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_cavlc.c" 40*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_core_coding.c" 41*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_deblk.c" 42*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_downscaler.c" 43*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_encode.c" 44*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_encode_header.c" 45*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_fmt_conv.c" 46*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_function_selector_generic.c" 47*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_globals.c" 48*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_ibl_eval.c" 49*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_ilp_mv.c" 50*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_intra_modes_eval.c" 51*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_mc.c" 52*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_me.c" 53*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_mode_stat_visualiser.c" 54*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_nalu_stat_aggregator.c" 55*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_process.c" 56*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_rate_control.c" 57*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_rc_mem_interface.c" 58*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_rc_utils.c" 59*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_residual_pred.c" 60*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_sub_pic_rc.c" 61*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/svc/isvce_utils.c" 62*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/psnr.c") 63*495ae853SAndroid Build Coastguard Worker 64*495ae853SAndroid Build Coastguard Workerinclude_directories(${AVC_ROOT}/encoder) 65*495ae853SAndroid Build Coastguard Workerinclude_directories(${AVC_ROOT}/encoder/svc) 66*495ae853SAndroid Build Coastguard Worker 67*495ae853SAndroid Build Coastguard Workerif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64" OR 68*495ae853SAndroid Build Coastguard Worker "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch32") 69*495ae853SAndroid Build Coastguard Worker list( 70*495ae853SAndroid Build Coastguard Worker APPEND 71*495ae853SAndroid Build Coastguard Worker LIBSVCENC_ASMS 72*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_function_selector.c" 73*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_function_selector_a9q.c" 74*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_function_selector_av8.c" 75*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_downscaler_neon.c" 76*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_rc_utils_neon.c" 77*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/svc/isvce_residual_pred_neon.c") 78*495ae853SAndroid Build Coastguard Worker 79*495ae853SAndroid Build Coastguard Worker include_directories(${AVC_ROOT}/encoder/arm) 80*495ae853SAndroid Build Coastguard Worker include_directories(${AVC_ROOT}/encoder/arm/svc) 81*495ae853SAndroid Build Coastguard Workerendif() 82*495ae853SAndroid Build Coastguard Worker 83*495ae853SAndroid Build Coastguard Workerif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") 84*495ae853SAndroid Build Coastguard Worker list( 85*495ae853SAndroid Build Coastguard Worker APPEND 86*495ae853SAndroid Build Coastguard Worker LIBSVCENC_ASMS 87*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/armv8/ih264e_evaluate_intra16x16_modes_av8.s" 88*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/armv8/ih264e_evaluate_intra_chroma_modes_av8.s" 89*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/armv8/ih264e_half_pel_av8.s" 90*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/armv8/ime_distortion_metrics_av8.s") 91*495ae853SAndroid Build Coastguard Worker 92*495ae853SAndroid Build Coastguard Worker include_directories(${AVC_ROOT}/encoder/armv8) 93*495ae853SAndroid Build Coastguard Workerelseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch32") 94*495ae853SAndroid Build Coastguard Worker list( 95*495ae853SAndroid Build Coastguard Worker APPEND 96*495ae853SAndroid Build Coastguard Worker LIBSVCENC_ASMS 97*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra16x16_modes_a9q.s" 98*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra4x4_modes_a9q.s" 99*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra_chroma_modes_a9q.s" 100*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ih264e_fmt_conv.s" 101*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ih264e_half_pel.s" 102*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/arm/ime_distortion_metrics_a9q.s") 103*495ae853SAndroid Build Coastguard Workerelse() 104*495ae853SAndroid Build Coastguard Worker list( 105*495ae853SAndroid Build Coastguard Worker APPEND 106*495ae853SAndroid Build Coastguard Worker LIBSVCENC_SRCS 107*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ih264e_function_selector.c" 108*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ih264e_function_selector_sse42.c" 109*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ih264e_function_selector_ssse3.c" 110*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ih264e_half_pel_ssse3.c" 111*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ih264e_intra_modes_eval_ssse3.c" 112*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/ime_distortion_metrics_sse42.c" 113*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_downscaler_sse42.c" 114*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_function_selector.c" 115*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_function_selector_sse42.c" 116*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_function_selector_ssse3.c" 117*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_rc_utils_sse42.c" 118*495ae853SAndroid Build Coastguard Worker "${AVC_ROOT}/encoder/x86/svc/isvce_residual_pred_sse42.c") 119*495ae853SAndroid Build Coastguard Worker 120*495ae853SAndroid Build Coastguard Worker include_directories(${AVC_ROOT}/encoder/x86) 121*495ae853SAndroid Build Coastguard Worker include_directories(${AVC_ROOT}/encoder/x86/svc) 122*495ae853SAndroid Build Coastguard Workerendif() 123*495ae853SAndroid Build Coastguard Worker 124*495ae853SAndroid Build Coastguard Workeradd_library(libsvcenc STATIC ${LIBAVC_COMMON_SRCS} ${LIBAVC_COMMON_ASMS} 125*495ae853SAndroid Build Coastguard Worker ${LIBSVCENC_SRCS} ${LIBSVCENC_ASMS}) 126*495ae853SAndroid Build Coastguard Worker 127*495ae853SAndroid Build Coastguard Workertarget_compile_definitions(libsvcenc PRIVATE N_MB_ENABLE) 128