<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV>>+;-----------------------------------------------------------------------------<BR>>+; void pixel_add_ps_%1x%2(pixel *dest, int destride, pixel *src0, int16_t *scr1, int srcStride0, int srcStride1)<BR>>+;-----------------------------------------------------------------------------<BR>use intprt_t type  for stride is better</DIV>
<DIV> </DIV>
<DIV>>+%macro PIXEL_ADD_PS_W4_H4 2<BR>>+INIT_XMM sse4<BR>>+cglobal pixel_add_ps_%1x%2, 6, 7, 2, dest, destride, src0, scr1, srcStride0, srcStride1<BR>>+<BR>>+add         r5,            r5<BR>>+<BR>>+mov         r6d,           %2/4<BR>>+<BR>>+.loop<BR>>+      movd        m0,            [r2]<BR>>+      pmovzxbw    m0,            m0<BR>>+      movh        m1,            [r3]<BR>>+<BR>>+      paddw       m0,            m1<BR>>+      packuswb    m0,            m0<BR>>+<BR>>+      movd        [r0],          m0<BR>>+<BR>>+      movd        m0,            [r2 + r4]<BR>>+      pmovzxbw    m0,            m0<BR>>+      movh        m1,            [r3 + r5]<BR>>+<BR>>+      paddw       m0,            m1<BR>>+      packuswb    m0,            m0<BR>>+<BR>>+      movd        [r0 + r1],     m0<BR>>+<BR>>+      movd        m0,            [r2 + 2 * r4]<BR>>+      pmovzxbw    m0,            m0<BR>>+      movh        m1,            [r3 + 2 * r5]<BR>>+<BR>>+      paddw       m0,            m1<BR>>+      packuswb    m0,            m0<BR>>+<BR>>+      movd        [r0 + 2 * r1], m0<BR>>+<BR>>+      lea         r0,            [r0 + 2 * r1]<BR>>+      lea         r2,            [r2 + 2 * r4]<BR>>+      lea         r3,            [r3 + 2 * r5]<BR>>+<BR>>+      movd        m0,            [r2 + r4]<BR>>+      pmovzxbw    m0,            m0<BR>>+      movh        m1,            [r3 + r5]<BR>>+<BR>>+      paddw       m0,            m1<BR>>+      packuswb    m0,            m0<BR>>+<BR>>+      movd        [r0 + r1],     m0<BR>>+<BR>>+      lea         r0,            [r0 + 2 * r1]<BR>>+      lea         r2,            [r2 + 2 * r4]<BR>>+      lea         r3,            [r3 + 2 * r5]<BR>>+<BR>>+      dec         r6d<BR>>+      jnz         .loop<BR>>+<BR>>+RET<BR>>+%endmacro<BR>>+<BR>>+PIXEL_ADD_PS_W4_H4   4,  8<BR>>+PIXEL_ADD_PS_W4_H4   4, 16<BR>>_______________________________________________<BR>>x265-devel mailing list<BR>>x265-devel@videolan.org<BR>>https://mailman.videolan.org/listinfo/x265-devel<BR></DIV></div>