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.

This is cherrypicked from libav commit
e18c39005a.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2017-01-10 16:49:13 +02:00
parent 92ab8374b1
commit 83399cf569
1 changed files with 6 additions and 2 deletions

View File

@ -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