<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV>code is right</DIV>
<DIV><BR>At 2014-01-21 14:36:15,yuvaraj@multicorewareinc.com wrote:<BR>># HG changeset patch<BR>># User Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com><BR>># Date 1390286104 -19800<BR>>#      Tue Jan 21 12:05:04 2014 +0530<BR>># Node ID 051c3938d6e797d75c06792ccbf8fb2326576b92<BR>># Parent  ce41ee0f5c8c6bf0a8b5ab268c172c7d6194f1d7<BR>>assembly code for intra_pred_ang8_4.<BR>><BR>>diff -r ce41ee0f5c8c -r 051c3938d6e7 source/common/x86/asm-primitives.cpp<BR>>--- a/source/common/x86/asm-primitives.cpp Tue Jan 21 10:11:44 2014 +0530<BR>>+++ b/source/common/x86/asm-primitives.cpp    Tue Jan 21 12:05:04 2014 +0530<BR>>@@ -1013,11 +1013,13 @@<BR>>         SETUP_INTRA_ANG4(32, 4, sse4);<BR>>         SETUP_INTRA_ANG4(33, 3, sse4);<BR>> <BR>>+        SETUP_INTRA_ANG8(3, 3, sse4);<BR>>+        SETUP_INTRA_ANG8(4, 4, sse4);<BR>>+        SETUP_INTRA_ANG8(32, 4, sse4);<BR>>+        SETUP_INTRA_ANG8(33, 3, sse4);<BR>>+<BR>>         SETUP_INTRA_ANG32(17, 17, sse4);<BR>> <BR>>-        SETUP_INTRA_ANG8(3, 3, sse4);<BR>>-        SETUP_INTRA_ANG8(33, 3, sse4);<BR>>-<BR>>         p.dct[DCT_8x8] = x265_dct8_sse4;<BR>>     }<BR>>     if (cpuMask & X265_CPU_AVX)<BR>>diff -r ce41ee0f5c8c -r 051c3938d6e7 source/common/x86/intrapred8.asm<BR>>--- a/source/common/x86/intrapred8.asm        Tue Jan 21 10:11:44 2014 +0530<BR>>+++ b/source/common/x86/intrapred8.asm        Tue Jan 21 12:05:04 2014 +0530<BR>>@@ -1196,6 +1196,7 @@<BR>>     pmulhrsw    m2,        m7<BR>>     packuswb    m1,        m2<BR>> <BR>>+.transpose8x8:<BR>>     jz         .store<BR>> <BR>>     ; transpose 8x8<BR>>@@ -1229,6 +1230,65 @@<BR>> <BR>>     RET<BR>> <BR>>+cglobal intra_pred_ang8_4, 3,5,8<BR>>+    cmp         r4m,       byte 32<BR>>+    cmove       r2,        r3mp<BR>>+    lea         r3,        [ang_table + 19 * 16]<BR>>+    mova        m7,        [pw_1024]<BR>>+<BR>>+    movu        m0,        [r2 + 1]                   ; [16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1]<BR>>+    palignr     m1,        m0, 1                      ; [x 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2]<BR>>+<BR>>+    punpckhbw   m2,        m0, m1                     ; [x 16 16 15 15 14 14 13 13 12 12 11 11 10 10 9]<BR>>+    punpcklbw   m0,        m1                         ; [9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1]<BR>>+    palignr     m1,        m2, m0, 2                  ; [10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2]<BR>>+    mova        m5,        m1<BR>>+<BR>>+    movu        m3,        [r3 + 2 * 16]              ; [21]<BR>>+    movu        m6,        [r3 - 9 * 16]              ; [10]<BR>>+<BR>>+    pmaddubsw   m4,        m0, m3<BR>>+    pmulhrsw    m4,        m7<BR>>+    pmaddubsw   m1,        m6<BR>>+    pmulhrsw    m1,        m7<BR>>+    packuswb    m4,        m1<BR>>+<BR>>+    movu        m3,        [r3 + 12 * 16]             ; [31]<BR>>+    pmaddubsw   m5,        m3<BR>>+    pmulhrsw    m5,        m7<BR>>+<BR>>+    palignr     m6,        m2, m0, 4                  ; [11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3]<BR>>+<BR>>+    movu        m3,        [r3 + 1 * 16]              ; [ 20]<BR>>+    pmaddubsw   m6,        m3<BR>>+    pmulhrsw    m6,        m7<BR>>+    packuswb    m5,        m6<BR>>+<BR>>+    palignr     m1,        m2, m0, 6                  ; [12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4]<BR>>+<BR>>+    movu        m3,        [r3 - 10 * 16]             ; [ 9]<BR>>+    pmaddubsw   m6,        m1, m3<BR>>+    pmulhrsw    m6,        m7<BR>>+<BR>>+    movu        m3,        [r3 + 11 * 16]             ; [30]<BR>>+    pmaddubsw   m1,        m3<BR>>+    pmulhrsw    m1,        m7<BR>>+    packuswb    m6,        m1<BR>>+<BR>>+    palignr     m1,        m2, m0, 8                  ; [13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5]<BR>>+<BR>>+    movu        m3,        [r3]                       ; [19]<BR>>+    pmaddubsw   m1,        m3<BR>>+    pmulhrsw    m1,        m7<BR>>+<BR>>+    palignr     m2,        m0, 10                     ; [14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 8]<BR>>+<BR>>+    movu        m3,        [r3 - 11 * 16]             ; [8]<BR>>+    pmaddubsw   m2,        m3<BR>>+    pmulhrsw    m2,        m7<BR>>+    packuswb    m1,        m2<BR>>+    jmp         mangle(private_prefix %+ _ %+ intra_pred_ang8_3 %+ SUFFIX %+ .transpose8x8)<BR>>+<BR>> ;-----------------------------------------------------------------------------<BR>> ; void intraPredAng16(pixel* dst, intptr_t dstStride, pixel *refLeft, pixel *refAbove, int dirMode, int bFilter)<BR>> ;-----------------------------------------------------------------------------<BR>>_______________________________________________<BR>>x265-devel mailing list<BR>>x265-devel@videolan.org<BR>>https://mailman.videolan.org/listinfo/x265-devel<BR></DIV></div>