<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>