@ -495,16 +495,23 @@ function idct16x16_dc_add_neon
srshr v2 . 8 h , v2 . 8 h , #6
srshr v2 . 8 h , v2 . 8 h , #6
mov x3 , x0
mov x4 , #16
mov x4 , #16
1 :
1 :
/ / Loop t o a d d t h e c o n s t a n t f r o m v2 i n t o a l l 1 6 x16 o u t p u t s
/ / Loop t o a d d t h e c o n s t a n t f r o m v2 i n t o a l l 1 6 x16 o u t p u t s
ld1 { v3 . 1 6 b } , [ x0 ]
subs x4 , x4 , #2
uaddw v4 . 8 h , v2 . 8 h , v3 . 8 b
ld1 { v3 . 1 6 b } , [ x0 ] , x1
uaddw2 v5 . 8 h , v2 . 8 h , v3 . 1 6 b
ld1 { v4 . 1 6 b } , [ x0 ] , x1
sqxtun v4 . 8 b , v4 . 8 h
uaddw v16 . 8 h , v2 . 8 h , v3 . 8 b
sqxtun2 v4 . 1 6 b , v5 . 8 h
uaddw2 v17 . 8 h , v2 . 8 h , v3 . 1 6 b
st1 { v4 . 1 6 b } , [ x0 ] , x1
uaddw v18 . 8 h , v2 . 8 h , v4 . 8 b
subs x4 , x4 , #1
uaddw2 v19 . 8 h , v2 . 8 h , v4 . 1 6 b
sqxtun v3 . 8 b , v16 . 8 h
sqxtun2 v3 . 1 6 b , v17 . 8 h
sqxtun v4 . 8 b , v18 . 8 h
sqxtun2 v4 . 1 6 b , v19 . 8 h
st1 { v3 . 1 6 b } , [ x3 ] , x1
st1 { v4 . 1 6 b } , [ x3 ] , x1
b. n e 1 b
b. n e 1 b
ret
ret
@ -1054,20 +1061,31 @@ function idct32x32_dc_add_neon
srshr v0 . 8 h , v2 . 8 h , #6
srshr v0 . 8 h , v2 . 8 h , #6
mov x3 , x0
mov x4 , #32
mov x4 , #32
1 :
1 :
/ / Loop t o a d d t h e c o n s t a n t v0 i n t o a l l 3 2 x32 o u t p u t s
/ / Loop t o a d d t h e c o n s t a n t v0 i n t o a l l 3 2 x32 o u t p u t s
ld1 { v1 . 1 6 b ,v2 . 1 6 b } , [ x0 ]
subs x4 , x4 , #2
uaddw v3 . 8 h , v0 . 8 h , v1 . 8 b
ld1 { v1 . 1 6 b ,v2 . 1 6 b } , [ x0 ] , x1
uaddw2 v4 . 8 h , v0 . 8 h , v1 . 1 6 b
uaddw v16 . 8 h , v0 . 8 h , v1 . 8 b
uaddw v5 . 8 h , v0 . 8 h , v2 . 8 b
uaddw2 v17 . 8 h , v0 . 8 h , v1 . 1 6 b
uaddw2 v6 . 8 h , v0 . 8 h , v2 . 1 6 b
ld1 { v3 . 1 6 b ,v4 . 1 6 b } , [ x0 ] , x1
sqxtun v3 . 8 b , v3 . 8 h
uaddw v18 . 8 h , v0 . 8 h , v2 . 8 b
sqxtun2 v3 . 1 6 b , v4 . 8 h
uaddw2 v19 . 8 h , v0 . 8 h , v2 . 1 6 b
sqxtun v4 . 8 b , v5 . 8 h
uaddw v20 . 8 h , v0 . 8 h , v3 . 8 b
sqxtun2 v4 . 1 6 b , v6 . 8 h
uaddw2 v21 . 8 h , v0 . 8 h , v3 . 1 6 b
st1 { v3 . 1 6 b ,v4 . 1 6 b } , [ x0 ] , x1
uaddw v22 . 8 h , v0 . 8 h , v4 . 8 b
subs x4 , x4 , #1
uaddw2 v23 . 8 h , v0 . 8 h , v4 . 1 6 b
sqxtun v1 . 8 b , v16 . 8 h
sqxtun2 v1 . 1 6 b , v17 . 8 h
sqxtun v2 . 8 b , v18 . 8 h
sqxtun2 v2 . 1 6 b , v19 . 8 h
sqxtun v3 . 8 b , v20 . 8 h
sqxtun2 v3 . 1 6 b , v21 . 8 h
st1 { v1 . 1 6 b ,v2 . 1 6 b } , [ x3 ] , x1
sqxtun v4 . 8 b , v22 . 8 h
sqxtun2 v4 . 1 6 b , v23 . 8 h
st1 { v3 . 1 6 b ,v4 . 1 6 b } , [ x3 ] , x1
b. n e 1 b
b. n e 1 b
ret
ret