<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV>This patch broken 8bpp build<BR><BR>At 2013-12-02 20:20:29,yuvaraj@multicorewareinc.com wrote:<BR>># HG changeset patch<BR>># User Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com><BR>># Date 1385986812 -19800<BR>>#      Mon Dec 02 17:50:12 2013 +0530<BR>># Node ID fa3a3eced7228599400f9403dba159d433d05222<BR>># Parent  d0bed5d188d772231f946d0e54bb96c2eff5d38a<BR>>asm: 16bpp support for satd_32xN<BR>><BR>>diff -r d0bed5d188d7 -r fa3a3eced722 source/common/x86/asm-primitives.cpp<BR>>--- a/source/common/x86/asm-primitives.cpp      Mon Dec 02 15:29:22 2013 +0530<BR>>+++ b/source/common/x86/asm-primitives.cpp    Mon Dec 02 17:50:12 2013 +0530<BR>>@@ -498,6 +498,12 @@<BR>>         p.satd[LUMA_12x16] = x265_pixel_satd_12x16_sse2;<BR>>         p.satd[LUMA_24x32] = x265_pixel_satd_24x32_sse2;<BR>>         p.satd[LUMA_48x64] = x265_pixel_satd_48x64_sse2;<BR>>+        p.satd[LUMA_32x8] = x265_pixel_satd_32x8_sse2;<BR>>+        p.satd[LUMA_32x16] = x265_pixel_satd_32x16_sse2;<BR>>+        p.satd[LUMA_32x24] = x265_pixel_satd_32x24_sse2;<BR>>+        p.satd[LUMA_32x32] = x265_pixel_satd_32x32_sse2;<BR>>+        p.satd[LUMA_32x64] = x265_pixel_satd_32x64_sse2;<BR>>+<BR>> <BR>>         p.sa8d_inter[LUMA_8x8] = x265_pixel_sa8d_8x8_sse2;<BR>>         p.sa8d_inter[LUMA_16x16] = x265_pixel_sa8d_16x16_sse2;<BR>>diff -r d0bed5d188d7 -r fa3a3eced722 source/common/x86/pixel-a.asm<BR>>--- a/source/common/x86/pixel-a.asm     Mon Dec 02 15:29:22 2013 +0530<BR>>+++ b/source/common/x86/pixel-a.asm   Mon Dec 02 17:50:12 2013 +0530<BR>>@@ -3788,14 +3788,14 @@<BR>>     mov r6, r0<BR>>     mov r7, r2<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>-    lea r2, [r7 + 8]<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>-    lea r2, [r7 + 16]<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>-    lea r2, [r7 + 24]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 8*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 16*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 24*SIZEOF_PIXEL]<BR>>     call pixel_satd_8x8_internal<BR>>     SATD_END_SSE2 m6<BR>> %else<BR>>@@ -3804,17 +3804,17 @@<BR>>     mov r6, r0<BR>>     mov [rsp], r2<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 8<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>+    add r2, 8*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 16<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>+    add r2, 16*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 24<BR>>+    add r2, 24*SIZEOF_PIXEL<BR>>     call pixel_satd_8x8_internal<BR>>     SATD_END_SSE2 m6<BR>> %endif<BR>>@@ -3826,16 +3826,16 @@<BR>>     mov r7, r2<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>-    lea r2, [r7 + 8]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>-    lea r2, [r7 + 16]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>-    lea r2, [r7 + 24]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 8*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 16*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 24*SIZEOF_PIXEL]<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     SATD_END_SSE2 m6<BR>>@@ -3846,19 +3846,19 @@<BR>>     mov [rsp], r2<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 8<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>+    add r2, 8*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 16<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>+    add r2, 16*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 24<BR>>+    add r2, 24*SIZEOF_PIXEL<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     SATD_END_SSE2 m6<BR>>@@ -3872,22 +3872,25 @@<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>-    lea r2, [r7 + 8]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>-    lea r2, [r7 + 16]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>-    lea r2, [r7 + 24]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    SATD_END_SSE2 m6<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 8*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 16*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 24*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_END_SSE2 m6, m7<BR>> %else<BR>> cglobal pixel_satd_32x24, 4,7,8,0-4    ;if !WIN64<BR>>     SATD_START_SSE2 m6, m7<BR>>@@ -3896,25 +3899,29 @@<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>+    pxor       m7, m7<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 8<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>+    add r2, 8*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 16<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>+    add r2, 16*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 24<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    SATD_END_SSE2 m6<BR>>+    add r2, 24*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_END_SSE2 m6, m7<BR>> %endif<BR>> <BR>> %if WIN64<BR>>@@ -3926,28 +3933,29 @@<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>-    lea r2, [r7 + 8]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>-    lea r2, [r7 + 16]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>-    lea r2, [r7 + 24]<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    SATD_END_SSE2 m6<BR>>-<BR>>-<BR>>-%else   <BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 8*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 16*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 24*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_END_SSE2 m6, m7<BR>>+%else<BR>> cglobal pixel_satd_32x32, 4,7,8,0-4    ;if !WIN64<BR>> <BR>>     SATD_START_SSE2 m6, m7<BR>>@@ -3957,28 +3965,32 @@<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>     call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 8]<BR>>+    pxor       m7, m7<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 8<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 16]<BR>>+    add r2, 8*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 16<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    lea r0, [r6 + 24]<BR>>+    add r2, 16*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_ACCUM m6, m0, m7<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 24<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    call pixel_satd_8x8_internal<BR>>-    SATD_END_SSE2 m6<BR>>+    add r2, 24*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    call pixel_satd_8x8_internal<BR>>+    SATD_END_SSE2 m6, m7<BR>> <BR>> %endif<BR>> <BR>>@@ -3995,28 +4007,28 @@<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 8]<BR>>-    lea r2, [r7 + 8]<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 16]<BR>>-    lea r2, [r7 + 16]<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 24]<BR>>-    lea r2, [r7 + 24]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 8*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 16*SIZEOF_PIXEL]<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>+    lea r2, [r7 + 24*SIZEOF_PIXEL]<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>@@ -4045,31 +4057,31 @@<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 8]<BR>>+    lea r0, [r6 + 8*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 8<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 16]<BR>>+    add r2, 8*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    lea r0, [r6 + 16*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 16<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    call pixel_satd_8x8_internal2<BR>>-    lea r0, [r6 + 24]<BR>>+    add r2, 16*SIZEOF_PIXEL<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    call pixel_satd_8x8_internal2<BR>>+    lea r0, [r6 + 24*SIZEOF_PIXEL]<BR>>     mov r2, [rsp]<BR>>-    add r2, 24<BR>>+    add r2, 24*SIZEOF_PIXEL<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>     call pixel_satd_8x8_internal2<BR>>@@ -4087,6 +4099,7 @@<BR>>     RET<BR>> %endif<BR>> <BR>>+<BR>> %if WIN64<BR>> cglobal pixel_satd_48x64, 4,8,8    ;if WIN64 && cpuflag(avx)<BR>>     SATD_START_SSE2 m6, m7<BR>>_______________________________________________<BR>>x265-devel mailing list<BR>>x265-devel@videolan.org<BR>>https://mailman.videolan.org/listinfo/x265-devel<BR></DIV></div>