[x265] [PATCH] asm: disabled 8bpp AVX & AVX2 primitives having less than 10% speed up over SSE

Deepthi Nandakumar deepthi at multicorewareinc.com
Wed Aug 19 13:16:34 CEST 2015


Doesnt apply on top of your previous patch

On Wed, Aug 19, 2015 at 4:42 PM, <aasaipriya at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Aasaipriya Chandran <aasaipriya at multicorewareinc.com>
> # Date 1439982464 -19800
> #      Wed Aug 19 16:37:44 2015 +0530
> # Node ID 7cf938f1202842a97efc586d799d04d95e15d2a7
> # Parent  8b88f8884dc363ea5ed471dd52f95fbebbcd8e37
> asm: disabled 8bpp AVX & AVX2 primitives having less than 10% speed up
> over SSE
>
> these primitives are slower than SSE primitives
>
> diff -r 8b88f8884dc3 -r 7cf938f12028 source/common/x86/asm-primitives.cpp
> --- a/source/common/x86/asm-primitives.cpp      Wed Aug 19 13:17:04 2015
> +0530
> +++ b/source/common/x86/asm-primitives.cpp      Wed Aug 19 16:37:44 2015
> +0530
> @@ -2600,25 +2600,6 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].satd =
> PFX(pixel_satd_8x8_avx);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].satd =
> PFX(pixel_satd_8x32_avx);
>
> -        p.pu[LUMA_8x8].satd   = PFX(pixel_satd_8x8_avx);
> -        p.pu[LUMA_16x16].satd = PFX(pixel_satd_16x16_avx);
> -        p.pu[LUMA_32x32].satd = PFX(pixel_satd_32x32_avx);
> -        p.pu[LUMA_64x64].satd = PFX(pixel_satd_64x64_avx);
> -        p.pu[LUMA_8x16].satd  = PFX(pixel_satd_8x16_avx);
> -        p.pu[LUMA_16x32].satd = PFX(pixel_satd_16x32_avx);
> -        p.pu[LUMA_32x16].satd = PFX(pixel_satd_32x16_avx);
> -        p.pu[LUMA_64x32].satd = PFX(pixel_satd_64x32_avx);
> -        p.pu[LUMA_32x64].satd = PFX(pixel_satd_32x64_avx);
> -        p.pu[LUMA_16x12].satd = PFX(pixel_satd_16x12_avx);
> -
> -        p.pu[LUMA_32x24].satd = PFX(pixel_satd_32x24_avx);
> -        p.pu[LUMA_24x32].satd = PFX(pixel_satd_24x32_avx);
> -        p.pu[LUMA_8x32].satd  = PFX(pixel_satd_8x32_avx);
> -        p.pu[LUMA_64x48].satd = PFX(pixel_satd_64x48_avx);
> -        p.pu[LUMA_48x64].satd = PFX(pixel_satd_48x64_avx);
> -        p.pu[LUMA_64x16].satd = PFX(pixel_satd_64x16_avx);
> -        p.pu[LUMA_16x64].satd = PFX(pixel_satd_16x64_avx);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].satd =
> PFX(pixel_satd_8x8_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].satd =
> PFX(pixel_satd_16x16_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].satd =
> PFX(pixel_satd_32x32_avx);
> @@ -2629,20 +2610,11 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].satd =
> PFX(pixel_satd_32x24_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].satd =
> PFX(pixel_satd_24x32_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].satd =
> PFX(pixel_satd_8x32_avx);
> -
> -        p.cu[BLOCK_64x64].sa8d = PFX(pixel_sa8d_64x64_avx);
> -        p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].sa8d =
> PFX(pixel_sa8d_8x16_avx);
> -        p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].sa8d =
> PFX(pixel_sa8d_16x32_avx);
> -        p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sa8d =
> PFX(pixel_sa8d_32x64_avx);
> -
>          p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].sa8d =
> PFX(pixel_sa8d_32x32_avx);
>          p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].sa8d =
> PFX(pixel_sa8d_16x16_avx);
>          p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].sa8d =
> PFX(pixel_sa8d_8x8_avx);
> -
>          p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].sse_pp =
> PFX(pixel_ssd_8x8_avx);
>
> -        p.cu[BLOCK_16x16].var = PFX(pixel_var_16x16_avx);
> -
>          p.pu[LUMA_16x4].sad_x4  = PFX(pixel_sad_x4_16x4_avx);
>
>          p.cu[BLOCK_16x16].copy_ss = PFX(blockcopy_ss_16x16_avx);
> @@ -2691,21 +2663,23 @@
>          p.cu[BLOCK_8x8].sa8d   = PFX(pixel_sa8d_8x8_avx);
>          p.cu[BLOCK_16x16].sa8d = PFX(pixel_sa8d_16x16_avx);
>          p.cu[BLOCK_32x32].sa8d = PFX(pixel_sa8d_32x32_avx);
> +        p.cu[BLOCK_64x64].sa8d = PFX(pixel_sa8d_64x64_avx);
> +        p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].sa8d =
> PFX(pixel_satd_4x4_avx);
> +        p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].sa8d =
> PFX(pixel_sa8d_8x16_avx);
> +        p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].sa8d =
> PFX(pixel_sa8d_16x32_avx);
> +        p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sa8d =
> PFX(pixel_sa8d_32x64_avx);
>          p.pu[LUMA_4x4].satd = p.cu[BLOCK_4x4].sa8d =
> PFX(pixel_satd_4x4_avx);
> +
> +        ALL_LUMA_PU(satd, pixel_satd, avx);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].satd =
> PFX(pixel_satd_8x4_avx);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].satd =
> PFX(pixel_satd_4x8_avx);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].satd =
> PFX(pixel_satd_4x16_avx);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].satd =
> PFX(pixel_satd_4x4_avx);
> -        p.pu[LUMA_8x4].satd   = PFX(pixel_satd_8x4_avx);
> -        p.pu[LUMA_4x8].satd   = PFX(pixel_satd_4x8_avx);
> -        p.pu[LUMA_12x16].satd = PFX(pixel_satd_12x16_avx);
> -        p.pu[LUMA_4x16].satd  = PFX(pixel_satd_4x16_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].satd =
> PFX(pixel_satd_4x4_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].satd =
> PFX(pixel_satd_8x4_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].satd =
> PFX(pixel_satd_4x8_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].satd =
> PFX(pixel_satd_12x16_avx);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].satd =
> PFX(pixel_satd_4x16_avx);
> -        p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].sa8d =
> PFX(pixel_satd_4x4_avx);
>
>          p.cu[BLOCK_16x16].sse_pp = PFX(pixel_ssd_16x16_avx);
>          p.cu[BLOCK_32x32].sse_pp = PFX(pixel_ssd_32x32_avx);
> @@ -2714,9 +2688,8 @@
>          p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].sse_pp =
> PFX(pixel_ssd_16x32_avx);
>          p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sse_pp =
> PFX(pixel_ssd_32x64_avx);
>          ASSIGN_SSE_SS(avx);
> -        p.cu[BLOCK_8x8].var   = PFX(pixel_var_8x8_avx);
> -        p.cu[BLOCK_32x32].var = PFX(pixel_var_32x32_avx);
> -        p.cu[BLOCK_64x64].var = PFX(pixel_var_64x64_avx)
> +
> +        LUMA_VAR(avx);
>
>          p.pu[LUMA_12x16].sad_x3 = PFX(pixel_sad_x3_12x16_avx);
>          p.pu[LUMA_16x4].sad_x3  = PFX(pixel_sad_x3_16x4_avx);
> @@ -2775,7 +2748,6 @@
>          p.saoCuOrgE1_2Rows = PFX(saoCuOrgE1_2Rows_avx2);
>          p.saoCuOrgE2[0] = PFX(saoCuOrgE2_avx2);
>          p.saoCuOrgE2[1] = PFX(saoCuOrgE2_32_avx2);
> -        p.saoCuOrgE3[0] = PFX(saoCuOrgE3_avx2);
>          p.saoCuOrgE3[1] = PFX(saoCuOrgE3_32_avx2);
>          p.saoCuOrgB0 = PFX(saoCuOrgB0_avx2);
>          p.sign = PFX(calSign_avx2);
> @@ -2792,8 +2764,6 @@
>          p.cu[BLOCK_32x32].psy_cost_pp = PFX(psyCost_pp_32x32_avx2);
>          p.cu[BLOCK_64x64].psy_cost_pp = PFX(psyCost_pp_64x64_avx2);
>
> -        p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_avx2);
> -        p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_avx2);
>          p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_avx2);
>          p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_avx2);
>          p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_avx2);
> @@ -2816,9 +2786,6 @@
>          p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_avx2);
>          p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_avx2);
>
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg =
> PFX(addAvg_8x8_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg =
> PFX(addAvg_8x16_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg =
> PFX(addAvg_8x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg =
> PFX(addAvg_16x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg =
> PFX(addAvg_16x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg =
> PFX(addAvg_16x12_avx2);
> @@ -2829,11 +2796,6 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg =
> PFX(addAvg_32x24_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg =
> PFX(addAvg_32x32_avx2);
>
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg =
> PFX(addAvg_8x8_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg =
> PFX(addAvg_8x12_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg =
> PFX(addAvg_8x16_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg =
> PFX(addAvg_8x32_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg =
> PFX(addAvg_8x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg =
> PFX(addAvg_16x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg =
> PFX(addAvg_16x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg =
> PFX(addAvg_16x24_avx2);
> @@ -2881,24 +2843,22 @@
>
>          p.pu[LUMA_16x16].satd = PFX(pixel_satd_16x16_avx2);
>          p.pu[LUMA_16x8].satd  = PFX(pixel_satd_16x8_avx2);
> -        p.pu[LUMA_8x16].satd  = PFX(pixel_satd_8x16_avx2);
> -        p.pu[LUMA_8x8].satd   = PFX(pixel_satd_8x8_avx2);
> -
> +        p.pu[LUMA_8x16].satd = PFX(pixel_satd_8x16_avx2);
> +        p.pu[LUMA_8x8].satd = PFX(pixel_satd_8x8_avx2);
>          p.pu[LUMA_16x4].satd  = PFX(pixel_satd_16x4_avx2);
> -        p.pu[LUMA_16x12].satd = PFX(pixel_satd_16x12_avx2);
> -        p.pu[LUMA_16x32].satd = PFX(pixel_satd_16x32_avx2);
> +        p.pu[LUMA_16x12].satd = PFX(pixel_satd_16x12_avx2);
> +        p.pu[LUMA_16x32].satd = PFX(pixel_satd_16x32_avx2);
>          p.pu[LUMA_16x64].satd = PFX(pixel_satd_16x64_avx2);
> -
>          p.pu[LUMA_32x8].satd   = PFX(pixel_satd_32x8_avx2);
> -        p.pu[LUMA_32x16].satd   = PFX(pixel_satd_32x16_avx2);
> -        p.pu[LUMA_32x24].satd   = PFX(pixel_satd_32x24_avx2);
> -        p.pu[LUMA_32x32].satd   = PFX(pixel_satd_32x32_avx2);
> -        p.pu[LUMA_32x64].satd   = PFX(pixel_satd_32x64_avx2);
> -        p.pu[LUMA_48x64].satd   = PFX(pixel_satd_48x64_avx2);
> -        p.pu[LUMA_64x16].satd   = PFX(pixel_satd_64x16_avx2);
> -        p.pu[LUMA_64x32].satd   = PFX(pixel_satd_64x32_avx2);
> -        p.pu[LUMA_64x48].satd   = PFX(pixel_satd_64x48_avx2);
> -        p.pu[LUMA_64x64].satd   = PFX(pixel_satd_64x64_avx2);
> +        p.pu[LUMA_32x16].satd = PFX(pixel_satd_32x16_avx2);
> +        p.pu[LUMA_32x24].satd = PFX(pixel_satd_32x24_avx2);
> +        p.pu[LUMA_32x32].satd = PFX(pixel_satd_32x32_avx2);
> +        p.pu[LUMA_32x64].satd = PFX(pixel_satd_32x64_avx2);
> +        p.pu[LUMA_48x64].satd = PFX(pixel_satd_48x64_avx2);
> +        p.pu[LUMA_64x16].satd = PFX(pixel_satd_64x16_avx2);
> +        p.pu[LUMA_64x32].satd = PFX(pixel_satd_64x32_avx2);
> +        p.pu[LUMA_64x48].satd = PFX(pixel_satd_64x48_avx2);
> +        p.pu[LUMA_64x64].satd = PFX(pixel_satd_64x64_avx2);
>
>          p.pu[LUMA_32x8].sad = PFX(pixel_sad_32x8_avx2);
>          p.pu[LUMA_32x16].sad = PFX(pixel_sad_32x16_avx2);
> @@ -2911,9 +2871,6 @@
>          p.pu[LUMA_64x48].sad = PFX(pixel_sad_64x48_avx2);
>          p.pu[LUMA_64x64].sad = PFX(pixel_sad_64x64_avx2);
>
> -        p.pu[LUMA_8x8].sad_x3 = PFX(pixel_sad_x3_8x8_avx2);
> -        p.pu[LUMA_16x8].sad_x4  = PFX(pixel_sad_x4_16x8_avx2);
> -        p.pu[LUMA_16x16].sad_x4 = PFX(pixel_sad_x4_16x16_avx2);
>          p.pu[LUMA_16x32].sad_x4 = PFX(pixel_sad_x4_16x32_avx2);
>          p.pu[LUMA_32x32].sad_x4 = PFX(pixel_sad_x4_32x32_avx2);
>          p.pu[LUMA_32x16].sad_x4 = PFX(pixel_sad_x4_32x16_avx2);
> @@ -2937,7 +2894,6 @@
>          p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_avx2);
>          p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_avx2);
>
> -        p.cu[BLOCK_8x8].cpy1Dto2D_shl = PFX(cpy1Dto2D_shl_8_avx2);
>          p.cu[BLOCK_16x16].cpy1Dto2D_shl = PFX(cpy1Dto2D_shl_16_avx2);
>          p.cu[BLOCK_32x32].cpy1Dto2D_shl = PFX(cpy1Dto2D_shl_32_avx2);
>
> @@ -3018,11 +2974,9 @@
>          p.cu[BLOCK_8x8].intra_pred[24] = PFX(intra_pred_ang8_24_avx2);
>          p.cu[BLOCK_8x8].intra_pred[11] = PFX(intra_pred_ang8_11_avx2);
>          p.cu[BLOCK_8x8].intra_pred[13] = PFX(intra_pred_ang8_13_avx2);
> -        p.cu[BLOCK_8x8].intra_pred[21] = PFX(intra_pred_ang8_21_avx2);
>          p.cu[BLOCK_8x8].intra_pred[22] = PFX(intra_pred_ang8_22_avx2);
>          p.cu[BLOCK_8x8].intra_pred[23] = PFX(intra_pred_ang8_23_avx2);
>          p.cu[BLOCK_8x8].intra_pred[14] = PFX(intra_pred_ang8_14_avx2);
> -        p.cu[BLOCK_8x8].intra_pred[15] = PFX(intra_pred_ang8_15_avx2);
>          p.cu[BLOCK_16x16].intra_pred[3] = PFX(intra_pred_ang16_3_avx2);
>          p.cu[BLOCK_16x16].intra_pred[4] = PFX(intra_pred_ang16_4_avx2);
>          p.cu[BLOCK_16x16].intra_pred[5] = PFX(intra_pred_ang16_5_avx2);
> @@ -3042,7 +2996,6 @@
>          p.cu[BLOCK_16x16].intra_pred[33] = PFX(intra_pred_ang16_33_avx2);
>          p.cu[BLOCK_16x16].intra_pred[24] = PFX(intra_pred_ang16_24_avx2);
>          p.cu[BLOCK_16x16].intra_pred[23] = PFX(intra_pred_ang16_23_avx2);
> -        p.cu[BLOCK_16x16].intra_pred[22] = PFX(intra_pred_ang16_22_avx2);
>          p.cu[BLOCK_32x32].intra_pred[4]  = PFX(intra_pred_ang32_4_avx2);
>          p.cu[BLOCK_32x32].intra_pred[5]  = PFX(intra_pred_ang32_5_avx2);
>          p.cu[BLOCK_32x32].intra_pred[6]  = PFX(intra_pred_ang32_6_avx2);
> @@ -3145,54 +3098,42 @@
>          p.pu[LUMA_24x32].luma_hps = PFX(interp_8tap_horiz_ps_24x32_avx2);
>
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x8_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x16_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_2x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_2x8_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x12_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x32_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_6x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_6x16_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x24_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x8_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x6_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x32_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_12x16_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].filter_hps =
> PFX(interp_4tap_horiz_ps_32x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].filter_hps =
> PFX(interp_4tap_horiz_ps_16x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hps =
> PFX(interp_4tap_horiz_ps_4x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].filter_hps =
> PFX(interp_4tap_horiz_ps_8x8_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hps =
> PFX(interp_4tap_horiz_ps_4x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_hps =
> PFX(interp_4tap_horiz_ps_4x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_hps =
> PFX(interp_4tap_horiz_ps_4x16_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].filter_hps =
> PFX(interp_4tap_horiz_ps_8x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].filter_hps =
> PFX(interp_4tap_horiz_ps_8x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].filter_hps =
> PFX(interp_4tap_horiz_ps_8x6_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].filter_hps =
> PFX(interp_4tap_horiz_ps_8x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].filter_hps =
> PFX(interp_4tap_horiz_ps_8x16_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].filter_hps =
> PFX(interp_4tap_horiz_ps_16x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].filter_hps =
> PFX(interp_4tap_horiz_ps_16x12_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].filter_hps =
> PFX(interp_4tap_horiz_ps_16x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].filter_hps =
> PFX(interp_4tap_horiz_ps_16x4_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_hps =
> PFX(interp_4tap_horiz_ps_24x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].filter_hps =
> PFX(interp_4tap_horiz_ps_32x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_hps =
> PFX(interp_4tap_horiz_ps_32x24_avx2);
> @@ -3203,24 +3144,18 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_24x32_avx2);
>
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vpp =
> PFX(interp_4tap_vert_pp_4x4_avx2);
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_vpp =
> PFX(interp_4tap_vert_pp_4x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vpp =
> PFX(interp_4tap_vert_pp_4x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].filter_vpp =
> PFX(interp_4tap_vert_pp_8x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_vpp =
> PFX(interp_4tap_vert_pp_2x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_vpp =
> PFX(interp_4tap_vert_pp_2x8_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vpp =
> PFX(interp_4tap_vert_pp_4x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_vpp =
> PFX(interp_4tap_vert_pp_4x8_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vpp =
> PFX(interp_4tap_vert_pp_6x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].filter_vpp =
> PFX(interp_4tap_vert_pp_8x2_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].filter_vpp =
> PFX(interp_4tap_vert_pp_8x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].filter_vpp =
> PFX(interp_4tap_vert_pp_8x6_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].filter_vpp =
> PFX(interp_4tap_vert_pp_8x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].filter_vpp =
> PFX(interp_4tap_vert_pp_8x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vpp =
> PFX(interp_4tap_vert_pp_12x16_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].filter_vpp =
> PFX(interp_4tap_vert_pp_16x12_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_vpp =
> PFX(interp_4tap_vert_pp_24x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].filter_vpp =
> PFX(interp_4tap_vert_pp_32x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].filter_vpp =
> PFX(interp_4tap_vert_pp_32x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_vpp =
> PFX(interp_4tap_vert_pp_32x24_avx2);
> @@ -3234,8 +3169,6 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].filter_vps =
> PFX(interp_4tap_vert_ps_8x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].filter_vps =
> PFX(interp_4tap_vert_ps_8x6_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].filter_vps =
> PFX(interp_4tap_vert_ps_8x8_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vps =
> PFX(interp_4tap_vert_ps_12x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].filter_vps =
> PFX(interp_4tap_vert_ps_16x4_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].filter_vps =
> PFX(interp_4tap_vert_ps_16x8_avx2);
> @@ -3243,7 +3176,6 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vps =
> PFX(interp_4tap_vert_ps_4x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].filter_vps =
> PFX(interp_4tap_vert_ps_16x16_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].filter_vps =
> PFX(interp_4tap_vert_ps_16x32_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_vps =
> PFX(interp_4tap_vert_ps_24x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].filter_vps =
> PFX(interp_4tap_vert_ps_32x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_vps =
> PFX(interp_4tap_vert_ps_32x24_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].filter_vps =
> PFX(interp_4tap_vert_ps_32x16_avx2);
> @@ -3297,7 +3229,6 @@
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_vss =
> PFX(interp_4tap_vert_ss_24x32_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].filter_vss =
> PFX(interp_4tap_vert_ss_32x8_avx2);
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].filter_vss =
> PFX(interp_4tap_vert_ss_32x16_avx2);
> -        p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_vss =
> PFX(interp_4tap_vert_ss_32x24_avx2);
>
>          //i422 for chroma_vss
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vss =
> PFX(interp_4tap_vert_ss_4x8_avx2);
> @@ -3312,11 +3243,7 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_vss =
> PFX(interp_4tap_vert_ss_32x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_vss =
> PFX(interp_4tap_vert_ss_8x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].filter_vss =
> PFX(interp_4tap_vert_ss_32x16_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_vss =
> PFX(interp_4tap_vert_ss_32x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_vss =
> PFX(interp_4tap_vert_ss_16x64_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].filter_vss =
> PFX(interp_4tap_vert_ss_24x64_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_vss =
> PFX(interp_4tap_vert_ss_8x64_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].filter_vss =
> PFX(interp_4tap_vert_ss_32x48_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].filter_vss =
> PFX(interp_4tap_vert_ss_8x12_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vss =
> PFX(interp_4tap_vert_ss_6x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vss =
> PFX(interp_4tap_vert_ss_2x16_avx2);
> @@ -3330,7 +3257,6 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_8x8].filter_vss =
> PFX(interp_4tap_vert_ss_8x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x16].filter_vss =
> PFX(interp_4tap_vert_ss_16x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x32].filter_vss =
> PFX(interp_4tap_vert_ss_32x32_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_64x64].filter_vss =
> PFX(interp_4tap_vert_ss_64x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x4].filter_vss =
> PFX(interp_4tap_vert_ss_8x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vss =
> PFX(interp_4tap_vert_ss_4x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x8].filter_vss =
> PFX(interp_4tap_vert_ss_16x8_avx2);
> @@ -3341,14 +3267,10 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vss =
> PFX(interp_4tap_vert_ss_12x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x4].filter_vss =
> PFX(interp_4tap_vert_ss_16x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vss =
> PFX(interp_4tap_vert_ss_4x16_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_vss =
> PFX(interp_4tap_vert_ss_32x24_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_vss =
> PFX(interp_4tap_vert_ss_24x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x8].filter_vss =
> PFX(interp_4tap_vert_ss_32x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_vss =
> PFX(interp_4tap_vert_ss_8x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x32].filter_vss =
> PFX(interp_4tap_vert_ss_64x32_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_vss =
> PFX(interp_4tap_vert_ss_32x64_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_64x48].filter_vss =
> PFX(interp_4tap_vert_ss_64x48_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_48x64].filter_vss =
> PFX(interp_4tap_vert_ss_48x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x16].filter_vss =
> PFX(interp_4tap_vert_ss_64x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_vss =
> PFX(interp_4tap_vert_ss_16x64_avx2);
>
> @@ -3384,23 +3306,18 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_12x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_24x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_2x16_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_2x16_avx2);
> -
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x12_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x24_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x64_avx2);
> @@ -3408,29 +3325,23 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_2x8_avx2);
>
>          //i444 filters hpp
> -
> -        p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_8x32_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_16x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x12].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x12_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_16x64_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_12x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_24x32_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_32x16].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x24_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x8].filter_hpp =
> PFX(interp_4tap_horiz_pp_32x8_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_64x64].filter_hpp =
> PFX(interp_4tap_horiz_pp_64x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x32].filter_hpp =
> PFX(interp_4tap_horiz_pp_64x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x48].filter_hpp =
> PFX(interp_4tap_horiz_pp_64x48_avx2);
> @@ -3440,25 +3351,21 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hps =
> PFX(interp_4tap_horiz_ps_4x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_hps =
> PFX(interp_4tap_horiz_ps_4x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_hps =
> PFX(interp_4tap_horiz_ps_4x16_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_hps =
> PFX(interp_4tap_horiz_ps_8x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].filter_hps =
> PFX(interp_4tap_horiz_ps_8x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_hps =
> PFX(interp_4tap_horiz_ps_8x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].filter_hps =
> PFX(interp_4tap_horiz_ps_8x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_hps =
> PFX(interp_4tap_horiz_ps_8x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].filter_hps =
> PFX(interp_4tap_horiz_ps_8x12_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].filter_hps =
> PFX(interp_4tap_horiz_ps_16x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].filter_hps =
> PFX(interp_4tap_horiz_ps_16x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_hps =
> PFX(interp_4tap_horiz_ps_16x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_hps =
> PFX(interp_4tap_horiz_ps_16x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].filter_hps =
> PFX(interp_4tap_horiz_ps_16x24_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].filter_hps =
> PFX(interp_4tap_horiz_ps_32x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_hps =
> PFX(interp_4tap_horiz_ps_32x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_hps =
> PFX(interp_4tap_horiz_ps_32x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].filter_hps =
> PFX(interp_4tap_horiz_ps_32x48_avx2);
> -
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hps =
> PFX(interp_4tap_horiz_ps_2x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].filter_hps =
> PFX(interp_4tap_horiz_ps_24x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hps =
> PFX(interp_4tap_horiz_ps_2x16_avx2);
> @@ -3468,28 +3375,22 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_64x48].filter_hps =
> PFX(interp_4tap_horiz_ps_64x48_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x16].filter_hps =
> PFX(interp_4tap_horiz_ps_64x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x64].filter_hps =
> PFX(interp_4tap_horiz_ps_64x64_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hps =
> PFX(interp_4tap_horiz_ps_4x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x8].filter_hps =
> PFX(interp_4tap_horiz_ps_8x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x16].filter_hps =
> PFX(interp_4tap_horiz_ps_16x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x32].filter_hps =
> PFX(interp_4tap_horiz_ps_32x32_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_hps =
> PFX(interp_4tap_horiz_ps_4x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_hps =
> PFX(interp_4tap_horiz_ps_4x16_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_8x4].filter_hps =
> PFX(interp_4tap_horiz_ps_8x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x16].filter_hps =
> PFX(interp_4tap_horiz_ps_8x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_hps =
> PFX(interp_4tap_horiz_ps_8x32_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_16x8].filter_hps =
> PFX(interp_4tap_horiz_ps_16x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x32].filter_hps =
> PFX(interp_4tap_horiz_ps_16x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x12].filter_hps =
> PFX(interp_4tap_horiz_ps_16x12_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x4].filter_hps =
> PFX(interp_4tap_horiz_ps_16x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_hps =
> PFX(interp_4tap_horiz_ps_16x64_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_hps =
> PFX(interp_4tap_horiz_ps_24x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_48x64].filter_hps =
> PFX(interp_4tap_horiz_ps_48x64_avx2);
> -
>          p.chroma[X265_CSP_I444].pu[LUMA_32x16].filter_hps =
> PFX(interp_4tap_horiz_ps_32x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_hps =
> PFX(interp_4tap_horiz_ps_32x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_hps =
> PFX(interp_4tap_horiz_ps_32x24_avx2);
> @@ -3551,14 +3452,12 @@
>
>          //i422 for chroma_vps
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vps =
> PFX(interp_4tap_vert_ps_4x8_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_vps =
> PFX(interp_4tap_vert_ps_16x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vps =
> PFX(interp_4tap_vert_ps_4x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vps =
> PFX(interp_4tap_vert_ps_2x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].filter_vps =
> PFX(interp_4tap_vert_ps_8x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vps =
> PFX(interp_4tap_vert_ps_4x16_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].filter_vps =
> PFX(interp_4tap_vert_ps_16x16_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_vps =
> PFX(interp_4tap_vert_ps_32x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_vps =
> PFX(interp_4tap_vert_ps_8x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].filter_vps =
> PFX(interp_4tap_vert_ps_16x8_avx2);
> @@ -3583,7 +3482,6 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_8x4].filter_vps =
> PFX(interp_4tap_vert_ps_8x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vps =
> PFX(interp_4tap_vert_ps_4x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x8].filter_vps =
> PFX(interp_4tap_vert_ps_16x8_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x16].filter_vps =
> PFX(interp_4tap_vert_ps_32x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x32].filter_vps =
> PFX(interp_4tap_vert_ps_16x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x12].filter_vps =
> PFX(interp_4tap_vert_ps_16x12_avx2);
> @@ -3591,9 +3489,7 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_16x4].filter_vps =
> PFX(interp_4tap_vert_ps_16x4_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vps =
> PFX(interp_4tap_vert_ps_4x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_vps =
> PFX(interp_4tap_vert_ps_32x24_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_vps =
> PFX(interp_4tap_vert_ps_24x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x8].filter_vps =
> PFX(interp_4tap_vert_ps_32x8_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_vps =
> PFX(interp_4tap_vert_ps_16x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_vps =
> PFX(interp_4tap_vert_ps_32x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_48x64].filter_vps =
> PFX(interp_4tap_vert_ps_48x64_avx2);
> @@ -3605,7 +3501,6 @@
>          //i422 for chroma_vpp
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vpp =
> PFX(interp_4tap_vert_pp_4x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_vpp =
> PFX(interp_4tap_vert_pp_8x16_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vpp =
> PFX(interp_4tap_vert_pp_4x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vpp =
> PFX(interp_4tap_vert_pp_2x8_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].filter_vpp =
> PFX(interp_4tap_vert_pp_8x8_avx2);
> @@ -3614,7 +3509,6 @@
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_vpp =
> PFX(interp_4tap_vert_pp_32x32_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_vpp =
> PFX(interp_4tap_vert_pp_8x4_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].filter_vpp =
> PFX(interp_4tap_vert_pp_32x16_avx2);
> -        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_vpp =
> PFX(interp_4tap_vert_pp_16x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_vpp =
> PFX(interp_4tap_vert_pp_8x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_vpp =
> PFX(interp_4tap_vert_pp_32x64_avx2);
>          p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].filter_vpp =
> PFX(interp_4tap_vert_pp_32x48_avx2);
> @@ -3633,15 +3527,11 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vpp =
> PFX(interp_4tap_vert_pp_4x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x16].filter_vpp =
> PFX(interp_4tap_vert_pp_8x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x16].filter_vpp =
> PFX(interp_4tap_vert_pp_32x16_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_16x12].filter_vpp =
> PFX(interp_4tap_vert_pp_16x12_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vpp =
> PFX(interp_4tap_vert_pp_12x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vpp =
> PFX(interp_4tap_vert_pp_4x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_vpp =
> PFX(interp_4tap_vert_pp_32x24_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_vpp =
> PFX(interp_4tap_vert_pp_24x32_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x8].filter_vpp =
> PFX(interp_4tap_vert_pp_32x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_vpp =
> PFX(interp_4tap_vert_pp_8x32_avx2);
> -        p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_vpp =
> PFX(interp_4tap_vert_pp_16x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_vpp =
> PFX(interp_4tap_vert_pp_32x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_48x64].filter_vpp =
> PFX(interp_4tap_vert_pp_48x64_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_64x64].filter_vpp =
> PFX(interp_4tap_vert_pp_64x64_avx2);
> @@ -3706,6 +3596,64 @@
>          p.chroma[X265_CSP_I444].pu[LUMA_16x16].filter_vpp =
> PFX(interp_4tap_vert_pp_16x16_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x8].filter_vpp =
> PFX(interp_4tap_vert_pp_16x8_avx2);
>          p.chroma[X265_CSP_I444].pu[LUMA_16x4].filter_vpp =
> PFX(interp_4tap_vert_pp_16x4_avx2);
> +
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hpp =
> PFX(interp_4tap_horiz_pp_4x4_avx2);
> +
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_vpp =
> PFX(interp_4tap_vert_pp_24x32_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_vpp =
> PFX(interp_4tap_vert_pp_24x32_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vpp =
> PFX(interp_4tap_vert_pp_6x8_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_vpp =
> PFX(interp_4tap_vert_pp_16x32_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].filter_vpp =
> PFX(interp_4tap_vert_pp_16x12_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_16x12].filter_vpp =
> PFX(interp_4tap_vert_pp_16x12_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_vpp =
> PFX(interp_4tap_vert_pp_16x64_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_16x64].filter_vpp =
> PFX(interp_4tap_vert_pp_16x64_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vpp =
> PFX(interp_4tap_vert_pp_4x2_avx2);
> +
> +        p.chroma[X265_CSP_I444].pu[LUMA_64x64].filter_vss =
> PFX(interp_4tap_vert_ss_64x64_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_vss =
> PFX(interp_4tap_vert_ss_8x64_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_64x48].filter_vss =
> PFX(interp_4tap_vert_ss_64x48_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_48x64].filter_vss =
> PFX(interp_4tap_vert_ss_48x64_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_vss =
> PFX(interp_4tap_vert_ss_32x64_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_32x64].filter_vss =
> PFX(interp_4tap_vert_ss_32x64_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].filter_vss =
> PFX(interp_4tap_vert_ss_32x48_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].filter_vss =
> PFX(interp_4tap_vert_ss_24x64_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].filter_vss =
> PFX(interp_4tap_vert_ss_32x24_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_32x24].filter_vss =
> PFX(interp_4tap_vert_ss_32x24_avx2);
> +
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_8x32].filter_vps =
> PFX(interp_4tap_vert_ps_8x32_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_vps =
> PFX(interp_4tap_vert_ps_24x32_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_24x32].filter_vps =
> PFX(interp_4tap_vert_ps_24x32_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
> +        p.chroma[X265_CSP_I444].pu[LUMA_8x16].filter_vps =
> PFX(interp_4tap_vert_ps_8x16_avx2);
> +
> +        p.pu[LUMA_8x8].sad_x3 = PFX(pixel_sad_x3_8x8_avx2);
> +        p.pu[LUMA_16x8].sad_x4  = PFX(pixel_sad_x4_16x8_avx2);
> +        p.pu[LUMA_16x16].sad_x4 = PFX(pixel_sad_x4_16x16_avx2);
> +
> +        p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_avx2);
> +        p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg =
> PFX(addAvg_8x8_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg =
> PFX(addAvg_8x16_avx2);
> +        p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg =
> PFX(addAvg_8x32_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg =
> PFX(addAvg_8x8_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg =
> PFX(addAvg_8x12_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg =
> PFX(addAvg_8x16_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg =
> PFX(addAvg_8x32_avx2);
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg =
> PFX(addAvg_8x64_avx2);
> +
> +        p.cu[BLOCK_8x8].cpy1Dto2D_shl = PFX(cpy1Dto2D_shl_8_avx2);
> +        p.saoCuOrgE3[0] = PFX(saoCuOrgE3_avx2);
> +
> +        p.cu[BLOCK_16x16].intra_pred[22] = PFX(intra_pred_ang16_22_avx2);
> +        p.cu[BLOCK_8x8].intra_pred[21] = PFX(intra_pred_ang8_21_avx2);
> +        p.cu[BLOCK_8x8].intra_pred[15] = PFX(intra_pred_ang8_15_avx2);
>  #endif
>      }
>  #endif
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150819/d6a6c804/attachment-0001.html>


More information about the x265-devel mailing list