<div dir="ltr"># HG changeset patch<br># User Ramya Sriraman<<a href="mailto:ramya@multicorewareinc.com">ramya@multicorewareinc.com</a>><br># Date 1456985538 -19800<br># Thu Mar 03 11:42:18 2016 +0530<br># Node ID 3aeb208f4923e8a45cfbacbb792877af52b16970<br># Parent 6d06de58c3163c19def2c28e614492e2e74283f8<br>arm: Implement planecopy_cp NEON<br><br>diff -r 6d06de58c316 -r 3aeb208f4923 source/common/arm/asm-primitives.cpp<br>--- a/source/common/arm/asm-primitives.cpp Wed Mar 02 19:52:25 2016 +0530<br>+++ b/source/common/arm/asm-primitives.cpp Thu Mar 03 11:42:18 2016 +0530<br>@@ -176,6 +176,9 @@<br> p.pu[LUMA_64x48].copy_pp = PFX(blockcopy_pp_64x48_neon);<br> p.pu[LUMA_64x64].copy_pp = PFX(blockcopy_pp_64x64_neon);<br> <br>+ // planecopy<br>+ p.planecopy_cp = PFX(pixel_planecopy_cp_neon);<br>+<br> // sad<br> p.pu[LUMA_8x4].sad = PFX(pixel_sad_8x4_neon);<br> p.pu[LUMA_8x8].sad = PFX(pixel_sad_8x8_neon);<br>diff -r 6d06de58c316 -r 3aeb208f4923 source/common/arm/pixel-util.S<br>--- a/source/common/arm/pixel-util.S Wed Mar 02 19:52:25 2016 +0530<br>+++ b/source/common/arm/pixel-util.S Thu Mar 03 11:42:18 2016 +0530<br>@@ -626,3 +626,55 @@<br> pop {r4, r5}<br> bx lr<br> endfunc<br>+<br>+function x265_pixel_planecopy_cp_neon<br>+ push {r4, r5, r6, r7}<br>+ ldr r4, [sp, #4 * 4]<br>+ ldr r5, [sp, #4 * 4 + 4]<br>+ ldr r12, [sp, #4 * 4 + 8]<br>+ vdup.8 q2, r12<br>+ sub r5, #1<br>+<br>+.loop_h:<br>+ mov r6, r0<br>+ mov r12, r2<br>+ eor r7, r7<br>+.loop_w:<br>+ vld1.u8 {q0}, [r6]!<br>+ vshl.u8 q0, q0, q2<br>+ vst1.u8 {q0}, [r12]!<br>+<br>+ add r7, #16<br>+ cmp r7, r4<br>+ blt .loop_w<br>+<br>+ add r0, r1<br>+ add r2, r3<br>+<br>+ subs r5, #1<br>+ bgt .loop_h<br>+<br>+// handle last row<br>+ mov r5, r4<br>+ lsr r5, #3<br>+<br>+.loopW8:<br>+ vld1.u8 d0, [r0]!<br>+ vshl.u8 d0, d0, d4<br>+ vst1.u8 d0, [r2]!<br>+ subs r4, r4, #8<br>+ subs r5, #1<br>+ bgt .loopW8<br>+<br>+ mov r5,#8<br>+ sub r5, r4<br>+ sub r0, r5<br>+ sub r2, r5<br>+ vld1.u8 d0, [r0]<br>+ vshl.u8 d0, d0, d4<br>+ vst1.u8 d0, [r2]<br>+<br>+ pop {r4, r5, r6, r7}<br>+ bx lr<br>+endfunc<br>+<br>diff -r 6d06de58c316 -r 3aeb208f4923 source/common/arm/pixel.h<br>--- a/source/common/arm/pixel.h Wed Mar 02 19:52:25 2016 +0530<br>+++ b/source/common/arm/pixel.h Thu Mar 03 11:42:18 2016 +0530<br>@@ -163,4 +163,6 @@<br> void x265_pixel_add_ps_16x16_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br> void x265_pixel_add_ps_32x32_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br> void x265_pixel_add_ps_64x64_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br>+<br>+void x265_pixel_planecopy_cp_neon(const uint8_t* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int width, int height, int shift);<br> #endif // ifndef X265_I386_PIXEL_ARM_H<br><br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><span style="color:rgb(56,118,29)"><br></span></div><div><span style="color:rgb(56,118,29)">Thank you<br></span></div><span style="color:rgb(56,118,29)">Regards<br></span></div><span style="color:rgb(56,118,29)">Ramya</span><br></div></div></div></div></div>
<br><div class="gmail_quote">On Tue, Mar 8, 2016 at 3:32 PM, Deepthi Nandakumar <span dir="ltr"><<a href="mailto:deepthi@multicorewareinc.com" target="_blank">deepthi@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This patch does not apply.</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Thu, Mar 3, 2016 at 12:32 PM, <span dir="ltr"><<a href="mailto:ramya@multicorewareinc.com" target="_blank">ramya@multicorewareinc.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"># HG changeset patch<br>
# User Ramya Sriraman<<a href="mailto:ramya@multicorewareinc.com" target="_blank">ramya@multicorewareinc.com</a>><br>
# Date 1456985538 -19800<br>
# Thu Mar 03 11:42:18 2016 +0530<br>
# Node ID dbccf88be30776f12c7f8c52b9da67d4607abcab<br>
# Parent 9cc9920bf82be1b43efd2a3628e28a3a78ab3b2f<br>
arm: Implement planecopy_cp NEON<br>
<br>
diff -r 9cc9920bf82b -r dbccf88be307 source/common/arm/asm-primitives.cpp<br>
--- a/source/common/arm/asm-primitives.cpp Wed Mar 02 17:26:11 2016 +0530<br>
+++ b/source/common/arm/asm-primitives.cpp Thu Mar 03 11:42:18 2016 +0530<br>
@@ -142,6 +142,9 @@<br>
p.pu[LUMA_64x48].copy_pp = PFX(blockcopy_pp_64x48_neon);<br>
p.pu[LUMA_64x64].copy_pp = PFX(blockcopy_pp_64x64_neon);<br>
<br>
+ // planecopy<br>
+ p.planecopy_cp = PFX(pixel_planecopy_cp_neon);<br>
+<br>
// sad<br>
p.pu[LUMA_8x4].sad = PFX(pixel_sad_8x4_neon);<br>
p.pu[LUMA_8x8].sad = PFX(pixel_sad_8x8_neon);<br>
diff -r 9cc9920bf82b -r dbccf88be307 source/common/arm/pixel-util.S<br>
--- a/source/common/arm/pixel-util.S Wed Mar 02 17:26:11 2016 +0530<br>
+++ b/source/common/arm/pixel-util.S Thu Mar 03 11:42:18 2016 +0530<br>
@@ -626,3 +626,56 @@<br>
pop {r4, r5}<br>
bx lr<br>
endfunc<br>
+<br>
+function x265_pixel_planecopy_cp_neon<br>
+ push {r4, r5, r6}<br>
+ ldr r4, [sp, #12]<br>
+ ldr r5, [sp, #16]<br>
+ ldr r12, [sp, #20]<br>
+ vdup.8 q2, r12<br>
+ sub r5, #1<br>
+<br>
+.loop_h:<br>
+ eor r6, r6<br>
+ eor r12, r12<br>
+.loop_w:<br>
+ add r12, r0, r6<br>
+ vld1.u8 {q0}, [r12]<br>
+ vshl.u8 q0, q0, q2<br>
+ add r12, r2, r6<br>
+ vst1.u8 {q0}, [r12]<br>
+<br>
+ add r6, #16<br>
+ cmp r6, r4<br>
+ blt .loop_w<br>
+<br>
+ add r0, r1<br>
+ add r2, r3<br>
+<br>
+ subs r5, #1<br>
+ bgt .loop_h<br>
+<br>
+// handle last row<br>
+ mov r5, r4<br>
+ lsr r5, #3<br>
+<br>
+.loopW8:<br>
+ vld1.u8 d0, [r0]!<br>
+ vshl.u8 d0, d0, d4<br>
+ vst1.u8 d0, [r2]!<br>
+ subs r4, r4, #8<br>
+ subs r5, #1<br>
+ bgt .loopW8<br>
+<br>
+ mov r5,#8<br>
+ sub r5, r4<br>
+ sub r0, r5<br>
+ sub r2, r5<br>
+ vld1.u8 d0, [r0]<br>
+ vshl.u8 d0, d0, d4<br>
+ vst1.u8 d0, [r2]<br>
+<br>
+ pop {r4, r5, r6}<br>
+ bx lr<br>
+endfunc<br>
+<br>
diff -r 9cc9920bf82b -r dbccf88be307 source/common/arm/pixel.h<br>
--- a/source/common/arm/pixel.h Wed Mar 02 17:26:11 2016 +0530<br>
+++ b/source/common/arm/pixel.h Thu Mar 03 11:42:18 2016 +0530<br>
@@ -163,4 +163,6 @@<br>
void x265_pixel_add_ps_16x16_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br>
void x265_pixel_add_ps_32x32_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br>
void x265_pixel_add_ps_64x64_neon(pixel* a, intptr_t dstride, const pixel* b0, const int16_t* b1, intptr_t sstride0, intptr_t sstride1);<br>
+<br>
+void x265_pixel_planecopy_cp_neon(const uint8_t* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int width, int height, int shift);<br>
#endif // ifndef X265_I386_PIXEL_ARM_H<br></div></div><span class="">
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><div><div>Deepthi Nandakumar<br></div>Engineering Manager, x265<br></div>Multicoreware, Inc<br></div></div>
</font></span></div>
<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" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<br></blockquote></div><br></div>