Ashwin Natesan | ca68f61 | 2022-01-04 13:44:43 +0530 | [diff] [blame] | 1 | # src files |
| 2 | list( |
| 3 | APPEND |
| 4 | LIBAVCENC_SRCS |
| 5 | "${AVC_ROOT}/encoder/ih264e_api.c" |
| 6 | "${AVC_ROOT}/encoder/ih264e_bitstream.c" |
| 7 | "${AVC_ROOT}/encoder/ih264e_cabac.c" |
| 8 | "${AVC_ROOT}/encoder/ih264e_cabac_encode.c" |
| 9 | "${AVC_ROOT}/encoder/ih264e_cabac_init.c" |
| 10 | "${AVC_ROOT}/encoder/ih264e_cavlc.c" |
| 11 | "${AVC_ROOT}/encoder/ih264e_core_coding.c" |
| 12 | "${AVC_ROOT}/encoder/ih264e_deblk.c" |
| 13 | "${AVC_ROOT}/encoder/ih264e_encode.c" |
| 14 | "${AVC_ROOT}/encoder/ih264e_encode_header.c" |
| 15 | "${AVC_ROOT}/encoder/ih264e_fmt_conv.c" |
| 16 | "${AVC_ROOT}/encoder/ih264e_function_selector_generic.c" |
| 17 | "${AVC_ROOT}/encoder/ih264e_globals.c" |
| 18 | "${AVC_ROOT}/encoder/ih264e_half_pel.c" |
| 19 | "${AVC_ROOT}/encoder/ih264e_intra_modes_eval.c" |
| 20 | "${AVC_ROOT}/encoder/ih264e_mc.c" |
| 21 | "${AVC_ROOT}/encoder/ih264e_me.c" |
| 22 | "${AVC_ROOT}/encoder/ih264e_modify_frm_rate.c" |
| 23 | "${AVC_ROOT}/encoder/ih264e_process.c" |
| 24 | "${AVC_ROOT}/encoder/ih264e_rate_control.c" |
| 25 | "${AVC_ROOT}/encoder/ih264e_rc_mem_interface.c" |
| 26 | "${AVC_ROOT}/encoder/ih264e_sei.c" |
| 27 | "${AVC_ROOT}/encoder/ih264e_time_stamp.c" |
| 28 | "${AVC_ROOT}/encoder/ih264e_utils.c" |
| 29 | "${AVC_ROOT}/encoder/ih264e_version.c" |
| 30 | "${AVC_ROOT}/encoder/ime.c" |
| 31 | "${AVC_ROOT}/encoder/ime_distortion_metrics.c" |
| 32 | "${AVC_ROOT}/encoder/irc_bit_allocation.c" |
| 33 | "${AVC_ROOT}/encoder/irc_cbr_buffer_control.c" |
| 34 | "${AVC_ROOT}/encoder/irc_est_sad.c" |
| 35 | "${AVC_ROOT}/encoder/irc_fixed_point_error_bits.c" |
| 36 | "${AVC_ROOT}/encoder/irc_frame_info_collector.c" |
| 37 | "${AVC_ROOT}/encoder/irc_mb_model_based.c" |
| 38 | "${AVC_ROOT}/encoder/irc_picture_type.c" |
| 39 | "${AVC_ROOT}/encoder/irc_rate_control_api.c" |
| 40 | "${AVC_ROOT}/encoder/irc_rd_model.c" |
| 41 | "${AVC_ROOT}/encoder/irc_vbr_storage_vbv.c" |
| 42 | "${AVC_ROOT}/encoder/irc_vbr_str_prms.c") |
| 43 | |
| 44 | include_directories(${AVC_ROOT}/encoder) |
| 45 | |
| 46 | if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") |
| 47 | list( |
| 48 | APPEND |
| 49 | LIBAVCENC_ASMS |
| 50 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector.c" |
| 51 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector_a9q.c" |
| 52 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector_av8.c" |
| 53 | "${AVC_ROOT}/encoder/armv8/ih264e_evaluate_intra16x16_modes_av8.s" |
| 54 | "${AVC_ROOT}/encoder/armv8/ih264e_evaluate_intra_chroma_modes_av8.s" |
| 55 | "${AVC_ROOT}/encoder/armv8/ih264e_half_pel_av8.s" |
| 56 | "${AVC_ROOT}/encoder/armv8/ime_distortion_metrics_av8.s") |
| 57 | |
| 58 | include_directories(${AVC_ROOT}/encoder/armv8) |
| 59 | elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch32") |
| 60 | list( |
| 61 | APPEND |
| 62 | LIBAVCENC_ASMS |
| 63 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector.c" |
| 64 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector_a9q.c" |
| 65 | "${AVC_ROOT}/encoder/arm/ih264e_function_selector_av8.c" |
| 66 | "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra16x16_modes_a9q.s" |
| 67 | "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra4x4_modes_a9q.s" |
| 68 | "${AVC_ROOT}/encoder/arm/ih264e_evaluate_intra_chroma_modes_a9q.s" |
| 69 | "${AVC_ROOT}/encoder/arm/ih264e_fmt_conv.s" |
| 70 | "${AVC_ROOT}/encoder/arm/ih264e_half_pel.s" |
| 71 | "${AVC_ROOT}/encoder/arm/ime_distortion_metrics_a9q.s") |
| 72 | |
| 73 | include_directories(${AVC_ROOT}/encoder/armv8) |
| 74 | else() |
| 75 | list( |
| 76 | APPEND |
| 77 | LIBAVCENC_SRCS |
| 78 | "${AVC_ROOT}/encoder/x86/ih264e_function_selector.c" |
| 79 | "${AVC_ROOT}/encoder/x86/ih264e_function_selector_sse42.c" |
| 80 | "${AVC_ROOT}/encoder/x86/ih264e_function_selector_ssse3.c" |
| 81 | "${AVC_ROOT}/encoder/x86/ih264e_half_pel_ssse3.c" |
| 82 | "${AVC_ROOT}/encoder/x86/ih264e_intra_modes_eval_ssse3.c" |
| 83 | "${AVC_ROOT}/encoder/x86/ime_distortion_metrics_sse42.c") |
| 84 | |
| 85 | include_directories(${AVC_ROOT}/encoder/x86) |
| 86 | endif() |
| 87 | |
| 88 | add_library(libavcenc STATIC ${LIBAVC_COMMON_SRCS} ${LIBAVC_COMMON_ASMS} |
| 89 | ${LIBAVCENC_SRCS} ${LIBAVCENC_ASMS}) |
| 90 | |
| 91 | target_compile_definitions(libavcenc PRIVATE N_MB_ENABLE) |