[x265] [PATCH] asm: avx2 code for chroma addAvg for all partitions

Steve Borho steve at borho.org
Fri Apr 17 20:26:34 CEST 2015


On 04/17, sumalatha at multicorewareinc.com wrote:
> # HG changeset patch
> # User Sumalatha Polureddy
> # Date 1429261467 -19800
> #      Fri Apr 17 14:34:27 2015 +0530
> # Node ID bb3af1612c15b38d470d3d30bafceb82d1b3c322
> # Parent  7be1172ec816298c32f588908e1b6f0fa214d349
> asm: avx2 code for chroma addAvg for all partitions

this patch adds tabs at the end of source lines, trimmed locally

> diff -r 7be1172ec816 -r bb3af1612c15 source/common/x86/asm-primitives.cpp
> --- a/source/common/x86/asm-primitives.cpp	Thu Apr 16 11:38:32 2015 +0530
> +++ b/source/common/x86/asm-primitives.cpp	Fri Apr 17 14:34:27 2015 +0530
> @@ -1689,26 +1689,40 @@
>          p.pu[LUMA_64x32].addAvg = x265_addAvg_64x32_avx2;
>          p.pu[LUMA_64x48].addAvg = x265_addAvg_64x48_avx2;
>          p.pu[LUMA_64x64].addAvg = x265_addAvg_64x64_avx2;
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = x265_addAvg_8x2_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = x265_addAvg_8x4_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = x265_addAvg_8x6_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = x265_addAvg_8x8_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = x265_addAvg_8x16_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = x265_addAvg_8x32_avx2;
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = x265_addAvg_12x16_avx2;
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = x265_addAvg_16x4_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = x265_addAvg_16x8_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = x265_addAvg_16x12_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = x265_addAvg_16x16_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = x265_addAvg_16x32_avx2;
> -
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = x265_addAvg_32x8_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = x265_addAvg_32x16_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = x265_addAvg_32x24_avx2;
>          p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = x265_addAvg_32x32_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = x265_addAvg_8x4_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = x265_addAvg_8x8_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = x265_addAvg_8x12_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = x265_addAvg_8x16_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = x265_addAvg_8x32_avx2;		
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = x265_addAvg_8x64_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = x265_addAvg_12x32_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = x265_addAvg_16x8_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = x265_addAvg_16x16_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = x265_addAvg_16x24_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = x265_addAvg_16x32_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = x265_addAvg_16x64_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = x265_addAvg_24x64_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = x265_addAvg_32x16_avx2;		
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = x265_addAvg_32x32_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = x265_addAvg_32x48_avx2;
> +        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = x265_addAvg_32x64_avx2;
> +		
>  
>          p.cu[BLOCK_16x16].add_ps = x265_pixel_add_ps_16x16_avx2;
>          p.cu[BLOCK_32x32].add_ps = x265_pixel_add_ps_32x32_avx2;
> diff -r 7be1172ec816 -r bb3af1612c15 source/common/x86/mc-a.asm
> --- a/source/common/x86/mc-a.asm	Thu Apr 16 11:38:32 2015 +0530
> +++ b/source/common/x86/mc-a.asm	Fri Apr 17 14:34:27 2015 +0530
> @@ -1895,8 +1895,10 @@
>  
>  ADDAVG_W8_H4_AVX2 4
>  ADDAVG_W8_H4_AVX2 8
> +ADDAVG_W8_H4_AVX2 12
>  ADDAVG_W8_H4_AVX2 16
>  ADDAVG_W8_H4_AVX2 32
> +ADDAVG_W8_H4_AVX2 64
>  
>  %macro ADDAVG_W12_H4_AVX2 1
>  INIT_YMM avx2
> @@ -1982,6 +1984,7 @@
>  %endmacro
>  
>  ADDAVG_W12_H4_AVX2 16
> +ADDAVG_W12_H4_AVX2 32
>  
>  %macro ADDAVG_W16_H4_AVX2 1
>  INIT_YMM avx2
> @@ -2044,6 +2047,7 @@
>  ADDAVG_W16_H4_AVX2 8
>  ADDAVG_W16_H4_AVX2 12
>  ADDAVG_W16_H4_AVX2 16
> +ADDAVG_W16_H4_AVX2 24
>  ADDAVG_W16_H4_AVX2 32
>  ADDAVG_W16_H4_AVX2 64
>  
> @@ -2101,6 +2105,7 @@
>  %endmacro
>  
>  ADDAVG_W24_H2_AVX2 32
> +ADDAVG_W24_H2_AVX2 64
>  
>  %macro ADDAVG_W32_H2_AVX2 1
>  INIT_YMM avx2
> @@ -2157,6 +2162,7 @@
>  ADDAVG_W32_H2_AVX2 16
>  ADDAVG_W32_H2_AVX2 24
>  ADDAVG_W32_H2_AVX2 32
> +ADDAVG_W32_H2_AVX2 48
>  ADDAVG_W32_H2_AVX2 64
>  
>  %macro ADDAVG_W64_H2_AVX2 1
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-- 
Steve Borho


More information about the x265-devel mailing list