1 --- xavs2-1.3/source/common/quant.c.orig 2018-12-20 04:20:35.000000000 +0100
2 +++ xavs2-1.3/source/common/quant.c 2019-07-29 20:07:07.159480992 +0200
4 dctf->add_sign = add_sign_c;
\r
6 /* init asm function handles */
\r
8 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
9 if (cpuid & XAVS2_CPU_SSE4) {
\r
10 dctf->quant = FPFX(quant_sse4);
\r
11 dctf->dequant = FPFX(dequant_sse4);
\r
12 --- xavs2-1.3/source/common/filter_alf.c.orig 2018-12-20 04:20:35.000000000 +0100
13 +++ xavs2-1.3/source/common/filter_alf.c 2019-07-29 20:08:33.552346295 +0200
15 /* set function handles */
\r
16 pf->alf_flt[0] = alf_filter_block1;
\r
17 pf->alf_flt[1] = alf_filter_block2;
\r
19 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
20 if (cpuid & XAVS2_CPU_SSE42) {
\r
21 pf->alf_flt[0] = alf_flt_one_block_sse128;
\r
23 --- xavs2-1.3/source/common/filter_deblock.c.orig 2018-12-20 04:20:35.000000000 +0100
24 +++ xavs2-1.3/source/common/filter_deblock.c 2019-07-29 20:09:12.135470605 +0200
26 lf->deblock_chroma[0] = deblock_edge_ver_c;
\r
27 lf->deblock_chroma[1] = deblock_edge_hor_c;
\r
30 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
31 if (cpuid & XAVS2_CPU_SSE42) {
\r
32 lf->deblock_luma[0] = deblock_edge_ver_sse128;
\r
33 lf->deblock_luma[1] = deblock_edge_hor_sse128;
\r
34 --- xavs2-1.3/source/common/filter_sao.c.orig 2018-12-20 04:20:35.000000000 +0100
35 +++ xavs2-1.3/source/common/filter_sao.c 2019-07-29 20:10:02.731863168 +0200
37 void xavs2_sao_init(uint32_t cpuid, intrinsic_func_t *pf)
\r
39 pf->sao_block = sao_block_c;
\r
41 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
42 if (cpuid & XAVS2_CPU_SSE4) {
\r
43 pf->sao_block = SAO_on_block_sse128;
\r
45 --- xavs2-1.3/source/common/cg_scan.c.orig 2018-12-20 04:20:35.000000000 +0100
46 +++ xavs2-1.3/source/common/cg_scan.c 2019-07-29 20:12:49.534292855 +0200
48 pf->transpose_coeff_4x4[0] = coeff_scan4_xy_c;
\r
49 pf->transpose_coeff_4x4[1] = coeff_scan4_yx_c;
\r
52 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
54 if (cpuid & XAVS2_CPU_SSE42) {
\r
55 pf->transpose_coeff_scan[LUMA_4x4][0] = coeff_scan_4x4_xy_sse128;
\r
56 --- xavs2-1.4/source/common/intra.c.orig 2023-04-09 08:05:35.401489788 +0200
57 +++ xavs2-1.4/source/common/intra.c 2023-04-09 08:06:31.667851633 +0200
58 @@ -1926,7 +1926,7 @@ void xavs2_intra_pred_init(uint32_t cpui
59 ipred[INTRA_ANG_Y_32] = intra_pred_ang_y_32_c;
\r
61 // TODO: 8bitÇé¿öϽǶÈ7¡¢9¡¢11ÐÔÄܲ»Ò»Ö 20170716
\r
63 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
64 if (cpuid & XAVS2_CPU_SSE42) {
\r
65 ipred[DC_PRED ] = intra_pred_dc_sse128;
\r
66 ipred[HOR_PRED ] = intra_pred_hor_sse128;
\r
67 --- xavs2-1.3/source/common/mc.c.orig 2018-12-20 04:20:35.000000000 +0100
68 +++ xavs2-1.3/source/common/mc.c 2019-07-29 20:17:32.919424292 +0200
72 if (cpuid & XAVS2_CPU_SSE2) {
\r
74 pf->memzero_aligned = xavs2_memzero_aligned_c_sse2;
\r
76 // pf->memcpy_aligned = xavs2_memcpy_aligned_c_sse2;
\r
77 pf->lowres_filter = xavs2_lowres_filter_core_sse2;
\r
78 // pf->mem_repeat_i = xavs2_mem_repeat_i_c_sse2; // TODO: ±ÈC°æ±¾Âý£¬½ûÓÃ
\r
82 if (cpuid & XAVS2_CPU_AVX2) {
\r
84 pf->memzero_aligned = xavs2_memzero_aligned_c_avx;
\r
86 // pf->mem_repeat_i = xavs2_mem_repeat_i_c_avx; // TODO: ±ÈC°æ±¾Âý£¬½ûÓÃ
\r
87 pf->lowres_filter = xavs2_lowres_filter_core_avx;
\r
90 pf->plane_copy_deinterleave = xavs2_plane_copy_deinterleave_mmx;
\r
94 if (cpuid & XAVS2_CPU_SSE42) {
\r
95 pf->intpl_luma_hor = intpl_luma_hor_sse128;
\r
96 pf->intpl_luma_ver = intpl_luma_ver_sse128;
\r
98 pf->intpl_chroma_block_hor = intpl_chroma_block_hor_avx2;
\r
99 pf->intpl_chroma_block_ext = intpl_chroma_block_ext_avx2;
\r
103 UNUSED_PARAMETER(cpuid);
\r
105 --- xavs2-1.3/source/common/pixel.c.orig 2018-12-20 04:20:35.000000000 +0100
106 +++ xavs2-1.3/source/common/pixel.c 2019-07-29 20:18:47.595686403 +0200
107 @@ -1594,6 +1594,7 @@
108 INIT_PIXEL_AVG(16, 12, avx2);
\r
112 /* block average */
\r
113 if (cpuid & XAVS2_CPU_SSE42) {
\r
114 pixf->average = xavs2_pixel_average_sse128;
\r
115 @@ -1604,6 +1605,7 @@
121 /* init functions of block operation : copy/add/sub */
\r
122 init_block_opreation_funcs(cpuid, pixf);
\r
123 @@ -1659,7 +1661,7 @@
124 madf[B64X64_IN_BIT - MIN_CU_SIZE_IN_BIT] = mad_NxN_c;
\r
126 /* init asm function handles */
\r
128 +#if HAVE_MMX && ARCH_X86_64 /* only 64-bit asm for now */
\r
129 /* functions defined in file intrinsic_mad.c */
\r
130 if (cpuid & XAVS2_CPU_SSE2) {
\r
131 madf[B16X16_IN_BIT - MIN_CU_SIZE_IN_BIT] = mad_16x16_sse128;
\r
132 --- xavs2-1.3/source/common/transform.c.orig 2018-12-20 04:20:35.000000000 +0100
133 +++ xavs2-1.3/source/common/transform.c 2019-07-29 20:26:10.506620282 +0200
134 @@ -1647,6 +1647,7 @@
135 * set handles with asm functions
\r
139 /* functions defined in file intrinsic_dct.c */
\r
140 if (cpuid & XAVS2_CPU_SSE42) {
\r
142 @@ -1689,6 +1690,7 @@
143 dctf->dct_half[LUMA_32x32] = dct_c_32x32_half_sse128;
\r
144 dctf->dct_half[LUMA_64x64] = dct_c_64x64_half_sse128;
\r
148 if (cpuid & XAVS2_CPU_SSE2) {
\r
149 dctf->dct [LUMA_4x4 ] = xavs2_dct_4x4_sse2;
\r