diff --git a/dependencies/ih264d/CMakeLists.txt b/dependencies/ih264d/CMakeLists.txt index 686a9d08..64ac0931 100644 --- a/dependencies/ih264d/CMakeLists.txt +++ b/dependencies/ih264d/CMakeLists.txt @@ -183,6 +183,9 @@ target_sources(ih264d PRIVATE "decoder/arm/ih264d_function_selector.c" ) target_compile_options(ih264d PRIVATE -DARMV8) +if(APPLE) + target_sources(ih264d PRIVATE "common/armv8/macos_arm_symbol_aliases.s") +endif() else() message(FATAL_ERROR "ih264d unknown architecture: ${IH264D_ARCHITECTURE}") endif() diff --git a/dependencies/ih264d/common/armv8/ih264_intra_pred_chroma_av8.s b/dependencies/ih264d/common/armv8/ih264_intra_pred_chroma_av8.s index cee1b7e3..c0d9cf99 100644 --- a/dependencies/ih264d/common/armv8/ih264_intra_pred_chroma_av8.s +++ b/dependencies/ih264d/common/armv8/ih264_intra_pred_chroma_av8.s @@ -429,7 +429,7 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8: rev64 v7.4h, v2.4h ld1 {v3.2s}, [x10] sub x5, x3, #8 -#if defined(__APPLE__) && defined(__aarch64__) +#ifdef __APPLE__ adrp x12, _ih264_gai1_intrapred_chroma_plane_coeffs1@GOTPAGE ldr x12, [x12, _ih264_gai1_intrapred_chroma_plane_coeffs1@GOTPAGEOFF] #else @@ -489,7 +489,7 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8: zip1 v1.8h, v0.8h, v2.8h zip2 v2.8h, v0.8h, v2.8h mov v0.16b, v1.16b -#if defined(__APPLE__) && defined(__aarch64__) +#ifdef __APPLE__ adrp x12, _ih264_gai1_intrapred_chroma_plane_coeffs2@GOTPAGE ldr x12, [x12, _ih264_gai1_intrapred_chroma_plane_coeffs2@GOTPAGEOFF] #else diff --git a/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_16x16_av8.s b/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_16x16_av8.s index 99a95a13..2422d8cd 100644 --- a/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_16x16_av8.s +++ b/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_16x16_av8.s @@ -431,9 +431,9 @@ ih264_intra_pred_luma_16x16_mode_plane_av8: mov x10, x1 //top_left mov x4, #-1 ld1 {v2.2s}, [x1], x8 -#if defined(__APPLE__) && defined(__aarch64__) +#ifdef __APPLE__ adrp x7, _ih264_gai1_intrapred_luma_plane_coeffs@GOTPAGE - ldr x7, [x7, #_ih264_gai1_intrapred_luma_plane_coeffs@GOTPAGEOFF] + ldr x7, [x7, _ih264_gai1_intrapred_luma_plane_coeffs@GOTPAGEOFF] #else adrp x7, :got:ih264_gai1_intrapred_luma_plane_coeffs ldr x7, [x7, #:got_lo12:ih264_gai1_intrapred_luma_plane_coeffs] diff --git a/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_8x8_av8.s b/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_8x8_av8.s index d320ccb0..6fa31ded 100644 --- a/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_8x8_av8.s +++ b/dependencies/ih264d/common/armv8/ih264_intra_pred_luma_8x8_av8.s @@ -1029,8 +1029,7 @@ ih264_intra_pred_luma_8x8_mode_horz_u_av8: mov v3.d[0], v2.d[1] ext v4.16b, v2.16b , v2.16b , #1 mov v5.d[0], v4.d[1] - -#if defined(__APPLE__) && defined(__aarch64__) +#ifdef __APPLE__ adrp x12, _ih264_gai1_intrapred_luma_8x8_horz_u@GOTPAGE ldr x12, [x12, _ih264_gai1_intrapred_luma_8x8_horz_u@GOTPAGEOFF] #else diff --git a/dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s b/dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s new file mode 100644 index 00000000..3639f1b3 --- /dev/null +++ b/dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s @@ -0,0 +1,185 @@ +// macOS clang compilers append preceding underscores to function names, this is to prevent +// mismatches with the assembly function names and the C functions as defined in the header. + +.global _ih264_deblk_chroma_horz_bs4_av8 +_ih264_deblk_chroma_horz_bs4_av8 = ih264_deblk_chroma_horz_bs4_av8 + +.global _ih264_deblk_chroma_horz_bslt4_av8 +_ih264_deblk_chroma_horz_bslt4_av8 = ih264_deblk_chroma_horz_bslt4_av8 + +.global _ih264_deblk_chroma_vert_bs4_av8 +_ih264_deblk_chroma_vert_bs4_av8 = ih264_deblk_chroma_vert_bs4_av8 + +.global _ih264_deblk_chroma_vert_bslt4_av8 +_ih264_deblk_chroma_vert_bslt4_av8 = ih264_deblk_chroma_vert_bslt4_av8 + +.global _ih264_deblk_luma_horz_bs4_av8 +_ih264_deblk_luma_horz_bs4_av8 = ih264_deblk_luma_horz_bs4_av8 + +.global _ih264_deblk_luma_horz_bslt4_av8 +_ih264_deblk_luma_horz_bslt4_av8 = ih264_deblk_luma_horz_bslt4_av8 + +.global _ih264_deblk_luma_vert_bs4_av8 +_ih264_deblk_luma_vert_bs4_av8 = ih264_deblk_luma_vert_bs4_av8 + +.global _ih264_deblk_luma_vert_bslt4_av8 +_ih264_deblk_luma_vert_bslt4_av8 = ih264_deblk_luma_vert_bslt4_av8 + +.global _ih264_default_weighted_pred_chroma_av8 +_ih264_default_weighted_pred_chroma_av8 = ih264_default_weighted_pred_chroma_av8 + +.global _ih264_default_weighted_pred_luma_av8 +_ih264_default_weighted_pred_luma_av8 = ih264_default_weighted_pred_luma_av8 + +.global _ih264_ihadamard_scaling_4x4_av8 +_ih264_ihadamard_scaling_4x4_av8 = ih264_ihadamard_scaling_4x4_av8 + +.global _ih264_inter_pred_chroma_av8 +_ih264_inter_pred_chroma_av8 = ih264_inter_pred_chroma_av8 + +.global _ih264_inter_pred_luma_copy_av8 +_ih264_inter_pred_luma_copy_av8 = ih264_inter_pred_luma_copy_av8 + +.global _ih264_inter_pred_luma_horz_av8 +_ih264_inter_pred_luma_horz_av8 = ih264_inter_pred_luma_horz_av8 + +.global _ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 +_ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 = ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 + +.global _ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 +_ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 = ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 + +.global _ih264_inter_pred_luma_horz_qpel_av8 +_ih264_inter_pred_luma_horz_qpel_av8 = ih264_inter_pred_luma_horz_qpel_av8 + +.global _ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 +_ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 = ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 + +.global _ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 +_ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 = ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 + +.global _ih264_inter_pred_luma_vert_av8 +_ih264_inter_pred_luma_vert_av8 = ih264_inter_pred_luma_vert_av8 + +.global _ih264_inter_pred_luma_vert_qpel_av8 +_ih264_inter_pred_luma_vert_qpel_av8 = ih264_inter_pred_luma_vert_qpel_av8 + +.global _ih264_intra_pred_chroma_8x8_mode_horz_av8 +_ih264_intra_pred_chroma_8x8_mode_horz_av8 = ih264_intra_pred_chroma_8x8_mode_horz_av8 + +.global _ih264_intra_pred_chroma_8x8_mode_plane_av8 +_ih264_intra_pred_chroma_8x8_mode_plane_av8 = ih264_intra_pred_chroma_8x8_mode_plane_av8 + +.global _ih264_intra_pred_chroma_8x8_mode_vert_av8 +_ih264_intra_pred_chroma_8x8_mode_vert_av8 = ih264_intra_pred_chroma_8x8_mode_vert_av8 + +.global _ih264_intra_pred_luma_16x16_mode_dc_av8 +_ih264_intra_pred_luma_16x16_mode_dc_av8 = ih264_intra_pred_luma_16x16_mode_dc_av8 + +.global _ih264_intra_pred_luma_16x16_mode_horz_av8 +_ih264_intra_pred_luma_16x16_mode_horz_av8 = ih264_intra_pred_luma_16x16_mode_horz_av8 + +.global _ih264_intra_pred_luma_16x16_mode_plane_av8 +_ih264_intra_pred_luma_16x16_mode_plane_av8 = ih264_intra_pred_luma_16x16_mode_plane_av8 + +.global _ih264_intra_pred_luma_16x16_mode_vert_av8 +_ih264_intra_pred_luma_16x16_mode_vert_av8 = ih264_intra_pred_luma_16x16_mode_vert_av8 + +.global _ih264_intra_pred_luma_4x4_mode_dc_av8 +_ih264_intra_pred_luma_4x4_mode_dc_av8 = ih264_intra_pred_luma_4x4_mode_dc_av8 + +.global _ih264_intra_pred_luma_4x4_mode_diag_dl_av8 +_ih264_intra_pred_luma_4x4_mode_diag_dl_av8 = ih264_intra_pred_luma_4x4_mode_diag_dl_av8 + +.global _ih264_intra_pred_luma_4x4_mode_diag_dr_av8 +_ih264_intra_pred_luma_4x4_mode_diag_dr_av8 = ih264_intra_pred_luma_4x4_mode_diag_dr_av8 + +.global _ih264_intra_pred_luma_4x4_mode_horz_av8 +_ih264_intra_pred_luma_4x4_mode_horz_av8 = ih264_intra_pred_luma_4x4_mode_horz_av8 + +.global _ih264_intra_pred_luma_4x4_mode_horz_d_av8 +_ih264_intra_pred_luma_4x4_mode_horz_d_av8 = ih264_intra_pred_luma_4x4_mode_horz_d_av8 + +.global _ih264_intra_pred_luma_4x4_mode_horz_u_av8 +_ih264_intra_pred_luma_4x4_mode_horz_u_av8 = ih264_intra_pred_luma_4x4_mode_horz_u_av8 + +.global _ih264_intra_pred_luma_4x4_mode_vert_av8 +_ih264_intra_pred_luma_4x4_mode_vert_av8 = ih264_intra_pred_luma_4x4_mode_vert_av8 + +.global _ih264_intra_pred_luma_4x4_mode_vert_l_av8 +_ih264_intra_pred_luma_4x4_mode_vert_l_av8 = ih264_intra_pred_luma_4x4_mode_vert_l_av8 + +.global _ih264_intra_pred_luma_4x4_mode_vert_r_av8 +_ih264_intra_pred_luma_4x4_mode_vert_r_av8 = ih264_intra_pred_luma_4x4_mode_vert_r_av8 + +.global _ih264_intra_pred_luma_8x8_mode_dc_av8 +_ih264_intra_pred_luma_8x8_mode_dc_av8 = ih264_intra_pred_luma_8x8_mode_dc_av8 + +.global _ih264_intra_pred_luma_8x8_mode_diag_dl_av8 +_ih264_intra_pred_luma_8x8_mode_diag_dl_av8 = ih264_intra_pred_luma_8x8_mode_diag_dl_av8 + +.global _ih264_intra_pred_luma_8x8_mode_diag_dr_av8 +_ih264_intra_pred_luma_8x8_mode_diag_dr_av8 = ih264_intra_pred_luma_8x8_mode_diag_dr_av8 + +.global _ih264_intra_pred_luma_8x8_mode_horz_av8 +_ih264_intra_pred_luma_8x8_mode_horz_av8 = ih264_intra_pred_luma_8x8_mode_horz_av8 + +.global _ih264_intra_pred_luma_8x8_mode_horz_d_av8 +_ih264_intra_pred_luma_8x8_mode_horz_d_av8 = ih264_intra_pred_luma_8x8_mode_horz_d_av8 + +.global _ih264_intra_pred_luma_8x8_mode_horz_u_av8 +_ih264_intra_pred_luma_8x8_mode_horz_u_av8 = ih264_intra_pred_luma_8x8_mode_horz_u_av8 + +.global _ih264_intra_pred_luma_8x8_mode_vert_av8 +_ih264_intra_pred_luma_8x8_mode_vert_av8 = ih264_intra_pred_luma_8x8_mode_vert_av8 + +.global _ih264_intra_pred_luma_8x8_mode_vert_l_av8 +_ih264_intra_pred_luma_8x8_mode_vert_l_av8 = ih264_intra_pred_luma_8x8_mode_vert_l_av8 + +.global _ih264_intra_pred_luma_8x8_mode_vert_r_av8 +_ih264_intra_pred_luma_8x8_mode_vert_r_av8 = ih264_intra_pred_luma_8x8_mode_vert_r_av8 + +.global _ih264_iquant_itrans_recon_4x4_av8 +_ih264_iquant_itrans_recon_4x4_av8 = ih264_iquant_itrans_recon_4x4_av8 + +.global _ih264_iquant_itrans_recon_4x4_dc_av8 +_ih264_iquant_itrans_recon_4x4_dc_av8 = ih264_iquant_itrans_recon_4x4_dc_av8 + +.global _ih264_iquant_itrans_recon_8x8_av8 +_ih264_iquant_itrans_recon_8x8_av8 = ih264_iquant_itrans_recon_8x8_av8 + +.global _ih264_iquant_itrans_recon_8x8_dc_av8 +_ih264_iquant_itrans_recon_8x8_dc_av8 = ih264_iquant_itrans_recon_8x8_dc_av8 + +.global _ih264_iquant_itrans_recon_chroma_4x4_av8 +_ih264_iquant_itrans_recon_chroma_4x4_av8 = ih264_iquant_itrans_recon_chroma_4x4_av8 + +.global _ih264_iquant_itrans_recon_chroma_4x4_dc_av8 +_ih264_iquant_itrans_recon_chroma_4x4_dc_av8 = ih264_iquant_itrans_recon_chroma_4x4_dc_av8 + +.global _ih264_pad_left_chroma_av8 +_ih264_pad_left_chroma_av8 = ih264_pad_left_chroma_av8 + +.global _ih264_pad_left_luma_av8 +_ih264_pad_left_luma_av8 = ih264_pad_left_luma_av8 + +.global _ih264_pad_right_chroma_av8 +_ih264_pad_right_chroma_av8 = ih264_pad_right_chroma_av8 + +.global _ih264_pad_right_luma_av8 +_ih264_pad_right_luma_av8 = ih264_pad_right_luma_av8 + +.global _ih264_pad_top_av8 +_ih264_pad_top_av8 = ih264_pad_top_av8 + +.global _ih264_weighted_bi_pred_chroma_av8 +_ih264_weighted_bi_pred_chroma_av8 = ih264_weighted_bi_pred_chroma_av8 + +.global _ih264_weighted_bi_pred_luma_av8 +_ih264_weighted_bi_pred_luma_av8 = ih264_weighted_bi_pred_luma_av8 + +.global _ih264_weighted_pred_chroma_av8 +_ih264_weighted_pred_chroma_av8 = ih264_weighted_pred_chroma_av8 + +.global _ih264_weighted_pred_luma_av8 +_ih264_weighted_pred_luma_av8 = ih264_weighted_pred_luma_av8 \ No newline at end of file diff --git a/dependencies/ih264d/common/ih264_deblk_edge_filters.h b/dependencies/ih264d/common/ih264_deblk_edge_filters.h index 17ccee3d..4079dd2c 100644 --- a/dependencies/ih264d/common/ih264_deblk_edge_filters.h +++ b/dependencies/ih264d/common/ih264_deblk_edge_filters.h @@ -41,31 +41,19 @@ /* Extern Function Declarations */ /*****************************************************************************/ -typedef void _ih264_deblk_edge_bslt4_ft(UWORD8 *pu1_src, +typedef void ih264_deblk_edge_bslt4_ft(UWORD8 *pu1_src, WORD32 src_strd, WORD32 alpha, WORD32 beta, UWORD32 u4_bs, const UWORD8 *pu1_cliptab ); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_deblk_edge_bslt4_ft(arg) _ih264_deblk_edge_bslt4_ft arg __asm__(#arg); -#else -#define ih264_deblk_edge_bslt4_ft(arg) _ih264_deblk_edge_bslt4_ft arg; -#endif - -typedef void _ih264_deblk_edge_bs4_ft(UWORD8 *pu1_src, +typedef void ih264_deblk_edge_bs4_ft(UWORD8 *pu1_src, WORD32 src_strd, WORD32 alpha, WORD32 beta ); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_deblk_edge_bs4_ft(arg) _ih264_deblk_edge_bs4_ft arg __asm__(#arg); -#else -#define ih264_deblk_edge_bs4_ft(arg) _ih264_deblk_edge_bs4_ft arg; -#endif - -typedef void _ih264_deblk_chroma_edge_bslt4_ft(UWORD8 *pu1_src, +typedef void ih264_deblk_chroma_edge_bslt4_ft(UWORD8 *pu1_src, WORD32 src_strd, WORD32 alpha_cb, WORD32 beta_cb, @@ -75,143 +63,133 @@ typedef void _ih264_deblk_chroma_edge_bslt4_ft(UWORD8 *pu1_src, const UWORD8 *pu1_cliptab_cb, const UWORD8 *pu1_cliptab_cr); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_deblk_chroma_edge_bslt4_ft(arg) _ih264_deblk_chroma_edge_bslt4_ft arg __asm__(#arg); -#else -#define ih264_deblk_chroma_edge_bslt4_ft(arg) _ih264_deblk_chroma_edge_bslt4_ft arg; -#endif - -typedef void _ih264_deblk_chroma_edge_bs4_ft(UWORD8 *pu1_src, +typedef void ih264_deblk_chroma_edge_bs4_ft(UWORD8 *pu1_src, WORD32 src_strd, WORD32 alpha_cb, WORD32 beta_cb, WORD32 alpha_cr, WORD32 beta_cr); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_deblk_chroma_edge_bs4_ft(arg) _ih264_deblk_chroma_edge_bs4_ft arg __asm__(#arg); -#else -#define ih264_deblk_chroma_edge_bs4_ft(arg) _ih264_deblk_chroma_edge_bs4_ft arg; -#endif - -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_horz_bs4); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_mbaff); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_bp); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_bp); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_bp); +ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_mbaff; -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_horz_bslt4); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_mbaff); +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_horz_bs4_bp; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_bp; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_bp; -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_bp); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_bp); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_bp); +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_horz_bslt4; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_mbaff; -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_mbaff); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_mbaff); +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_bp; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_bp; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_bp; + +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_mbaff; + +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_mbaff; /*A9*/ -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_horz_bs4_a9); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_a9); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_mbaff_a9); +ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_a9; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_a9; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_mbaff_a9; -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_bp_a9); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_bp_a9); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_bp_a9); +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_horz_bs4_bp_a9; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_bp_a9; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_bp_a9; -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_horz_bslt4_a9); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_a9); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_mbaff_a9); +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_horz_bslt4_a9; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_a9; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_mbaff_a9; -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_bp_a9); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_bp_a9); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_bp_a9); +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_bp_a9; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_bp_a9; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_bp_a9; -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_a9); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_a9); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_a9); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_mbaff_a9); +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_a9; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_a9; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_a9; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_mbaff_a9; -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_a9); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_a9); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_a9); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_mbaff_a9); +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_a9; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_a9; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_a9; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_mbaff_a9; /*AV8*/ -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_horz_bs4_av8); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_av8); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_mbaff_av8); +ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_av8; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_av8; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_mbaff_av8; -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_bp_av8); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_bp_av8); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_bp_av8); +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_horz_bs4_bp_av8; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_bp_av8; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_bp_av8; -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_horz_bslt4_av8); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_av8); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_mbaff_av8); +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_horz_bslt4_av8; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_av8; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_mbaff_av8; -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_bp_av8); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_bp_av8); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_bp_av8); +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_bp_av8; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_bp_av8; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_bp_av8; -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_av8); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_av8); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_av8); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_mbaff_av8); +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_av8; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_av8; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_av8; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_mbaff_av8; -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_av8); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_av8); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_av8); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_mbaff_av8); +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_av8; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_av8; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_av8; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_mbaff_av8; /*SSE3*/ -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_horz_bs4_ssse3); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_ssse3); -ih264_deblk_edge_bs4_ft(ih264_deblk_luma_vert_bs4_mbaff_ssse3); +ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_ssse3; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_ssse3; +ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_mbaff_ssse3; -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_bp_ssse3); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_bp_ssse3); -ih264_deblk_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_bp_ssse3); +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_horz_bs4_bp_ssse3; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_bp_ssse3; +ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_bp_ssse3; -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_horz_bslt4_ssse3); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_ssse3); -ih264_deblk_edge_bslt4_ft(ih264_deblk_luma_vert_bslt4_mbaff_ssse3); +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_horz_bslt4_ssse3; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_ssse3; +ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_mbaff_ssse3; -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_bp_ssse3); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_bp_ssse3); -ih264_deblk_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_bp_ssse3); +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_bp_ssse3; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_bp_ssse3; +ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_bp_ssse3; -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_ssse3); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_ssse3); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_vert_bs4_mbaff_ssse3); -ih264_deblk_chroma_edge_bs4_ft(ih264_deblk_chroma_horz_bs4_mbaff_ssse3); +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_ssse3; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_ssse3; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_vert_bs4_mbaff_ssse3; +ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_mbaff_ssse3; -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_ssse3); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_ssse3); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_vert_bslt4_mbaff_ssse3); -ih264_deblk_chroma_edge_bslt4_ft(ih264_deblk_chroma_horz_bslt4_mbaff_ssse3); +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_ssse3; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_ssse3; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_mbaff_ssse3; +ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_mbaff_ssse3; #endif /* IH264_DEBLK_H_ */ diff --git a/dependencies/ih264d/common/ih264_inter_pred_filters.h b/dependencies/ih264d/common/ih264_inter_pred_filters.h index a727345b..c439ab84 100644 --- a/dependencies/ih264d/common/ih264_inter_pred_filters.h +++ b/dependencies/ih264d/common/ih264_inter_pred_filters.h @@ -100,7 +100,7 @@ extern const WORD32 ih264_g_six_tap[3];/* coefficients for 6 tap filtering*/ /* Extern Function Declarations */ /*****************************************************************************/ -typedef void _ih264_inter_pred_luma_ft(UWORD8 *pu1_src, +typedef void ih264_inter_pred_luma_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst, WORD32 src_strd, WORD32 dst_strd, @@ -109,26 +109,14 @@ typedef void _ih264_inter_pred_luma_ft(UWORD8 *pu1_src, UWORD8* pu1_tmp, WORD32 dydx); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_inter_pred_luma_ft(arg) _ih264_inter_pred_luma_ft arg __asm__(#arg); -#else -#define ih264_inter_pred_luma_ft(arg) _ih264_inter_pred_luma_ft arg; -#endif - -typedef void _ih264_interleave_copy_ft(UWORD8 *pu1_src, +typedef void ih264_interleave_copy_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst, WORD32 src_strd, WORD32 dst_strd, WORD32 ht, WORD32 wd); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_interleave_copy_ft(arg) _ih264_interleave_copy_ft arg __asm__(#arg); -#else -#define ih264_interleave_copy_ft(arg) _ih264_interleave_copy_ft arg; -#endif - -typedef void _ih264_inter_pred_luma_bilinear_ft(UWORD8 *pu1_src1, +typedef void ih264_inter_pred_luma_bilinear_ft(UWORD8 *pu1_src1, UWORD8 *pu1_src2, UWORD8 *pu1_dst, WORD32 src_strd1, @@ -137,13 +125,7 @@ typedef void _ih264_inter_pred_luma_bilinear_ft(UWORD8 *pu1_src1, WORD32 height, WORD32 width); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_inter_pred_luma_bilinear_ft(arg) _ih264_inter_pred_luma_bilinear_ft arg __asm__(#arg); -#else -#define ih264_inter_pred_luma_bilinear_ft(arg) _ih264_inter_pred_luma_bilinear_ft arg; -#endif - -typedef void _ih264_inter_pred_chroma_ft(UWORD8 *pu1_src, +typedef void ih264_inter_pred_chroma_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst, WORD32 src_strd, WORD32 dst_strd, @@ -152,113 +134,107 @@ typedef void _ih264_inter_pred_chroma_ft(UWORD8 *pu1_src, WORD32 ht, WORD32 wd); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_inter_pred_chroma_ft(arg) _ih264_inter_pred_chroma_ft arg __asm__(#arg); -#else -#define ih264_inter_pred_chroma_ft(arg) _ih264_inter_pred_chroma_ft arg; -#endif - /* No NEON Declarations */ -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_copy); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_copy; -ih264_interleave_copy_ft(ih264_interleave_copy); +ih264_interleave_copy_ft ih264_interleave_copy; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_hpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_hpel; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_qpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_qpel; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_qpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_qpel; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_hpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_hpel; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_qpel); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_qpel; -ih264_inter_pred_luma_bilinear_ft(ih264_inter_pred_luma_bilinear); +ih264_inter_pred_luma_bilinear_ft ih264_inter_pred_luma_bilinear; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma; /* A9 NEON Declarations */ -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_copy_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_copy_a9q; -ih264_interleave_copy_ft(ih264_interleave_copy_a9); +ih264_interleave_copy_ft ih264_interleave_copy_a9; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_a9q; -ih264_inter_pred_luma_bilinear_ft(ih264_inter_pred_luma_bilinear_a9q); +ih264_inter_pred_luma_bilinear_ft ih264_inter_pred_luma_bilinear_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_hpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_hpel_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_qpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_qpel_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_qpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_qpel_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_hpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_hpel_a9q; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_qpel_a9q); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_qpel_a9q; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma_a9q); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_a9q; /* AV8 NEON Declarations */ -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_copy_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_copy_av8; -ih264_interleave_copy_ft(ih264_interleave_copy_av8); +ih264_interleave_copy_ft ih264_interleave_copy_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_hpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_hpel_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_qpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_qpel_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_qpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_qpel_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_hpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_hpel_av8; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_qpel_av8); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_qpel_av8; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma_av8); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_av8; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma_dx_zero_av8); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_dx_zero_av8; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma_dy_zero_av8); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_dy_zero_av8; /* SSSE3 Intrinsic Declarations */ -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_copy_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_copy_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_ssse3; -ih264_inter_pred_luma_bilinear_ft(ih264_inter_pred_luma_bilinear_ssse3); +ih264_inter_pred_luma_bilinear_ft ih264_inter_pred_luma_bilinear_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_hpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_hpel_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_vert_qpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_qpel_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_qpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_qpel_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_qpel_vert_hpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_qpel_vert_hpel_ssse3; -ih264_inter_pred_luma_ft(ih264_inter_pred_luma_horz_hpel_vert_qpel_ssse3); +ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_hpel_vert_qpel_ssse3; -ih264_inter_pred_chroma_ft(ih264_inter_pred_chroma_ssse3); +ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_ssse3; #endif diff --git a/dependencies/ih264d/common/ih264_intra_pred_filters.h b/dependencies/ih264d/common/ih264_intra_pred_filters.h index 526df6ab..caf6b335 100644 --- a/dependencies/ih264d/common/ih264_intra_pred_filters.h +++ b/dependencies/ih264d/common/ih264_intra_pred_filters.h @@ -61,284 +61,271 @@ extern const WORD8 ih264_gai1_intrapred_luma_8x8_horz_u[]; /*****************************************************************************/ -typedef void _ih264_intra_pred_ref_filtering_ft(UWORD8 *pu1_left, +typedef void ih264_intra_pred_ref_filtering_ft(UWORD8 *pu1_left, UWORD8 *pu1_topleft, UWORD8 *pu1_top, UWORD8 *pu1_dst, WORD32 left_strd, WORD32 ngbr_avail); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_intra_pred_ref_filtering_ft(arg) _ih264_intra_pred_ref_filtering_ft arg __asm__(#arg); -#else -#define ih264_intra_pred_ref_filtering_ft(arg) _ih264_intra_pred_ref_filtering_ft arg; -#endif - -typedef void _ih264_intra_pred_luma_ft(UWORD8 *pu1_src, +typedef void ih264_intra_pred_luma_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst, WORD32 src_strd, WORD32 dst_strd, WORD32 ngbr_avail); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_intra_pred_luma_ft(arg) _ih264_intra_pred_luma_ft arg __asm__(#arg); -#else -#define ih264_intra_pred_luma_ft(arg) _ih264_intra_pred_luma_ft arg; -#endif - /* No Neon Definitions */ /* Luma 4x4 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_dc); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_dc; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dl); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dl; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dr); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dr; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_r); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_r; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_d); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_d; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_l); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_l; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_u); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_u; /* Luma 8x8 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_dc); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_dc; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dl); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dl; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dr); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dr; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_r); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_r; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_d); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_d; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_l); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_l; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_u); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_u; /* Luma 16x16 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_vert); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_vert; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_horz); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_horz; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_dc); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_dc; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_plane); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_plane; /* Chroma 8x8 Intra pred filters */ -typedef _ih264_intra_pred_luma_ft _ih264_intra_pred_chroma_ft; -#define ih264_intra_pred_chroma_ft(arg) ih264_intra_pred_luma_ft(arg); +typedef ih264_intra_pred_luma_ft ih264_intra_pred_chroma_ft; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_dc); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_dc; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_horz); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_horz; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_vert); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_vert; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_plane); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_plane; -ih264_intra_pred_ref_filtering_ft(ih264_intra_pred_luma_8x8_mode_ref_filtering); +ih264_intra_pred_ref_filtering_ft ih264_intra_pred_luma_8x8_mode_ref_filtering; /* A9 Definition */ /* Luma 4x4 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_dc_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_dc_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dl_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dl_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dr_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dr_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_r_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_r_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_d_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_d_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_l_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_l_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_u_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_u_a9q; /* Luma 8x8 Intra pred filters */ -ih264_intra_pred_ref_filtering_ft(ih264_intra_pred_luma_8x8_mode_ref_filtering_a9q); +ih264_intra_pred_ref_filtering_ft ih264_intra_pred_luma_8x8_mode_ref_filtering_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_dc_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_dc_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dl_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dl_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dr_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dr_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_r_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_r_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_d_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_d_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_l_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_l_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_u_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_u_a9q; /* Luma 16x16 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_vert_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_vert_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_horz_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_horz_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_dc_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_dc_a9q; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_plane_a9q); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_plane_a9q; /* Chroma 8x8 Intra pred filters */ -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_dc_a9q); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_dc_a9q; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_horz_a9q); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_horz_a9q; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_vert_a9q); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_vert_a9q; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_plane_a9q); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_plane_a9q; /* X86 Intrinsic Definitions */ /* Luma 4x4 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_dc_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_dc_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dl_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dl_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dr_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dr_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_r_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_r_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_d_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_d_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_l_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_l_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_u_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_u_ssse3; /* Luma 8x8 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_dc_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_dc_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dl_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dl_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dr_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dr_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_r_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_r_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_d_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_d_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_l_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_l_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_u_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_u_ssse3; /* Luma 16x16 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_vert_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_vert_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_horz_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_horz_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_dc_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_dc_ssse3; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_plane_ssse3); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_plane_ssse3; /* Chroma 8x8 Intra pred filters */ -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_dc_ssse3); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_dc_ssse3; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_horz_ssse3); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_horz_ssse3; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_vert_ssse3); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_vert_ssse3; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_plane_ssse3); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_plane_ssse3; /* AV8 Definition */ /* Luma 4x4 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_dc_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_dc_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dl_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dl_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_diag_dr_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_diag_dr_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_r_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_r_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_d_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_d_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_vert_l_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_l_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_4x4_mode_horz_u_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_horz_u_av8; /* Luma 8x8 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_dc_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_dc_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dl_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dl_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_diag_dr_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_diag_dr_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_r_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_r_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_d_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_d_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_vert_l_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_l_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_8x8_mode_horz_u_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_horz_u_av8; /* Luma 16x16 Intra pred filters */ -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_vert_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_vert_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_horz_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_horz_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_dc_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_dc_av8; -ih264_intra_pred_luma_ft(ih264_intra_pred_luma_16x16_mode_plane_av8); +ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_plane_av8; /* Chroma 8x8 Intra pred filters */ -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_dc_av8); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_dc_av8; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_horz_av8); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_horz_av8; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_vert_av8); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_vert_av8; -ih264_intra_pred_chroma_ft(ih264_intra_pred_chroma_8x8_mode_plane_av8); +ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_plane_av8; #endif /* IH264_INTRA_PRED_FILTERS_H_ */ diff --git a/dependencies/ih264d/common/ih264_padding.h b/dependencies/ih264d/common/ih264_padding.h index 4151279b..e4e18fbe 100644 --- a/dependencies/ih264d/common/ih264_padding.h +++ b/dependencies/ih264d/common/ih264_padding.h @@ -2,7 +2,7 @@ * * Copyright (C) 2015 The Android Open Source Project * - * Licensed under the Apache License, Version 2.0 (the "License")); + * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * @@ -41,39 +41,34 @@ /* Function Declarations */ /*****************************************************************************/ -typedef void _ih264_pad(UWORD8 *, WORD32, WORD32, WORD32); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_pad(arg) _ih264_pad arg __asm__(#arg); -#else -#define ih264_pad(arg) _ih264_pad arg; -#endif +typedef void ih264_pad(UWORD8 *, WORD32, WORD32, WORD32); /* C function declarations */ -ih264_pad(ih264_pad_top); -ih264_pad(ih264_pad_bottom); -ih264_pad(ih264_pad_left_luma); -ih264_pad(ih264_pad_left_chroma); -ih264_pad(ih264_pad_right_luma); -ih264_pad(ih264_pad_right_chroma); +ih264_pad ih264_pad_top; +ih264_pad ih264_pad_bottom; +ih264_pad ih264_pad_left_luma; +ih264_pad ih264_pad_left_chroma; +ih264_pad ih264_pad_right_luma; +ih264_pad ih264_pad_right_chroma; /* A9 Q function declarations */ -ih264_pad(ih264_pad_top_a9q); -ih264_pad(ih264_pad_left_luma_a9q); -ih264_pad(ih264_pad_left_chroma_a9q); -ih264_pad(ih264_pad_right_luma_a9q); -ih264_pad(ih264_pad_right_chroma_a9q); +ih264_pad ih264_pad_top_a9q; +ih264_pad ih264_pad_left_luma_a9q; +ih264_pad ih264_pad_left_chroma_a9q; +ih264_pad ih264_pad_right_luma_a9q; +ih264_pad ih264_pad_right_chroma_a9q; /* AV8 function declarations */ -ih264_pad(ih264_pad_top_av8); -ih264_pad(ih264_pad_left_luma_av8); -ih264_pad(ih264_pad_left_chroma_av8); -ih264_pad(ih264_pad_right_luma_av8); -ih264_pad(ih264_pad_right_chroma_av8); +ih264_pad ih264_pad_top_av8; +ih264_pad ih264_pad_left_luma_av8; +ih264_pad ih264_pad_left_chroma_av8; +ih264_pad ih264_pad_right_luma_av8; +ih264_pad ih264_pad_right_chroma_av8; -ih264_pad(ih264_pad_left_luma_ssse3); -ih264_pad(ih264_pad_left_chroma_ssse3); -ih264_pad(ih264_pad_right_luma_ssse3); -ih264_pad(ih264_pad_right_chroma_ssse3); +ih264_pad ih264_pad_left_luma_ssse3; +ih264_pad ih264_pad_left_chroma_ssse3; +ih264_pad ih264_pad_right_luma_ssse3; +ih264_pad ih264_pad_right_chroma_ssse3; #endif /*_IH264_PADDING_H_*/ diff --git a/dependencies/ih264d/common/ih264_trans_quant_itrans_iquant.h b/dependencies/ih264d/common/ih264_trans_quant_itrans_iquant.h index e5004a64..83551aad 100644 --- a/dependencies/ih264d/common/ih264_trans_quant_itrans_iquant.h +++ b/dependencies/ih264d/common/ih264_trans_quant_itrans_iquant.h @@ -41,7 +41,7 @@ /*****************************************************************************/ -typedef void _ih264_resi_trans_dctrans_quant_ft(UWORD8*pu1_src, +typedef void ih264_resi_trans_dctrans_quant_ft(UWORD8*pu1_src, UWORD8 *pu1_pred, WORD16 *pi2_out, WORD32 src_strd, @@ -53,13 +53,7 @@ typedef void _ih264_resi_trans_dctrans_quant_ft(UWORD8*pu1_src, UWORD32 u4_round_fact, UWORD8 *pu1_nnz); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_resi_trans_dctrans_quant_ft(arg) _ih264_resi_trans_dctrans_quant_ft arg __asm__(#arg); -#else -#define ih264_resi_trans_dctrans_quant_ft(arg) _ih264_resi_trans_dctrans_quant_ft arg; -#endif - -typedef void _ih264_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, +typedef void ih264_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD8 *pu1_pred, UWORD8 *pu1_out, WORD32 src_strd, @@ -71,15 +65,9 @@ typedef void _ih264_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD32 pi4_cntrl, WORD32 *pi4_tmp); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_idctrans_iquant_itrans_recon_ft(arg) _ih264_pad arg __asm__(#arg); -#else -#define ih264_idctrans_iquant_itrans_recon_ft(arg) _ih264_pad arg; -#endif - /*Function prototype declarations*/ -typedef void _ih264_resi_trans_quant_ft(UWORD8*pu1_src, +typedef void ih264_resi_trans_quant_ft(UWORD8*pu1_src, UWORD8 *pu1_pred, WORD16 *pi2_out, WORD32 src_strd, @@ -91,13 +79,7 @@ typedef void _ih264_resi_trans_quant_ft(UWORD8*pu1_src, UWORD8 *pu1_nnz, WORD16 *pi2_alt_dc_addr); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_resi_trans_quant_ft(arg) _ih264_resi_trans_quant_ft arg __asm__(#arg); -#else -#define ih264_resi_trans_quant_ft(arg) _ih264_resi_trans_quant_ft arg; -#endif - -typedef void _ih264_luma_16x16_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, +typedef void ih264_luma_16x16_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, UWORD8 *pu1_pred, WORD16 *pi2_out, WORD32 src_strd, @@ -110,13 +92,7 @@ typedef void _ih264_luma_16x16_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, UWORD8 *pu1_nnz, UWORD32 u4_dc_flag); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_luma_16x16_resi_trans_dctrans_quant_ft(arg) _ih264_luma_16x16_resi_trans_dctrans_quant_ft arg __asm__(#arg); -#else -#define ih264_luma_16x16_resi_trans_dctrans_quant_ft(arg) _ih264_luma_16x16_resi_trans_dctrans_quant_ft arg; -#endif - -typedef void _ih264_chroma_8x8_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, +typedef void ih264_chroma_8x8_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, UWORD8 *pu1_pred, WORD16 *pi2_out, WORD32 src_strd, @@ -128,13 +104,7 @@ typedef void _ih264_chroma_8x8_resi_trans_dctrans_quant_ft(UWORD8 *pu1_src, UWORD32 u4_round_factor, UWORD8 *pu1_nnz); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_chroma_8x8_resi_trans_dctrans_quant_ft(arg) _ih264_chroma_8x8_resi_trans_dctrans_quant_ft arg __asm__(#arg); -#else -#define ih264_chroma_8x8_resi_trans_dctrans_quant_ft(arg) _ih264_chroma_8x8_resi_trans_dctrans_quant_ft arg; -#endif - -typedef void _ih264_iquant_itrans_recon_ft(WORD16 *pi2_src, +typedef void ih264_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD8 *pu1_pred, UWORD8 *pu1_out, WORD32 pred_strd, @@ -146,14 +116,8 @@ typedef void _ih264_iquant_itrans_recon_ft(WORD16 *pi2_src, WORD32 iq_start_idx, WORD16 *pi2_dc_ld_addr); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_iquant_itrans_recon_ft(arg) _ih264_iquant_itrans_recon_ft arg __asm__(#arg); -#else -#define ih264_iquant_itrans_recon_ft(arg) _ih264_iquant_itrans_recon_ft arg; -#endif - -typedef void _ih264_iquant_itrans_recon_chroma_ft(WORD16 *pi2_src, +typedef void ih264_iquant_itrans_recon_chroma_ft(WORD16 *pi2_src, UWORD8 *pu1_pred, UWORD8 *pu1_out, WORD32 pred_strd, @@ -164,14 +128,8 @@ typedef void _ih264_iquant_itrans_recon_chroma_ft(WORD16 *pi2_src, WORD16 *pi2_tmp, WORD16 *pi2_dc_src); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_iquant_itrans_recon_chroma_ft(arg) _ih264_iquant_itrans_recon_chroma_ft arg __asm__(#arg); -#else -#define ih264_iquant_itrans_recon_chroma_ft(arg) _ih264_iquant_itrans_recon_chroma_ft arg; -#endif - -typedef void _ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, +typedef void ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD8 *pu1_pred, UWORD8 *pu1_out, WORD32 src_strd, @@ -184,13 +142,7 @@ typedef void _ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD32 u4_dc_trans_flag, WORD32 *pi4_tmp); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(arg) _ih264_luma_16x16_idctrans_iquant_itrans_recon_ft arg __asm__(#arg); -#else -#define ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(arg) _ih264_luma_16x16_idctrans_iquant_itrans_recon_ft arg; -#endif - -typedef void _ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, +typedef void ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD8 *pu1_pred, UWORD8 *pu1_out, WORD32 src_strd, @@ -202,97 +154,79 @@ typedef void _ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(WORD16 *pi2_src, UWORD32 pi4_cntrl, WORD32 *pi4_tmp); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(arg) _ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft arg __asm__(#arg); -#else -#define ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(arg) _ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft arg; -#endif - -typedef void _ih264_ihadamard_scaling_ft(WORD16* pi2_src, +typedef void ih264_ihadamard_scaling_ft(WORD16* pi2_src, WORD16* pi2_out, const UWORD16 *pu2_iscal_mat, const UWORD16 *pu2_weigh_mat, UWORD32 u4_qp_div_6, WORD32* pi4_tmp); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_ihadamard_scaling_ft(arg) _ih264_ihadamard_scaling_ft arg __asm__(#arg); -#else -#define ih264_ihadamard_scaling_ft(arg) _ih264_ihadamard_scaling_ft arg; -#endif - -typedef void _ih264_hadamard_quant_ft(WORD16 *pi2_src, WORD16 *pi2_dst, +typedef void ih264_hadamard_quant_ft(WORD16 *pi2_src, WORD16 *pi2_dst, const UWORD16 *pu2_scale_matrix, const UWORD16 *pu2_threshold_matrix, UWORD32 u4_qbits, UWORD32 u4_round_factor,UWORD8 *pu1_nnz); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_hadamard_quant_ft(arg) _ih264_hadamard_quant_ft arg __asm__(#arg); -#else -#define ih264_hadamard_quant_ft(arg) _ih264_hadamard_quant_ft arg; -#endif - -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_4x4); -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_chroma_4x4); -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_8x8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_dc); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_dc); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_dc); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_4x4); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_2x2_uv); -ih264_hadamard_quant_ft(ih264_hadamard_quant_4x4); -ih264_hadamard_quant_ft(ih264_hadamard_quant_2x2_uv); +ih264_resi_trans_quant_ft ih264_resi_trans_quant_4x4; +ih264_resi_trans_quant_ft ih264_resi_trans_quant_chroma_4x4; +ih264_resi_trans_quant_ft ih264_resi_trans_quant_8x8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_dc; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_dc; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_dc; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_2x2_uv; +ih264_hadamard_quant_ft ih264_hadamard_quant_4x4; +ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv; /*A9 Declarations*/ -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_4x4_a9); -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_chroma_4x4_a9); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_a9); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_a9); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_dc_a9); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_dc_a9); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_a9); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_dc_a9); -ih264_luma_16x16_resi_trans_dctrans_quant_ft(ih264_luma_16x16_resi_trans_dctrans_quant_a9); -ih264_chroma_8x8_resi_trans_dctrans_quant_ft(ih264_chroma_8x8_resi_trans_dctrans_quant_a9); -ih264_luma_16x16_idctrans_iquant_itrans_recon_ft(ih264_luma_16x16_idctrans_iquant_itrans_recon_a9); -ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft(ih264_chroma_8x8_idctrans_iquant_itrans_recon_a9); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_4x4_a9); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_2x2_uv_a9); -ih264_hadamard_quant_ft(ih264_hadamard_quant_4x4_a9); -ih264_hadamard_quant_ft(ih264_hadamard_quant_2x2_uv_a9); +ih264_resi_trans_quant_ft ih264_resi_trans_quant_4x4_a9; +ih264_resi_trans_quant_ft ih264_resi_trans_quant_chroma_4x4_a9; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_a9; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_a9; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_dc_a9; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_dc_a9; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_a9; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_dc_a9; +ih264_luma_16x16_resi_trans_dctrans_quant_ft ih264_luma_16x16_resi_trans_dctrans_quant_a9; +ih264_chroma_8x8_resi_trans_dctrans_quant_ft ih264_chroma_8x8_resi_trans_dctrans_quant_a9; +ih264_luma_16x16_idctrans_iquant_itrans_recon_ft ih264_luma_16x16_idctrans_iquant_itrans_recon_a9; +ih264_chroma_8x8_idctrans_iquant_itrans_recon_ft ih264_chroma_8x8_idctrans_iquant_itrans_recon_a9; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4_a9; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_2x2_uv_a9; +ih264_hadamard_quant_ft ih264_hadamard_quant_4x4_a9; +ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_a9; /*Av8 Declarations*/ -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_4x4_av8); -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_chroma_4x4_av8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_av8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_av8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_dc_av8); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_dc_av8); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_av8); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_dc_av8); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_4x4_av8); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_2x2_uv_av8); -ih264_hadamard_quant_ft(ih264_hadamard_quant_4x4_av8); -ih264_hadamard_quant_ft(ih264_hadamard_quant_2x2_uv_av8); +ih264_resi_trans_quant_ft ih264_resi_trans_quant_4x4_av8; +ih264_resi_trans_quant_ft ih264_resi_trans_quant_chroma_4x4_av8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_av8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_av8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_dc_av8; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_dc_av8; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_av8; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_dc_av8; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4_av8; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_2x2_uv_av8; +ih264_hadamard_quant_ft ih264_hadamard_quant_4x4_av8; +ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_av8; /*SSSE3 Declarations*/ -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_ssse3); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_ssse3); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_dc_ssse3); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_8x8_dc_ssse3); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_dc_ssse3); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_4x4_ssse3); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_2x2_uv_ssse3); +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_ssse3; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_ssse3; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_dc_ssse3; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_dc_ssse3; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_dc_ssse3; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4_ssse3; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_2x2_uv_ssse3; /*SSSE42 Declarations*/ -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_4x4_sse42); -ih264_resi_trans_quant_ft(ih264_resi_trans_quant_chroma_4x4_sse42); -ih264_iquant_itrans_recon_ft(ih264_iquant_itrans_recon_4x4_sse42); -ih264_iquant_itrans_recon_chroma_ft(ih264_iquant_itrans_recon_chroma_4x4_sse42); -ih264_ihadamard_scaling_ft(ih264_ihadamard_scaling_4x4_sse42); -ih264_hadamard_quant_ft(ih264_hadamard_quant_4x4_sse42); -ih264_hadamard_quant_ft(ih264_hadamard_quant_2x2_uv_sse42); +ih264_resi_trans_quant_ft ih264_resi_trans_quant_4x4_sse42; +ih264_resi_trans_quant_ft ih264_resi_trans_quant_chroma_4x4_sse42; +ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_sse42; +ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_sse42; +ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4_sse42; +ih264_hadamard_quant_ft ih264_hadamard_quant_4x4_sse42; +ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_sse42; #endif /* IH264_TRANS_QUANT_H_ */ diff --git a/dependencies/ih264d/common/ih264_weighted_pred.h b/dependencies/ih264d/common/ih264_weighted_pred.h index 785744f8..f9b93b0f 100644 --- a/dependencies/ih264d/common/ih264_weighted_pred.h +++ b/dependencies/ih264d/common/ih264_weighted_pred.h @@ -68,7 +68,7 @@ /*****************************************************************************/ /* Extern Function Declarations */ /*****************************************************************************/ -typedef void _ih264_default_weighted_pred_ft(UWORD8 *puc_src1, +typedef void ih264_default_weighted_pred_ft(UWORD8 *puc_src1, UWORD8 *puc_src2, UWORD8 *puc_dst, WORD32 src_strd1, @@ -77,13 +77,7 @@ typedef void _ih264_default_weighted_pred_ft(UWORD8 *puc_src1, WORD32 ht, WORD32 wd); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_default_weighted_pred_ft(arg) _ih264_default_weighted_pred_ft arg __asm__(#arg); -#else -#define ih264_default_weighted_pred_ft(arg) _ih264_default_weighted_pred_ft arg; -#endif - -typedef void _ih264_weighted_pred_ft(UWORD8 *puc_src, +typedef void ih264_weighted_pred_ft(UWORD8 *puc_src, UWORD8 *puc_dst, WORD32 src_strd, WORD32 dst_strd, @@ -93,13 +87,7 @@ typedef void _ih264_weighted_pred_ft(UWORD8 *puc_src, WORD32 ht, WORD32 wd); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_weighted_pred_ft(arg) _ih264_weighted_pred_ft arg __asm__(#arg); -#else -#define ih264_weighted_pred_ft(arg) _ih264_weighted_pred_ft arg; -#endif - -typedef void _ih264_weighted_bi_pred_ft(UWORD8 *puc_src1, +typedef void ih264_weighted_bi_pred_ft(UWORD8 *puc_src1, UWORD8 *puc_src2, UWORD8 *puc_dst, WORD32 src_strd1, @@ -113,69 +101,63 @@ typedef void _ih264_weighted_bi_pred_ft(UWORD8 *puc_src1, WORD32 ht, WORD32 wd); -#if defined(__APPLE__) && defined(__aarch64__) -#define ih264_weighted_bi_pred_ft(arg) _ih264_weighted_bi_pred_ft arg __asm__(#arg); -#else -#define ih264_weighted_bi_pred_ft(arg) _ih264_weighted_bi_pred_ft arg; -#endif - /* No NEON Declarations */ -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_luma); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_luma; -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_chroma); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_chroma; -ih264_weighted_pred_ft(ih264_weighted_pred_luma); +ih264_weighted_pred_ft ih264_weighted_pred_luma; -ih264_weighted_pred_ft(ih264_weighted_pred_chroma); +ih264_weighted_pred_ft ih264_weighted_pred_chroma; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_luma); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_luma; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_chroma); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma; /* A9 NEON Declarations */ -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_luma_a9q); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_luma_a9q; -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_chroma_a9q); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_chroma_a9q; -ih264_weighted_pred_ft(ih264_weighted_pred_luma_a9q); +ih264_weighted_pred_ft ih264_weighted_pred_luma_a9q; -ih264_weighted_pred_ft(ih264_weighted_pred_chroma_a9q); +ih264_weighted_pred_ft ih264_weighted_pred_chroma_a9q; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_luma_a9q); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_luma_a9q; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_chroma_a9q); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma_a9q; /* AV8 NEON Declarations */ -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_luma_av8); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_luma_av8; -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_chroma_av8); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_chroma_av8; -ih264_weighted_pred_ft(ih264_weighted_pred_luma_av8); +ih264_weighted_pred_ft ih264_weighted_pred_luma_av8; -ih264_weighted_pred_ft(ih264_weighted_pred_chroma_av8); +ih264_weighted_pred_ft ih264_weighted_pred_chroma_av8; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_luma_av8); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_luma_av8; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_chroma_av8); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma_av8; /* SSE42 Intrinsic Declarations */ -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_luma_sse42); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_luma_sse42; -ih264_default_weighted_pred_ft(ih264_default_weighted_pred_chroma_sse42); +ih264_default_weighted_pred_ft ih264_default_weighted_pred_chroma_sse42; -ih264_weighted_pred_ft(ih264_weighted_pred_luma_sse42); +ih264_weighted_pred_ft ih264_weighted_pred_luma_sse42; -ih264_weighted_pred_ft(ih264_weighted_pred_chroma_sse42); +ih264_weighted_pred_ft ih264_weighted_pred_chroma_sse42; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_luma_sse42); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_luma_sse42; -ih264_weighted_bi_pred_ft(ih264_weighted_bi_pred_chroma_sse42); +ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma_sse42; #endif /* IH264_WEIGHTED_PRED_H_ */ diff --git a/dependencies/ih264d/decoder/ih264d_structs.h b/dependencies/ih264d/decoder/ih264d_structs.h index e5309602..989bd33c 100644 --- a/dependencies/ih264d/decoder/ih264d_structs.h +++ b/dependencies/ih264d/decoder/ih264d_structs.h @@ -1365,112 +1365,112 @@ typedef struct _DecStruct UWORD8 *pu1_mv_bank_buf_base; UWORD8 *pu1_init_dpb_base; - _ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma; + ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma; - _ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma; + ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma; - _ih264_weighted_pred_ft *pf_weighted_pred_luma; + ih264_weighted_pred_ft *pf_weighted_pred_luma; - _ih264_weighted_pred_ft *pf_weighted_pred_chroma; + ih264_weighted_pred_ft *pf_weighted_pred_chroma; - _ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma; + ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma; - _ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma; + ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma; - _ih264_pad *pf_pad_top; - _ih264_pad *pf_pad_bottom; - _ih264_pad *pf_pad_left_luma; - _ih264_pad *pf_pad_left_chroma; - _ih264_pad *pf_pad_right_luma; - _ih264_pad *pf_pad_right_chroma; + ih264_pad *pf_pad_top; + ih264_pad *pf_pad_bottom; + ih264_pad *pf_pad_left_luma; + ih264_pad *pf_pad_left_chroma; + ih264_pad *pf_pad_right_luma; + ih264_pad *pf_pad_right_chroma; - _ih264_inter_pred_chroma_ft *pf_inter_pred_chroma; + ih264_inter_pred_chroma_ft *pf_inter_pred_chroma; - _ih264_inter_pred_luma_ft *apf_inter_pred_luma[16]; + ih264_inter_pred_luma_ft *apf_inter_pred_luma[16]; - _ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4]; + ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4]; - _ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9]; + ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9]; - _ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9]; + ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9]; - _ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering; + ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering; - _ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4]; + ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4]; - _ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4; + ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4; - _ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc; + ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc; - _ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8; + ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8; - _ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc; + ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc; - _ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4; + ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4; - _ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc; + ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc; - _ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4; + ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4; /** * deblock vertical luma edge with blocking strength 4 */ - _ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4; + ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4; /** * deblock vertical luma edge with blocking strength less than 4 */ - _ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4; + ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4; /** * deblock vertical luma edge with blocking strength 4 for mbaff */ - _ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff; + ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff; /** * deblock vertical luma edge with blocking strength less than 4 for mbaff */ - _ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff; + ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff; /** * deblock vertical chroma edge with blocking strength 4 */ - _ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4; + ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4; /** * deblock vertical chroma edge with blocking strength less than 4 */ - _ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4; + ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4; /** * deblock vertical chroma edge with blocking strength 4 for mbaff */ - _ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff; + ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff; /** * deblock vertical chroma edge with blocking strength less than 4 for mbaff */ - _ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff; + ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff; /** * deblock horizontal luma edge with blocking strength 4 */ - _ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4; + ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4; /** * deblock horizontal luma edge with blocking strength less than 4 */ - _ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4; + ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4; /** * deblock horizontal chroma edge with blocking strength 4 */ - _ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4; + ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4; /** * deblock horizontal chroma edge with blocking strength less than 4 */ - _ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4; + ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4; } dec_struct_t;