[FFmpeg-cvslog] arm: vp9lpf: Interleave the start of flat8in into the calculation above
Martin Storsjö
git at videolan.org
Thu Sep 28 06:01:04 EEST 2017
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Tue Jan 10 16:49:13 2017 +0200| [e18c39005ad1dbb178b336f691da1de91afd434e] | committer: Martin Storsjö
arm: vp9lpf: Interleave the start of flat8in into the calculation above
This adds lots of extra .ifs, but speeds it up by a couple cycles,
by avoiding stalls.
Signed-off-by: Martin Storsjö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e18c39005ad1dbb178b336f691da1de91afd434e
---
libavcodec/arm/vp9lpf_neon.S | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavcodec/arm/vp9lpf_neon.S b/libavcodec/arm/vp9lpf_neon.S
index c2f1c95427..1e161e0c63 100644
--- a/libavcodec/arm/vp9lpf_neon.S
+++ b/libavcodec/arm/vp9lpf_neon.S
@@ -182,16 +182,20 @@
vmovl.u8 q0, d22 @ p1
vmovl.u8 q1, d25 @ q1
+.if \wd >= 8
+ vmov r2, r3, d6
+.endif
vaddw.s8 q0, q0, \tmp3 @ p1 + f
vsubw.s8 q1, q1, \tmp3 @ q1 - f
+.if \wd >= 8
+ orrs r2, r2, r3
+.endif
vqmovun.s16 d0, q0 @ out p1
vqmovun.s16 d2, q1 @ out q1
vbit d22, d0, d5 @ if (!hev && fm && !flat8in)
vbit d25, d2, d5
.if \wd >= 8
- vmov r2, r3, d6
- orrs r2, r2, r3
@ If no pixels need flat8in, jump to flat8out
@ (or to a writeout of the inner 4 pixels, for wd=8)
beq 6f
More information about the ffmpeg-cvslog
mailing list