mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-05 22:41:18 +12:00
ih264d: Modify to compile with AppleClang & for M1
This commit is contained in:
parent
08630f5c04
commit
d2a9c317d6
10 changed files with 149 additions and 93 deletions
2
dependencies/ih264d/CMakeLists.txt
vendored
2
dependencies/ih264d/CMakeLists.txt
vendored
|
@ -140,7 +140,7 @@ target_sources(ih264d PRIVATE
|
||||||
"decoder/x86/ih264d_function_selector_sse42.c"
|
"decoder/x86/ih264d_function_selector_sse42.c"
|
||||||
"decoder/x86/ih264d_function_selector_ssse3.c"
|
"decoder/x86/ih264d_function_selector_ssse3.c"
|
||||||
)
|
)
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
||||||
enable_language( C CXX ASM )
|
enable_language( C CXX ASM )
|
||||||
set(LIBAVCDEC_ARM_INCLUDES "common/armv8" "decoder/arm")
|
set(LIBAVCDEC_ARM_INCLUDES "common/armv8" "decoder/arm")
|
||||||
include_directories("common/" "decoder/" ${LIBAVCDEC_ARM_INCLUDES})
|
include_directories("common/" "decoder/" ${LIBAVCDEC_ARM_INCLUDES})
|
||||||
|
|
|
@ -53,10 +53,13 @@
|
||||||
.text
|
.text
|
||||||
.p2align 2
|
.p2align 2
|
||||||
.include "ih264_neon_macros.s"
|
.include "ih264_neon_macros.s"
|
||||||
|
#ifdef __APPLE__
|
||||||
|
.extern _ih264_gai1_intrapred_chroma_plane_coeffs1
|
||||||
|
.extern _ih264_gai1_intrapred_chroma_plane_coeffs2
|
||||||
|
#else
|
||||||
.extern ih264_gai1_intrapred_chroma_plane_coeffs1
|
.extern ih264_gai1_intrapred_chroma_plane_coeffs1
|
||||||
.extern ih264_gai1_intrapred_chroma_plane_coeffs2
|
.extern ih264_gai1_intrapred_chroma_plane_coeffs2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
///**
|
///**
|
||||||
|
@ -429,8 +432,13 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8:
|
||||||
rev64 v7.4h, v2.4h
|
rev64 v7.4h, v2.4h
|
||||||
ld1 {v3.2s}, [x10]
|
ld1 {v3.2s}, [x10]
|
||||||
sub x5, x3, #8
|
sub x5, x3, #8
|
||||||
|
#ifdef __APPLE__
|
||||||
|
adrp x12, _ih264_gai1_intrapred_chroma_plane_coeffs1@GOTPAGE
|
||||||
|
ldr x12, [x12, _ih264_gai1_intrapred_chroma_plane_coeffs1@GOTPAGEOFF]
|
||||||
|
#else
|
||||||
adrp x12, :got:ih264_gai1_intrapred_chroma_plane_coeffs1
|
adrp x12, :got:ih264_gai1_intrapred_chroma_plane_coeffs1
|
||||||
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_chroma_plane_coeffs1]
|
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_chroma_plane_coeffs1]
|
||||||
|
#endif
|
||||||
usubl v10.8h, v5.8b, v1.8b
|
usubl v10.8h, v5.8b, v1.8b
|
||||||
ld1 {v8.8b, v9.8b}, [x12] // Load multiplication factors 1 to 8 into D3
|
ld1 {v8.8b, v9.8b}, [x12] // Load multiplication factors 1 to 8 into D3
|
||||||
mov v8.d[1], v9.d[0]
|
mov v8.d[1], v9.d[0]
|
||||||
|
@ -484,10 +492,13 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8:
|
||||||
zip1 v1.8h, v0.8h, v2.8h
|
zip1 v1.8h, v0.8h, v2.8h
|
||||||
zip2 v2.8h, v0.8h, v2.8h
|
zip2 v2.8h, v0.8h, v2.8h
|
||||||
mov v0.16b, v1.16b
|
mov v0.16b, v1.16b
|
||||||
|
#ifdef __APPLE__
|
||||||
|
adrp x12, _ih264_gai1_intrapred_chroma_plane_coeffs2@GOTPAGE
|
||||||
|
ldr x12, [x12, _ih264_gai1_intrapred_chroma_plane_coeffs2@GOTPAGEOFF]
|
||||||
|
#else
|
||||||
adrp x12, :got:ih264_gai1_intrapred_chroma_plane_coeffs2
|
adrp x12, :got:ih264_gai1_intrapred_chroma_plane_coeffs2
|
||||||
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_chroma_plane_coeffs2]
|
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_chroma_plane_coeffs2]
|
||||||
|
#endif
|
||||||
ld1 {v8.2s, v9.2s}, [x12]
|
ld1 {v8.2s, v9.2s}, [x12]
|
||||||
mov v8.d[1], v9.d[0]
|
mov v8.d[1], v9.d[0]
|
||||||
mov v10.16b, v8.16b
|
mov v10.16b, v8.16b
|
||||||
|
|
|
@ -53,7 +53,11 @@
|
||||||
.text
|
.text
|
||||||
.p2align 2
|
.p2align 2
|
||||||
.include "ih264_neon_macros.s"
|
.include "ih264_neon_macros.s"
|
||||||
|
#ifdef __APPLE__
|
||||||
|
.extern _ih264_gai1_intrapred_luma_plane_coeffs
|
||||||
|
#else
|
||||||
.extern ih264_gai1_intrapred_luma_plane_coeffs
|
.extern ih264_gai1_intrapred_luma_plane_coeffs
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -431,10 +435,13 @@ ih264_intra_pred_luma_16x16_mode_plane_av8:
|
||||||
mov x10, x1 //top_left
|
mov x10, x1 //top_left
|
||||||
mov x4, #-1
|
mov x4, #-1
|
||||||
ld1 {v2.2s}, [x1], x8
|
ld1 {v2.2s}, [x1], x8
|
||||||
|
#ifdef __APPLE__
|
||||||
|
adrp x7, _ih264_gai1_intrapred_luma_plane_coeffs@GOTPAGE
|
||||||
|
ldr x7, [x7, _ih264_gai1_intrapred_luma_plane_coeffs@GOTPAGEOFF]
|
||||||
|
#else
|
||||||
adrp x7, :got:ih264_gai1_intrapred_luma_plane_coeffs
|
adrp x7, :got:ih264_gai1_intrapred_luma_plane_coeffs
|
||||||
ldr x7, [x7, #:got_lo12:ih264_gai1_intrapred_luma_plane_coeffs]
|
ldr x7, [x7, #:got_lo12:ih264_gai1_intrapred_luma_plane_coeffs]
|
||||||
|
#endif
|
||||||
ld1 {v0.2s}, [x1]
|
ld1 {v0.2s}, [x1]
|
||||||
rev64 v2.8b, v2.8b
|
rev64 v2.8b, v2.8b
|
||||||
ld1 {v6.2s, v7.2s}, [x7]
|
ld1 {v6.2s, v7.2s}, [x7]
|
||||||
|
|
|
@ -56,8 +56,11 @@
|
||||||
.text
|
.text
|
||||||
.p2align 2
|
.p2align 2
|
||||||
.include "ih264_neon_macros.s"
|
.include "ih264_neon_macros.s"
|
||||||
|
#ifdef __APPLE__
|
||||||
|
.extern _ih264_gai1_intrapred_luma_8x8_horz_u
|
||||||
|
#else
|
||||||
.extern ih264_gai1_intrapred_luma_8x8_horz_u
|
.extern ih264_gai1_intrapred_luma_8x8_horz_u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1029,9 +1032,13 @@ ih264_intra_pred_luma_8x8_mode_horz_u_av8:
|
||||||
mov v3.d[0], v2.d[1]
|
mov v3.d[0], v2.d[1]
|
||||||
ext v4.16b, v2.16b , v2.16b , #1
|
ext v4.16b, v2.16b , v2.16b , #1
|
||||||
mov v5.d[0], v4.d[1]
|
mov v5.d[0], v4.d[1]
|
||||||
|
#ifdef __APPLE__
|
||||||
|
adrp x12, _ih264_gai1_intrapred_luma_8x8_horz_u@GOTPAGE
|
||||||
|
ldr x12, [x12, _ih264_gai1_intrapred_luma_8x8_horz_u@GOTPAGEOFF]
|
||||||
|
#else
|
||||||
adrp x12, :got:ih264_gai1_intrapred_luma_8x8_horz_u
|
adrp x12, :got:ih264_gai1_intrapred_luma_8x8_horz_u
|
||||||
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_luma_8x8_horz_u]
|
ldr x12, [x12, #:got_lo12:ih264_gai1_intrapred_luma_8x8_horz_u]
|
||||||
|
#endif
|
||||||
uaddl v20.8h, v0.8b, v2.8b
|
uaddl v20.8h, v0.8b, v2.8b
|
||||||
uaddl v22.8h, v1.8b, v3.8b
|
uaddl v22.8h, v1.8b, v3.8b
|
||||||
uaddl v24.8h, v2.8b, v4.8b
|
uaddl v24.8h, v2.8b, v4.8b
|
||||||
|
|
|
@ -40,6 +40,11 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Extern Function Declarations */
|
/* Extern Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef void ih264_deblk_edge_bslt4_ft(UWORD8 *pu1_src,
|
typedef void ih264_deblk_edge_bslt4_ft(UWORD8 *pu1_src,
|
||||||
WORD32 src_strd,
|
WORD32 src_strd,
|
||||||
|
@ -133,34 +138,34 @@ 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_horz_bslt4_mbaff_a9;
|
||||||
|
|
||||||
/*AV8*/
|
/*AV8*/
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_av8;
|
ih264_deblk_edge_bs4_ft av8(ih264_deblk_luma_horz_bs4_av8);
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_av8;
|
ih264_deblk_edge_bs4_ft av8(ih264_deblk_luma_vert_bs4_av8);
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_luma_vert_bs4_mbaff_av8;
|
ih264_deblk_edge_bs4_ft av8(ih264_deblk_luma_vert_bs4_mbaff_av8);
|
||||||
|
|
||||||
|
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_chroma_horz_bs4_bp_av8;
|
ih264_deblk_edge_bs4_ft av8(ih264_deblk_chroma_horz_bs4_bp_av8);
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_chroma_vert_bs4_bp_av8;
|
ih264_deblk_edge_bs4_ft av8(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 av8(ih264_deblk_chroma_vert_bs4_mbaff_bp_av8);
|
||||||
|
|
||||||
|
|
||||||
ih264_deblk_edge_bslt4_ft ih264_deblk_luma_horz_bslt4_av8;
|
ih264_deblk_edge_bslt4_ft av8(ih264_deblk_luma_horz_bslt4_av8);
|
||||||
ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_av8;
|
ih264_deblk_edge_bslt4_ft av8(ih264_deblk_luma_vert_bslt4_av8);
|
||||||
ih264_deblk_edge_bslt4_ft ih264_deblk_luma_vert_bslt4_mbaff_av8;
|
ih264_deblk_edge_bslt4_ft av8(ih264_deblk_luma_vert_bslt4_mbaff_av8);
|
||||||
|
|
||||||
|
|
||||||
ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_bp_av8;
|
ih264_deblk_edge_bslt4_ft av8(ih264_deblk_chroma_horz_bslt4_bp_av8);
|
||||||
ih264_deblk_edge_bslt4_ft ih264_deblk_chroma_vert_bslt4_bp_av8;
|
ih264_deblk_edge_bslt4_ft av8(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 av8(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 av8(ih264_deblk_chroma_vert_bs4_av8);
|
||||||
ih264_deblk_chroma_edge_bs4_ft ih264_deblk_chroma_horz_bs4_av8;
|
ih264_deblk_chroma_edge_bs4_ft av8(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 av8(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 av8(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 av8(ih264_deblk_chroma_vert_bslt4_av8);
|
||||||
ih264_deblk_chroma_edge_bslt4_ft ih264_deblk_chroma_horz_bslt4_av8;
|
ih264_deblk_chroma_edge_bslt4_ft av8(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 av8(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 av8(ih264_deblk_chroma_horz_bslt4_mbaff_av8);
|
||||||
|
|
||||||
/*SSE3*/
|
/*SSE3*/
|
||||||
ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_ssse3;
|
ih264_deblk_edge_bs4_ft ih264_deblk_luma_horz_bs4_ssse3;
|
||||||
|
|
|
@ -100,6 +100,12 @@ extern const WORD32 ih264_g_six_tap[3];/* coefficients for 6 tap filtering*/
|
||||||
/* Extern Function Declarations */
|
/* Extern Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef void ih264_inter_pred_luma_ft(UWORD8 *pu1_src,
|
typedef void ih264_inter_pred_luma_ft(UWORD8 *pu1_src,
|
||||||
UWORD8 *pu1_dst,
|
UWORD8 *pu1_dst,
|
||||||
WORD32 src_strd,
|
WORD32 src_strd,
|
||||||
|
@ -186,31 +192,31 @@ 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 */
|
/* AV8 NEON Declarations */
|
||||||
ih264_inter_pred_luma_ft ih264_inter_pred_luma_copy_av8;
|
ih264_inter_pred_luma_ft av8(ih264_inter_pred_luma_copy_av8);
|
||||||
|
|
||||||
ih264_interleave_copy_ft ih264_interleave_copy_av8;
|
ih264_interleave_copy_ft av8(ih264_interleave_copy_av8);
|
||||||
|
|
||||||
ih264_inter_pred_luma_ft ih264_inter_pred_luma_horz_av8;
|
ih264_inter_pred_luma_ft av8(ih264_inter_pred_luma_horz_av8);
|
||||||
|
|
||||||
ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_av8;
|
ih264_inter_pred_luma_ft av8(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 av8(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 av8(ih264_inter_pred_luma_horz_qpel_av8);
|
||||||
|
|
||||||
ih264_inter_pred_luma_ft ih264_inter_pred_luma_vert_qpel_av8;
|
ih264_inter_pred_luma_ft av8(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 av8(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 av8(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 av8(ih264_inter_pred_luma_horz_hpel_vert_qpel_av8);
|
||||||
|
|
||||||
ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_av8;
|
ih264_inter_pred_chroma_ft av8(ih264_inter_pred_chroma_av8);
|
||||||
|
|
||||||
ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_dx_zero_av8;
|
ih264_inter_pred_chroma_ft av8(ih264_inter_pred_chroma_dx_zero_av8);
|
||||||
|
|
||||||
ih264_inter_pred_chroma_ft ih264_inter_pred_chroma_dy_zero_av8;
|
ih264_inter_pred_chroma_ft av8(ih264_inter_pred_chroma_dy_zero_av8);
|
||||||
|
|
||||||
|
|
||||||
/* SSSE3 Intrinsic Declarations */
|
/* SSSE3 Intrinsic Declarations */
|
||||||
|
|
|
@ -46,6 +46,12 @@
|
||||||
#define FILT121(a,b,c) ((a + (b<<1) + c + 2)>>2)
|
#define FILT121(a,b,c) ((a + (b<<1) + c + 2)>>2)
|
||||||
/*! Filter (1,1) i.e (a + b) / 2 */
|
/*! Filter (1,1) i.e (a + b) / 2 */
|
||||||
#define FILT11(a,b) ((a + b + 1)>>1)
|
#define FILT11(a,b) ((a + b + 1)>>1)
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Global Variables */
|
/* Global Variables */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -60,7 +66,6 @@ extern const WORD8 ih264_gai1_intrapred_luma_8x8_horz_u[];
|
||||||
/* Extern Function Declarations */
|
/* Extern Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
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_topleft,
|
||||||
UWORD8 *pu1_top,
|
UWORD8 *pu1_top,
|
||||||
|
@ -270,62 +275,62 @@ ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_plane_ssse3;
|
||||||
/* AV8 Definition */
|
/* AV8 Definition */
|
||||||
|
|
||||||
/* Luma 4x4 Intra pred filters */
|
/* Luma 4x4 Intra pred filters */
|
||||||
ih264_intra_pred_luma_ft ih264_intra_pred_luma_4x4_mode_vert_av8;
|
ih264_intra_pred_luma_ft av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(ih264_intra_pred_luma_4x4_mode_horz_u_av8);
|
||||||
|
|
||||||
/* Luma 8x8 Intra pred filters */
|
/* Luma 8x8 Intra pred filters */
|
||||||
|
|
||||||
ih264_intra_pred_luma_ft ih264_intra_pred_luma_8x8_mode_vert_av8;
|
ih264_intra_pred_luma_ft av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(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 av8(ih264_intra_pred_luma_8x8_mode_horz_u_av8);
|
||||||
|
|
||||||
/* Luma 16x16 Intra pred filters */
|
/* Luma 16x16 Intra pred filters */
|
||||||
|
|
||||||
ih264_intra_pred_luma_ft ih264_intra_pred_luma_16x16_mode_vert_av8;
|
ih264_intra_pred_luma_ft av8(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 av8(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 av8(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 av8(ih264_intra_pred_luma_16x16_mode_plane_av8);
|
||||||
|
|
||||||
/* Chroma 8x8 Intra pred filters */
|
/* Chroma 8x8 Intra pred filters */
|
||||||
|
|
||||||
ih264_intra_pred_chroma_ft ih264_intra_pred_chroma_8x8_mode_dc_av8;
|
ih264_intra_pred_chroma_ft av8(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 av8(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 av8(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 av8(ih264_intra_pred_chroma_8x8_mode_plane_av8);
|
||||||
|
|
||||||
#endif /* IH264_INTRA_PRED_FILTERS_H_ */
|
#endif /* IH264_INTRA_PRED_FILTERS_H_ */
|
||||||
|
|
15
dependencies/ih264d/common/ih264_padding.h
vendored
15
dependencies/ih264d/common/ih264_padding.h
vendored
|
@ -40,6 +40,11 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Function Declarations */
|
/* Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef void ih264_pad(UWORD8 *, WORD32, WORD32, WORD32);
|
typedef void ih264_pad(UWORD8 *, WORD32, WORD32, WORD32);
|
||||||
|
|
||||||
|
@ -59,11 +64,11 @@ ih264_pad ih264_pad_right_luma_a9q;
|
||||||
ih264_pad ih264_pad_right_chroma_a9q;
|
ih264_pad ih264_pad_right_chroma_a9q;
|
||||||
|
|
||||||
/* AV8 function declarations */
|
/* AV8 function declarations */
|
||||||
ih264_pad ih264_pad_top_av8;
|
ih264_pad av8(ih264_pad_top_av8);
|
||||||
ih264_pad ih264_pad_left_luma_av8;
|
ih264_pad av8(ih264_pad_left_luma_av8);
|
||||||
ih264_pad ih264_pad_left_chroma_av8;
|
ih264_pad av8(ih264_pad_left_chroma_av8);
|
||||||
ih264_pad ih264_pad_right_luma_av8;
|
ih264_pad av8(ih264_pad_right_luma_av8);
|
||||||
ih264_pad ih264_pad_right_chroma_av8;
|
ih264_pad av8(ih264_pad_right_chroma_av8);
|
||||||
|
|
||||||
|
|
||||||
ih264_pad ih264_pad_left_luma_ssse3;
|
ih264_pad ih264_pad_left_luma_ssse3;
|
||||||
|
|
|
@ -39,7 +39,11 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Extern Function Declarations */
|
/* Extern Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
|
|
||||||
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,
|
UWORD8 *pu1_pred,
|
||||||
|
@ -199,18 +203,18 @@ ih264_hadamard_quant_ft ih264_hadamard_quant_4x4_a9;
|
||||||
ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_a9;
|
ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_a9;
|
||||||
|
|
||||||
/*Av8 Declarations*/
|
/*Av8 Declarations*/
|
||||||
ih264_resi_trans_quant_ft ih264_resi_trans_quant_4x4_av8;
|
ih264_resi_trans_quant_ft av8(ih264_resi_trans_quant_4x4_av8);
|
||||||
ih264_resi_trans_quant_ft ih264_resi_trans_quant_chroma_4x4_av8;
|
ih264_resi_trans_quant_ft av8(ih264_resi_trans_quant_chroma_4x4_av8);
|
||||||
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_av8;
|
ih264_iquant_itrans_recon_ft av8(ih264_iquant_itrans_recon_4x4_av8);
|
||||||
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_av8;
|
ih264_iquant_itrans_recon_ft av8(ih264_iquant_itrans_recon_8x8_av8);
|
||||||
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_dc_av8;
|
ih264_iquant_itrans_recon_ft av8(ih264_iquant_itrans_recon_4x4_dc_av8);
|
||||||
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_8x8_dc_av8;
|
ih264_iquant_itrans_recon_ft av8(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 av8(ih264_iquant_itrans_recon_chroma_4x4_av8);
|
||||||
ih264_iquant_itrans_recon_chroma_ft ih264_iquant_itrans_recon_chroma_4x4_dc_av8;
|
ih264_iquant_itrans_recon_chroma_ft av8(ih264_iquant_itrans_recon_chroma_4x4_dc_av8);
|
||||||
ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_4x4_av8;
|
ih264_ihadamard_scaling_ft av8(ih264_ihadamard_scaling_4x4_av8);
|
||||||
ih264_ihadamard_scaling_ft ih264_ihadamard_scaling_2x2_uv_av8;
|
ih264_ihadamard_scaling_ft av8(ih264_ihadamard_scaling_2x2_uv_av8);
|
||||||
ih264_hadamard_quant_ft ih264_hadamard_quant_4x4_av8;
|
ih264_hadamard_quant_ft av8(ih264_hadamard_quant_4x4_av8);
|
||||||
ih264_hadamard_quant_ft ih264_hadamard_quant_2x2_uv_av8;
|
ih264_hadamard_quant_ft av8(ih264_hadamard_quant_2x2_uv_av8);
|
||||||
|
|
||||||
/*SSSE3 Declarations*/
|
/*SSSE3 Declarations*/
|
||||||
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_ssse3;
|
ih264_iquant_itrans_recon_ft ih264_iquant_itrans_recon_4x4_ssse3;
|
||||||
|
|
18
dependencies/ih264d/common/ih264_weighted_pred.h
vendored
18
dependencies/ih264d/common/ih264_weighted_pred.h
vendored
|
@ -68,6 +68,12 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Extern Function Declarations */
|
/* Extern Function Declarations */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define av8(name) name __asm__(#name)
|
||||||
|
#else
|
||||||
|
#define av8(name) name
|
||||||
|
#endif
|
||||||
|
|
||||||
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_src2,
|
||||||
UWORD8 *puc_dst,
|
UWORD8 *puc_dst,
|
||||||
|
@ -132,17 +138,17 @@ ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma_a9q;
|
||||||
|
|
||||||
/* AV8 NEON Declarations */
|
/* AV8 NEON Declarations */
|
||||||
|
|
||||||
ih264_default_weighted_pred_ft ih264_default_weighted_pred_luma_av8;
|
ih264_default_weighted_pred_ft av8(ih264_default_weighted_pred_luma_av8);
|
||||||
|
|
||||||
ih264_default_weighted_pred_ft ih264_default_weighted_pred_chroma_av8;
|
ih264_default_weighted_pred_ft av8(ih264_default_weighted_pred_chroma_av8);
|
||||||
|
|
||||||
ih264_weighted_pred_ft ih264_weighted_pred_luma_av8;
|
ih264_weighted_pred_ft av8(ih264_weighted_pred_luma_av8);
|
||||||
|
|
||||||
ih264_weighted_pred_ft ih264_weighted_pred_chroma_av8;
|
ih264_weighted_pred_ft av8(ih264_weighted_pred_chroma_av8);
|
||||||
|
|
||||||
ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_luma_av8;
|
ih264_weighted_bi_pred_ft av8(ih264_weighted_bi_pred_luma_av8);
|
||||||
|
|
||||||
ih264_weighted_bi_pred_ft ih264_weighted_bi_pred_chroma_av8;
|
ih264_weighted_bi_pred_ft av8(ih264_weighted_bi_pred_chroma_av8);
|
||||||
|
|
||||||
|
|
||||||
/* SSE42 Intrinsic Declarations */
|
/* SSE42 Intrinsic Declarations */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue