<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV>At 2014-02-17 20:44:29,nabajit@multicorewareinc.com wrote:<BR>># HG changeset patch<BR>># User Nabajit Deka<BR>># Date 1392641037 -19800<BR>>#      Mon Feb 17 18:13:57 2014 +0530<BR>># Node ID f5275ca8f2985bb0daf563738e6071b81967c2cd<BR>># Parent  ce96cdb390fe26aee6effa731e51303c1d9056b0<BR>>asm : asm routine for chroma_p2s for 4:4:4 color space format<BR>><BR>>+INIT_XMM ssse3<BR>>+cglobal chroma_p2s_i444, 3, 7, 4<BR>>+<BR>>+    ; load width and height<BR>>+    mov         r3d, r3m<BR>>+    mov         r4d, r4m<BR>>+<BR>>+    ; load constant<BR>>+    mova        m2, [tab_c_128]<BR>>+    mova        m3, [tab_c_64_n64]<BR>>+<BR>>+.loopH:<BR>>+<BR>>+    xor         r5d, r5d<BR>>+.loopW:<BR>>+    lea         r6, [r0 + r5]<BR>>+<BR>>+    movh        m0, [r6]<BR>>+    punpcklbw   m0, m2<BR>>+    pmaddubsw   m0, m3<BR>>+<BR>>+    movh        m1, [r6 + r1]<BR>>+    punpcklbw   m1, m2<BR>>+    pmaddubsw   m1, m3<BR>>+<BR>>+    add         r5d, 8<BR>>+    cmp         r5d, r3d<BR>>+    lea         r6, [r2 + r5 * 2]<BR>>+    jg          .width4<BR>>+    movu        [r6 + FENC_STRIDE * 0 - 16], m0<BR>>+    movu        [r6 + FENC_STRIDE * 2 - 16], m1<BR>>+    je          .nextH<BR>>+    jmp         .loopW<BR>>+<BR>>+.width4:<BR>>+    test        r3d, 4<BR>>+    jz          .width2<BR>>+    test        r3d, 2<BR>>+    movh        [r6 + FENC_STRIDE * 0 - 16], m0<BR>>+    movh        [r6 + FENC_STRIDE * 2 - 16], m1<BR>>+    lea         r6, [r6 + 8]<BR>>+    pshufd      m0, m0, 2<BR>>+    pshufd      m1, m1, 2<BR>>+    jz          .nextH<BR>>+<BR>>+.width2:<BR>>+    movd        [r6 + FENC_STRIDE * 0 - 16], m0<BR>>+    movd        [r6 + FENC_STRIDE * 2 - 16], m1<BR>I think YUV444 no need width2 path, please check and confirm it.</DIV>
<DIV> </DIV>
<DIV> </DIV></div>