<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div><br></div><pre><br>At 2015-09-03 16:22:53,ramya@multicorewareinc.com wrote:
># HG changeset patch
># User Ramya Sriraman <ramya@multicorewareinc.com>
># Date 1441088473 -19800
># Tue Sep 01 11:51:13 2015 +0530
># Node ID 8864f6a4d9ce4c1aa3c1b3c934befffb616ace35
># Parent 83dc8aea6ba7c10e0d78ec7dc34b3d8f7d114563
>asm: fix sse_pp[32x64] sse2 asm for 12 bit
>
>diff -r 83dc8aea6ba7 -r 8864f6a4d9ce source/common/x86/asm-primitives.cpp
>--- a/source/common/x86/asm-primitives.cpp Wed Aug 26 17:06:25 2015 +0530
>+++ b/source/common/x86/asm-primitives.cpp Tue Sep 01 11:51:13 2015 +0530
>@@ -1001,11 +1001,11 @@
> p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].sse_pp = (pixel_sse_t)PFX(pixel_ssd_ss_4x8_mmx2);
> p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].sse_pp = (pixel_sse_t)PFX(pixel_ssd_ss_8x16_sse2);
> p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].sse_pp = (pixel_sse_t)PFX(pixel_ssd_ss_16x32_sse2);
>-
>+ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sse_pp = (pixel_sse_t)PFX(pixel_ssd_ss_32x64_sse2);
>+
> #if X265_DEPTH <= 10
> p.cu[BLOCK_4x4].sse_ss = PFX(pixel_ssd_ss_4x4_mmx2);
> ALL_LUMA_CU(sse_ss, pixel_ssd_ss, sse2);
>- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sse_pp = (pixel_sse_t)PFX(pixel_ssd_ss_32x64_sse2);
> #endif
>
> p.cu[BLOCK_4x4].dct = PFX(dct4_sse2);
>diff -r 83dc8aea6ba7 -r 8864f6a4d9ce source/common/x86/ssd-a.asm
>--- a/source/common/x86/ssd-a.asm Wed Aug 26 17:06:25 2015 +0530
>+++ b/source/common/x86/ssd-a.asm Tue Sep 01 11:51:13 2015 +0530
>@@ -125,6 +125,61 @@
> RET
> %endmacro
>
>+; Function to find ssd for 32x16 block, sse2, 12 bit depth
>+; Defined sepeartely to be called from SSD_ONE_32 macro
>+INIT_XMM sse2
>+cglobal ssd_ss_32x16
>+ pxor m8, m8
>+ mov r4d, 16
>+.loop:
>+ movu m0, [r0]
>+ movu m1, [r0+mmsize]
>+ movu m2, [r0+2*mmsize]
>+ movu m3, [r0+3*mmsize]
>+ movu m4, [r2]
>+ movu m5, [r2+mmsize]
>+ movu m6, [r2+2*mmsize]
>+ movu m7, [r2+3*mmsize]
>+ psubw m0, m4
>+ psubw m1, m5
>+ psubw m2, m6
>+ psubw m3, m7
>+ lea r0, [r0+r1]
>+ lea r2, [r2+r3]
>+ pmaddwd m0, m0
>+ pmaddwd m1, m1
>+ pmaddwd m2, m2
>+ pmaddwd m3, m3
>+ paddd m2, m3
>+ paddd m1, m2
>+ paddd m0, m1
>+ paddd m8, m0</pre><pre>2 \ <br>3 + - 0 - 1 - 8</pre><pre>Above dependency link a little longer, try below one</pre><pre>0 \<br>1 + - + 8<br>2 + /<br>3 /</pre><pre><br></pre></div>