<div dir="ltr"><div>Only 8x4, 8x8 has been pushed in the vertical filter. 8x16, 8x32 has not yet pushed in the vertical filter.<br></div><div><br></div><div>Thanks,</div><div>Divya.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Nov 29, 2014 at 2:16 AM, Steve Borho <span dir="ltr"><<a href="mailto:steve@borho.org" target="_blank">steve@borho.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11/27, Divya Manivannan wrote:<br>
> # HG changeset patch<br>
> # User Divya Manivannan <<a href="mailto:divya@multicorewareinc.com">divya@multicorewareinc.com</a>><br>
> # Date 1417067356 -19800<br>
> #      Thu Nov 27 11:19:16 2014 +0530<br>
> # Node ID 973662a5e779d1760af93fc713606bc923155ec6<br>
> # Parent  831ea7970a22281309721f41e21ddf31065cc4a5<br>
> asm: luma_vpp[8x16, 8x32] in avx2: improve 1139c->774c, 1968c->1452c<br>
<br>
</span>this series of 4 patches has been pushed<br>
<div><div class="h5"><br>
> diff -r 831ea7970a22 -r 973662a5e779 source/common/x86/asm-primitives.cpp<br>
> --- a/source/common/x86/asm-primitives.cpp    Thu Nov 27 10:40:13 2014 +0530<br>
> +++ b/source/common/x86/asm-primitives.cpp    Thu Nov 27 11:19:16 2014 +0530<br>
> @@ -1851,8 +1851,11 @@<br>
>          p.luma_hpp[LUMA_48x64] = x265_interp_8tap_horiz_pp_48x64_avx2;<br>
><br>
>          p.luma_vpp[LUMA_4x4] = x265_interp_8tap_vert_pp_4x4_avx2;<br>
> +<br>
>          p.luma_vpp[LUMA_8x4] = x265_interp_8tap_vert_pp_8x4_avx2;<br>
>          p.luma_vpp[LUMA_8x8] = x265_interp_8tap_vert_pp_8x8_avx2;<br>
> +        p.luma_vpp[LUMA_8x16] = x265_interp_8tap_vert_pp_8x16_avx2;<br>
> +        p.luma_vpp[LUMA_8x32] = x265_interp_8tap_vert_pp_8x32_avx2;<br>
>      }<br>
>  #endif // if HIGH_BIT_DEPTH<br>
>  }<br>
> diff -r 831ea7970a22 -r 973662a5e779 source/common/x86/ipfilter8.asm<br>
> --- a/source/common/x86/ipfilter8.asm Thu Nov 27 10:40:13 2014 +0530<br>
> +++ b/source/common/x86/ipfilter8.asm Thu Nov 27 11:19:16 2014 +0530<br>
> @@ -4250,6 +4250,52 @@<br>
>      RET<br>
>  %endmacro<br>
><br>
> +%macro FILTER_VER_LUMA_AVX2_8xN 2<br>
> +INIT_YMM avx2<br>
> +cglobal interp_8tap_vert_pp_%1x%2, 4, 7, 8, 0-gprsize<br>
> +    mov             r4d, r4m<br>
> +    shl             r4d, 7<br>
> +<br>
> +%ifdef PIC<br>
> +    lea             r5, [tab_LumaCoeffVer_32]<br>
> +    add             r5, r4<br>
> +%else<br>
> +    lea             r5, [tab_LumaCoeffVer_32 + r4]<br>
> +%endif<br>
> +    lea             r4, [r1 * 3]<br>
> +    sub             r0, r4<br>
> +    lea             r6, [r1 * 4]<br>
> +    mov             word [rsp], %2 / 8<br>
> +    mova            m7, [pw_512]<br>
> +<br>
> +.loop:<br>
> +    PROCESS_LUMA_AVX2_W8_8R<br>
> +    pmulhrsw        m5, m7                          ; m5 = word: row 0, row 1<br>
> +    pmulhrsw        m2, m7                          ; m2 = word: row 2, row 3<br>
> +    pmulhrsw        m1, m7                          ; m1 = word: row 4, row 5<br>
> +    pmulhrsw        m4, m7                          ; m4 = word: row 6, row 7<br>
> +    packuswb        m5, m2<br>
> +    packuswb        m1, m4<br>
> +    vextracti128    xm2, m5, 1<br>
> +    vextracti128    xm4, m1, 1<br>
> +    movq            [r2], xm5<br>
> +    movq            [r2 + r3], xm2<br>
> +    lea             r2, [r2 + r3 * 2]<br>
> +    movhps          [r2], xm5<br>
> +    movhps          [r2 + r3], xm2<br>
> +    lea             r2, [r2 + r3 * 2]<br>
> +    movq            [r2], xm1<br>
> +    movq            [r2 + r3], xm4<br>
> +    lea             r2, [r2 + r3 * 2]<br>
> +    movhps          [r2], xm1<br>
> +    movhps          [r2 + r3], xm4<br>
> +    lea             r2, [r2 + r3 * 2]<br>
> +    sub             r0, r6<br>
> +    dec             word [rsp]<br>
> +    jnz             .loop<br>
> +    RET<br>
> +%endmacro<br>
> +<br>
>  INIT_YMM avx2<br>
>  cglobal interp_8tap_vert_pp_8x8, 4, 6, 7<br>
>      mov             r4d, r4m<br>
> @@ -4327,11 +4373,13 @@<br>
>  ; void interp_8tap_vert_pp_8x16(pixel *src, intptr_t srcStride, pixel *dst, intptr_t dstStride, int coeffIdx)<br>
>  ;-------------------------------------------------------------------------------------------------------------<br>
>  FILTER_VER_LUMA_8xN 8, 16, pp<br>
> +FILTER_VER_LUMA_AVX2_8xN 8, 16<br>
><br>
>  ;-------------------------------------------------------------------------------------------------------------<br>
>  ; void interp_8tap_vert_pp_8x32(pixel *src, intptr_t srcStride, pixel *dst, intptr_t dstStride, int coeffIdx)<br>
>  ;-------------------------------------------------------------------------------------------------------------<br>
>  FILTER_VER_LUMA_8xN 8, 32, pp<br>
> +FILTER_VER_LUMA_AVX2_8xN 8, 32<br>
><br>
>  ;-------------------------------------------------------------------------------------------------------------<br>
>  ; void interp_8tap_vert_ps_8x4(pixel *src, intptr_t srcStride, pixel *dst, intptr_t dstStride, int coeffIdx)<br>
</div></div>> _______________________________________________<br>
> x265-devel mailing list<br>
> <a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
> <a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Steve Borho<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</font></span></blockquote></div><br></div>