From 3a3710d2e2ebc763db558c67e5e269eb8ccd1116 Mon Sep 17 00:00:00 2001 From: Exverge Date: Mon, 26 May 2025 00:12:45 -0400 Subject: [PATCH] Correctly deal with preceding underscore on macOS Co-authored-by: neebyA Revert "Update ih264_intra_pred_filters.h" This reverts commit 0ac296d79af31541a56df0dbca4bc3b590e05250. Revert "Update ih264_deblk_edge_filters.h" This reverts commit 0e48f86412d98db342857a1f14733af4f89caba9. Revert "fix CI on windows" This reverts commit 2ccb5dd2873995c534b284887ab7943c0611bbde. Revert "fix compiling on x64" This reverts commit 99378f137fc352fe8ff0b94197ceb56966e99984. Revert "update ih264d macros" This reverts commit 0924e1180ea24c992db632034785d30462ec5c17. Revert "ih264d: Modify to compile with AppleClang & for M1" This reverts commit d2a9c317d6f8cd66f76213b42ce93248c1b788fe. --- dependencies/ih264d/CMakeLists.txt | 3 + .../armv8/ih264_intra_pred_chroma_av8.s | 4 +- .../armv8/ih264_intra_pred_luma_16x16_av8.s | 4 +- .../armv8/ih264_intra_pred_luma_8x8_av8.s | 3 +- .../common/armv8/macos_arm_symbol_aliases.s | 185 ++++++++++++++ .../ih264d/common/ih264_deblk_edge_filters.h | 194 +++++++-------- .../ih264d/common/ih264_inter_pred_filters.h | 128 ++++------ .../ih264d/common/ih264_intra_pred_filters.h | 231 +++++++++--------- dependencies/ih264d/common/ih264_padding.h | 49 ++-- .../common/ih264_trans_quant_itrans_iquant.h | 198 +++++---------- .../ih264d/common/ih264_weighted_pred.h | 72 ++---- dependencies/ih264d/decoder/ih264d_structs.h | 76 +++--- 12 files changed, 593 insertions(+), 554 deletions(-) create mode 100644 dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s 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;