mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-02 13:01:18 +12:00
Correctly deal with preceding underscore on macOS
Co-authored-by: neebyA <neebyA@users.noreply.github.com> Revert "Update ih264_intra_pred_filters.h" This reverts commit0ac296d79a
. Revert "Update ih264_deblk_edge_filters.h" This reverts commit0e48f86412
. Revert "fix CI on windows" This reverts commit2ccb5dd287
. Revert "fix compiling on x64" This reverts commit99378f137f
. Revert "update ih264d macros" This reverts commit0924e1180e
. Revert "ih264d: Modify to compile with AppleClang & for M1" This reverts commitd2a9c317d6
.
This commit is contained in:
parent
0ac296d79a
commit
3a3710d2e2
12 changed files with 593 additions and 554 deletions
3
dependencies/ih264d/CMakeLists.txt
vendored
3
dependencies/ih264d/CMakeLists.txt
vendored
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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
|
||||
|
|
185
dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s
vendored
Normal file
185
dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s
vendored
Normal file
|
@ -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
|
|
@ -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_ */
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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_ */
|
||||
|
|
49
dependencies/ih264d/common/ih264_padding.h
vendored
49
dependencies/ih264d/common/ih264_padding.h
vendored
|
@ -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_*/
|
||||
|
|
|
@ -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_ */
|
||||
|
|
72
dependencies/ih264d/common/ih264_weighted_pred.h
vendored
72
dependencies/ih264d/common/ih264_weighted_pred.h
vendored
|
@ -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_ */
|
||||
|
||||
|
|
76
dependencies/ih264d/decoder/ih264d_structs.h
vendored
76
dependencies/ih264d/decoder/ih264d_structs.h
vendored
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue