<div dir="ltr">I just missed to add flag " Review only".</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Oct 22, 2013 at 8:53 PM, <span dir="ltr"><<a href="mailto:praveen@multicorewareinc.com" target="_blank">praveen@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Praveen Tiwari<br>
# Date 1382455384 -19800<br>
# Node ID 93a50baa316f2cf82ef65e0ea639a8b36ac160fa<br>
# Parent 9245a882ccee89fc1d158b501587bac7d6e081e4<br>
asm code for interp_4tap_vert_pp_8x2<br>
<br>
diff -r 9245a882ccee -r 93a50baa316f source/common/x86/ipfilter8.asm<br>
--- a/source/common/x86/ipfilter8.asm Mon Oct 21 22:45:55 2013 -0500<br>
+++ b/source/common/x86/ipfilter8.asm Tue Oct 22 20:53:04 2013 +0530<br>
@@ -35,6 +35,9 @@<br>
db 4, 5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11, 12<br>
db 6, 7, 8, 9, 10, 11, 12, 13, 7, 8, 9, 10, 11, 12, 13, 14<br>
<br>
+tab_Vm: db 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1<br>
+ db 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3<br>
+<br>
tab_c_512: times 8 dw 512<br>
<br>
tab_ChromaCoeff: db 0, 64, 0, 0<br>
@@ -621,3 +624,62 @@<br>
IPFILTER_LUMA 48, 64<br>
IPFILTER_LUMA 64, 16<br>
IPFILTER_LUMA 16, 64<br>
+<br>
+;-----------------------------------------------------------------------------<br>
+; void interp_4tap_vert_pp_%1x%2(pixel *src, intptr_t srcStride, pixel *dst, intptr_t dstStride, int coeffIdx)<br>
+;-----------------------------------------------------------------------------<br>
+INIT_XMM sse4<br>
+cglobal interp_4tap_vert_pp_8x2, 0, 7, 8<br>
+mov r0, r0mp<br>
+mov r1, r1mp<br>
+mov r2, r2mp<br>
+mov r3, r3mp<br>
+mov r4d, r4m<br>
+<br>
+sub r0, r1<br>
+movq m0, [r0]<br>
+movq m1, [r0 + r1]<br>
+movq m2, [r0 + 2 * r1]<br>
+lea r5, [r0 + 2 * r1]<br>
+movq m3, [r5 + r1]<br>
+<br>
+punpcklbw m0, m1<br>
+punpcklbw m4, m2, m3<br>
+<br>
+%ifdef PIC<br>
+lea r6, [tab_ChromaCoeff]<br>
+movd m5, [r6 + r4 * 4]<br>
+%else<br>
+movd m5, [tab_ChromaCoeff + r4 * 4]<br>
+%endif<br>
+<br>
+mova m6, [tab_Vm]<br>
+pshufb m7, m5, m6<br>
+pmaddubsw m0, m7<br>
+<br>
+mova m6, [tab_Vm + 16]<br>
+pshufb m5, m6<br>
+pmaddubsw m4, m5<br>
+<br>
+paddw m0, m4<br>
+<br>
+mova m6, [tab_c_512]<br>
+<br>
+pmulhrsw m0, m6<br>
+packuswb m0, m0<br>
+movh [r2], m0<br>
+<br>
+movq m4, [r0 + 4 * r1]<br>
+<br>
+punpcklbw m1, m2<br>
+punpcklbw m3, m4<br>
+<br>
+pmaddubsw m1, m7<br>
+pmaddubsw m3, m5<br>
+<br>
+paddw m1, m3<br>
+<br>
+pmulhrsw m1, m6<br>
+packuswb m1, m1<br>
+movh [r2 + r3], m1<br>
+RET<br>
</blockquote></div><br></div>