# HG changeset patch # User Murugan Vairavel <[email protected]> # Date 1384354826 -19800 # Wed Nov 13 20:30:26 2013 +0530 # Node ID 29f7e68d450f0b71153f6bf5794ae4d1c118ac55 # Parent 481cdfc251de0f99ef0a3c4fd53c786b79b5f182 asm: code for scale1D_128to64 routine
diff -r 481cdfc251de -r 29f7e68d450f source/common/x86/pixel-a.asm --- a/source/common/x86/pixel-a.asm Wed Nov 13 12:46:07 2013 +0530 +++ b/source/common/x86/pixel-a.asm Wed Nov 13 20:30:26 2013 +0530 @@ -6784,3 +6784,69 @@ PIXELSUB_PS_W64_H2 64, 32 PIXELSUB_PS_W64_H2 64, 48 PIXELSUB_PS_W64_H2 64, 64 + +;----------------------------------------------------------------- +; void scale1D_128to64(pixel *dst, pixel *src, intptr_t /*stride*/) +;----------------------------------------------------------------- +INIT_XMM sse2 +cglobal scale_1D_128to64, 3, 3, 8, dest, src1, stride + +movu m0, [r1] +movu m1, [r1 + 1] +movu m2, [r1 + 16] +movu m3, [r1 + 17] +movu m4, [r1 + 32] +movu m5, [r1 + 33] +movu m6, [r1 + 48] +movu m7, [r1 + 49] + +pavgb m0, m1 +pavgb m2, m3 +pavgb m4, m5 +pavgb m6, m7 + +pand m0, [pw_00ff] +pand m2, [pw_00ff] +pand m4, [pw_00ff] +pand m6, [pw_00ff] + +packuswb m0, m1 +packuswb m2, m3 +packuswb m4, m5 +packuswb m6, m7 + +movh [r0], m0 +movh [r0 +8], m2 +movh [r0 + 16], m4 +movh [r0 + 24], m6 + +movu m0, [r1 + 64] +movu m1, [r1 + 65] +movu m2, [r1 + 80] +movu m3, [r1 + 81] +movu m4, [r1 + 96] +movu m5, [r1 + 97] +movu m6, [r1 + 112] +movu m7, [r1 + 113] + +pavgb m0, m1 +pavgb m2, m3 +pavgb m4, m5 +pavgb m6, m7 + +pand m0, [pw_00ff] +pand m2, [pw_00ff] +pand m4, [pw_00ff] +pand m6, [pw_00ff] + +packuswb m0, m1 +packuswb m2, m3 +packuswb m4, m5 +packuswb m6, m7 + +movh [r0 + 32], m0 +movh [r0 + 40], m2 +movh [r0 + 48], m4 +movh [r0 + 56], m6 + +RET _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
