[x264-devel] arm: x264_store_interleave_chroma_neon
Janne Grunau
git at videolan.org
Wed Apr 23 00:40:58 CEST 2014
x264 | branch: master | Janne Grunau <janne-x264 at jannau.net> | Sat Mar 15 20:09:18 2014 +0100| [b8bcb5b8affe52ba81c5db7eb6facd4738cc1313] | committer: Jason Garrett-Glaser
arm: x264_store_interleave_chroma_neon
store_interleave_chroma_c: 4036
store_interleave_chroma_neon: 1043
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=b8bcb5b8affe52ba81c5db7eb6facd4738cc1313
---
common/arm/mc-a.S | 14 ++++++++++++++
common/arm/mc-c.c | 2 ++
2 files changed, 16 insertions(+)
diff --git a/common/arm/mc-a.S b/common/arm/mc-a.S
index 6274c59..58cf542 100644
--- a/common/arm/mc-a.S
+++ b/common/arm/mc-a.S
@@ -1596,3 +1596,17 @@ blocki:
pop {r4-r7, pc}
.endfunc
+
+function x264_store_interleave_chroma_neon
+ push {lr}
+ ldr lr, [sp, #4]
+ mov ip, #FDEC_STRIDE
+1:
+ vld1.8 {d0}, [r2], ip
+ vld1.8 {d1}, [r3], ip
+ subs lr, lr, #1
+ vst2.8 {d0,d1}, [r0,:128], r1
+ bgt 1b
+
+ pop {pc}
+.endfunc
diff --git a/common/arm/mc-c.c b/common/arm/mc-c.c
index e134e96..c31745f 100644
--- a/common/arm/mc-c.c
+++ b/common/arm/mc-c.c
@@ -58,6 +58,7 @@ void x264_plane_copy_interleave_neon( pixel *dst, intptr_t i_dst,
pixel *srcu, intptr_t i_srcu,
pixel *srcv, intptr_t i_srcv, int w, int h );
+void x264_store_interleave_chroma_neon( pixel *dst, intptr_t i_dst, pixel *srcu, pixel *srcv, int height );
void x264_load_deinterleave_chroma_fdec_neon( pixel *dst, pixel *src, intptr_t i_src, int height );
void x264_load_deinterleave_chroma_fenc_neon( pixel *dst, pixel *src, intptr_t i_src, int height );
@@ -243,6 +244,7 @@ void x264_mc_init_arm( int cpu, x264_mc_functions_t *pf )
pf->plane_copy_deinterleave_rgb = x264_plane_copy_deinterleave_rgb_neon;
pf->plane_copy_interleave = x264_plane_copy_interleave_neon;
+ pf->store_interleave_chroma = x264_store_interleave_chroma_neon;
pf->load_deinterleave_chroma_fdec = x264_load_deinterleave_chroma_fdec_neon;
pf->load_deinterleave_chroma_fenc = x264_load_deinterleave_chroma_fenc_neon;
More information about the x264-devel
mailing list