@ -410,15 +410,19 @@
.endif
/ / If n o p i x e l s n e e d e d f l a t 8 i n n o r f l a t 8 o u t , j u m p t o a
/ / writeout o f t h e i n n e r 4 p i x e l s
cbz x5 , 7 f
cbnz x5 , 1 f
br x14
1 :
mov x5 , v7 . d [ 0 ]
.ifc \ sz, . 1 6 b
mov x6 , v7 . d [ 1 ]
orr x5 , x5 , x6
.endif
/ / If n o p i x e l s n e e d f l a t 8 o u t , j u m p t o a w r i t e o u t o f t h e i n n e r 6 p i x e l s
cbz x5 , 8 f
cbnz x5 , 1 f
br x15
1 :
/ / flat8 o u t
/ / This w r i t e s a l l o u t p u t s i n t o v2 - v17 ( s k i p p i n g v6 a n d v16 ) .
/ / If t h i s p a r t i s s k i p p e d , t h e o u t p u t i s r e a d f r o m v21 - v26 ( w h i c h i s t h e i n p u t
@ -549,35 +553,24 @@ endfunc
function v p9 _ l o o p _ f i l t e r _ 8
loop_ f i l t e r 8 , . 8 b , 0 , v16 , v17 , v18 , v19 , v28 , v29 , v30 , v31
mov x5 , #0
ret
6 :
mov x5 , #6
ret
br x13
9 :
br x10
endfunc
function v p9 _ l o o p _ f i l t e r _ 8 _ 1 6 b _ m i x
loop_ f i l t e r 8 , . 1 6 b , 8 8 , v16 , v17 , v18 , v19 , v28 , v29 , v30 , v31
mov x5 , #0
ret
6 :
mov x5 , #6
ret
br x13
9 :
br x10
endfunc
function v p9 _ l o o p _ f i l t e r _ 1 6
loop_ f i l t e r 1 6 , . 8 b , 0 , v8 , v9 , v10 , v11 , v12 , v13 , v14 , v15
mov x5 , #0
ret
7 :
mov x5 , #7
ret
8 :
mov x5 , #8
ret
9 :
ldp d8 , d9 , [ s p ] , 0 x10
@ -589,13 +582,6 @@ endfunc
function v p9 _ l o o p _ f i l t e r _ 1 6 _ 1 6 b
loop_ f i l t e r 1 6 , . 1 6 b , 0 , v8 , v9 , v10 , v11 , v12 , v13 , v14 , v15
mov x5 , #0
ret
7 :
mov x5 , #7
ret
8 :
mov x5 , #8
ret
9 :
ldp d8 , d9 , [ s p ] , 0 x10
@ -614,11 +600,14 @@ endfunc
.endm
.macro loop_filter_8
/ / calculate a l t e r n a t i v e ' r e t u r n ' t a r g e t s
adr x13 , 6 f
bl v p9 _ l o o p _ f i l t e r _ 8
cbnz x5 , 6 f
.endm
.macro loop_filter_8_16b_mix mix
/ / calculate a l t e r n a t i v e ' r e t u r n ' t a r g e t s
adr x13 , 6 f
.if \ mix = = 4 8
mov x11 , #0xffffffff 0 0 0 0 0 0 0 0
.elseif \ mix = = 8 4
@ -627,21 +616,20 @@ endfunc
mov x11 , #0xffffffff f f f f f f f f
.endif
bl v p9 _ l o o p _ f i l t e r _ 8 _ 1 6 b _ m i x
cbnz x5 , 6 f
.endm
.macro loop_filter_16
/ / calculate a l t e r n a t i v e ' r e t u r n ' t a r g e t s
adr x14 , 7 f
adr x15 , 8 f
bl v p9 _ l o o p _ f i l t e r _ 1 6
cmp x5 , 7
b. g t 8 f
b. e q 7 f
.endm
.macro loop_filter_16_16b
/ / calculate a l t e r n a t i v e ' r e t u r n ' t a r g e t s
adr x14 , 7 f
adr x15 , 8 f
bl v p9 _ l o o p _ f i l t e r _ 1 6 _ 1 6 b
cmp x5 , 7
b. g t 8 f
b. e q 7 f
.endm