@ -22,7 +22,7 @@
# include " n e o n . S "
const i t x f m 4 _ c o e f f s , a l i g n =4
.short 1 1 5 8 5 , 6 2 7 0 , 1 5 1 3 7 , 0
.short 1 1 5 8 5 , 0 , 6 2 7 0 , 1 5 1 3 7
iadst4_coeffs :
.short 5 2 8 3 , 1 5 2 1 2 , 9 9 2 9 , 1 3 3 7 7
endconst
@ -30,8 +30,8 @@ endconst
const i a d s t 8 _ c o e f f s , a l i g n =4
.short 1 6 3 0 5 , 1 6 0 6 , 1 4 4 4 9 , 7 7 2 3 , 1 0 3 9 4 , 1 2 6 6 5 , 4 7 5 6 , 1 5 6 7 9
idct_coeffs :
.short 1 1 5 8 5 , 6 2 7 0 , 1 5 1 3 7 , 3 1 9 6 , 1 6 0 6 9 , 1 3 6 2 3 , 9 1 0 2 , 1 6 0 6
.short 1 6 3 0 5 , 1 2 6 6 5 , 1 0 3 9 4 , 7 7 2 3 , 1 4 4 4 9 , 1 5 6 7 9 , 4 7 5 6 , 0
.short 1 1 5 8 5 , 0 , 6 2 7 0 , 1 5 1 3 7 , 3 1 9 6 , 1 6 0 6 9 , 1 3 6 2 3 , 9 1 0 2
.short 1 6 0 6 , 1 6 3 0 5 , 1 2 6 6 5 , 1 0 3 9 4 , 7 7 2 3 , 1 4 4 4 9 , 1 5 6 7 9 , 4 7 5 6
.short 8 0 4 , 1 6 3 6 4 , 1 2 1 4 0 , 1 1 0 0 3 , 7 0 0 5 , 1 4 8 1 1 , 1 5 4 2 6 , 5 5 2 0
.short 3 9 8 1 , 1 5 8 9 3 , 1 4 0 5 3 , 8 4 2 3 , 9 7 6 0 , 1 3 1 6 0 , 1 6 2 0 7 , 2 4 0 4
endconst
@ -192,14 +192,14 @@ endconst
.endm
.macro idct4 c0 , c1 , c2 , c3
smull v22 . 4 s , \ c1 \ ( ) . 4 h , v0 . h [ 2 ]
smull v20 . 4 s , \ c1 \ ( ) . 4 h , v0 . h [ 1 ]
smull v22 . 4 s , \ c1 \ ( ) . 4 h , v0 . h [ 3 ]
smull v20 . 4 s , \ c1 \ ( ) . 4 h , v0 . h [ 2 ]
add v16 . 4 h , \ c0 \ ( ) . 4 h , \ c2 \ ( ) . 4 h
sub v17 . 4 h , \ c0 \ ( ) . 4 h , \ c2 \ ( ) . 4 h
smlal v22 . 4 s , \ c3 \ ( ) . 4 h , v0 . h [ 1 ]
smlal v22 . 4 s , \ c3 \ ( ) . 4 h , v0 . h [ 2 ]
smull v18 . 4 s , v16 . 4 h , v0 . h [ 0 ]
smull v19 . 4 s , v17 . 4 h , v0 . h [ 0 ]
smlsl v20 . 4 s , \ c3 \ ( ) . 4 h , v0 . h [ 2 ]
smlsl v20 . 4 s , \ c3 \ ( ) . 4 h , v0 . h [ 3 ]
rshrn v22 . 4 h , v22 . 4 s , #14
rshrn v18 . 4 h , v18 . 4 s , #14
rshrn v19 . 4 h , v19 . 4 s , #14
@ -326,9 +326,9 @@ itxfm_func4x4 iwht, iwht
.macro idct8
dmbutterfly0 v16 , v20 , v16 , v20 , v2 , v3 , v4 , v5 , v6 , v7 / / v16 = t 0 a , v20 = t 1 a
dmbutterfly v18 , v22 , v0 . h [ 1 ] , v0 . h [ 2 ] , v2 , v3 , v4 , v5 / / v18 = t 2 a , v22 = t 3 a
dmbutterfly v17 , v23 , v0 . h [ 3 ] , v0 . h [ 4 ] , v2 , v3 , v4 , v5 / / v17 = t 4 a , v23 = t 7 a
dmbutterfly v21 , v19 , v0 . h [ 5 ] , v0 . h [ 6 ] , v2 , v3 , v4 , v5 / / v21 = t 5 a , v19 = t 6 a
dmbutterfly v18 , v22 , v0 . h [ 2 ] , v0 . h [ 3 ] , v2 , v3 , v4 , v5 / / v18 = t 2 a , v22 = t 3 a
dmbutterfly v17 , v23 , v0 . h [ 4 ] , v0 . h [ 5 ] , v2 , v3 , v4 , v5 / / v17 = t 4 a , v23 = t 7 a
dmbutterfly v21 , v19 , v0 . h [ 6 ] , v0 . h [ 7 ] , v2 , v3 , v4 , v5 / / v21 = t 5 a , v19 = t 6 a
butterfly_ 8 h v24 , v25 , v16 , v22 / / v24 = t 0 , v25 = t 3
butterfly_ 8 h v28 , v29 , v17 , v21 / / v28 = t 4 , v29 = t 5 a
@ -361,8 +361,8 @@ itxfm_func4x4 iwht, iwht
dmbutterfly0 v19 , v20 , v6 , v7 , v24 , v26 , v27 , v28 , v29 , v30 / / v19 = - o u t [ 3 ] , v20 = o u t [ 4 ]
neg v19 . 8 h , v19 . 8 h / / v19 = o u t [ 3 ]
dmbutterfly_ l v26 , v27 , v28 , v29 , v5 , v3 , v0 . h [ 1 ] , v0 . h [ 2 ] / / v26 ,v27 = t 5 a , v28 ,v29 = t 4 a
dmbutterfly_ l v2 , v3 , v4 , v5 , v31 , v25 , v0 . h [ 2 ] , v0 . h [ 1 ] / / v2 ,v3 = t 6 a , v4 ,v5 = t 7 a
dmbutterfly_ l v26 , v27 , v28 , v29 , v5 , v3 , v0 . h [ 2 ] , v0 . h [ 3 ] / / v26 ,v27 = t 5 a , v28 ,v29 = t 4 a
dmbutterfly_ l v2 , v3 , v4 , v5 , v31 , v25 , v0 . h [ 3 ] , v0 . h [ 2 ] / / v2 ,v3 = t 6 a , v4 ,v5 = t 7 a
dbutterfly_ n v17 , v30 , v28 , v29 , v2 , v3 , v6 , v7 , v24 , v25 / / v17 = - o u t [ 1 ] , v30 = t 6
dbutterfly_ n v22 , v31 , v26 , v27 , v4 , v5 , v6 , v7 , v24 , v25 / / v22 = o u t [ 6 ] , v31 = t 7
@ -543,13 +543,13 @@ endfunc
function i d c t 1 6
dmbutterfly0 v16 , v24 , v16 , v24 , v2 , v3 , v4 , v5 , v6 , v7 / / v16 = t 0 a , v24 = t 1 a
dmbutterfly v20 , v28 , v0 . h [ 1 ] , v0 . h [ 2 ] , v2 , v3 , v4 , v5 / / v20 = t 2 a , v28 = t 3 a
dmbutterfly v18 , v30 , v0 . h [ 3 ] , v0 . h [ 4 ] , v2 , v3 , v4 , v5 / / v18 = t 4 a , v30 = t 7 a
dmbutterfly v26 , v22 , v0 . h [ 5 ] , v0 . h [ 6 ] , v2 , v3 , v4 , v5 / / v26 = t 5 a , v22 = t 6 a
dmbutterfly v17 , v31 , v0 . h [ 7 ] , v1 . h [ 0 ] , v2 , v3 , v4 , v5 / / v17 = t 8 a , v31 = t 1 5 a
dmbutterfly v25 , v23 , v1 . h [ 1 ] , v1 . h [ 2 ] , v2 , v3 , v4 , v5 / / v25 = t 9 a , v23 = t 1 4 a
dmbutterfly v21 , v27 , v1 . h [ 3 ] , v1 . h [ 4 ] , v2 , v3 , v4 , v5 / / v21 = t 1 0 a , v27 = t 1 3 a
dmbutterfly v29 , v19 , v1 . h [ 5 ] , v1 . h [ 6 ] , v2 , v3 , v4 , v5 / / v29 = t 1 1 a , v19 = t 1 2 a
dmbutterfly v20 , v28 , v0 . h [ 2 ] , v0 . h [ 3 ] , v2 , v3 , v4 , v5 / / v20 = t 2 a , v28 = t 3 a
dmbutterfly v18 , v30 , v0 . h [ 4 ] , v0 . h [ 5 ] , v2 , v3 , v4 , v5 / / v18 = t 4 a , v30 = t 7 a
dmbutterfly v26 , v22 , v0 . h [ 6 ] , v0 . h [ 7 ] , v2 , v3 , v4 , v5 / / v26 = t 5 a , v22 = t 6 a
dmbutterfly v17 , v31 , v1 . h [ 0 ] , v1 . h [ 1 ] , v2 , v3 , v4 , v5 / / v17 = t 8 a , v31 = t 1 5 a
dmbutterfly v25 , v23 , v1 . h [ 2 ] , v1 . h [ 3 ] , v2 , v3 , v4 , v5 / / v25 = t 9 a , v23 = t 1 4 a
dmbutterfly v21 , v27 , v1 . h [ 4 ] , v1 . h [ 5 ] , v2 , v3 , v4 , v5 / / v21 = t 1 0 a , v27 = t 1 3 a
dmbutterfly v29 , v19 , v1 . h [ 6 ] , v1 . h [ 7 ] , v2 , v3 , v4 , v5 / / v29 = t 1 1 a , v19 = t 1 2 a
butterfly_ 8 h v4 , v28 , v16 , v28 / / v4 = t 0 , v28 = t 3
butterfly_ 8 h v5 , v20 , v24 , v20 / / v5 = t 1 , v20 = t 2
@ -561,20 +561,20 @@ function idct16
butterfly_ 8 h v29 , v23 , v31 , v23 / / v29 = t 1 5 , v23 = t 1 4
dmbutterfly0 v22 , v26 , v22 , v26 , v2 , v3 , v18 , v19 , v30 , v31 / / v22 = t 6 a , v26 = t 5 a
dmbutterfly v23 , v25 , v0 . h [ 1 ] , v0 . h [ 2 ] , v18 , v19 , v30 , v31 / / v23 = t 9 a , v25 = t 1 4 a
dmbutterfly v27 , v21 , v0 . h [ 1 ] , v0 . h [ 2 ] , v18 , v19 , v30 , v31 , n e g =1 / / v27 = t 1 3 a , v21 = t 1 0 a
dmbutterfly v23 , v25 , v0 . h [ 2 ] , v0 . h [ 3 ] , v18 , v19 , v30 , v31 / / v23 = t 9 a , v25 = t 1 4 a
dmbutterfly v27 , v21 , v0 . h [ 2 ] , v0 . h [ 3 ] , v18 , v19 , v30 , v31 , n e g =1 / / v27 = t 1 3 a , v21 = t 1 0 a
idct1 6 _ e n d
endfunc
function i d c t 1 6 _ h a l f
dmbutterfly0 _ h v16 , v24 , v16 , v24 , v2 , v3 , v4 , v5 , v6 , v7 / / v16 = t 0 a , v24 = t 1 a
dmbutterfly_ h1 v20 , v28 , v0 . h [ 1 ] , v0 . h [ 2 ] , v2 , v3 , v4 , v5 / / v20 = t 2 a , v28 = t 3 a
dmbutterfly_ h1 v18 , v30 , v0 . h [ 3 ] , v0 . h [ 4 ] , v2 , v3 , v4 , v5 / / v18 = t 4 a , v30 = t 7 a
dmbutterfly_ h2 v26 , v22 , v0 . h [ 5 ] , v0 . h [ 6 ] , v2 , v3 , v4 , v5 / / v26 = t 5 a , v22 = t 6 a
dmbutterfly_ h1 v17 , v31 , v0 . h [ 7 ] , v1 . h [ 0 ] , v2 , v3 , v4 , v5 / / v17 = t 8 a , v31 = t 1 5 a
dmbutterfly_ h2 v25 , v23 , v1 . h [ 1 ] , v1 . h [ 2 ] , v2 , v3 , v4 , v5 / / v25 = t 9 a , v23 = t 1 4 a
dmbutterfly_ h1 v21 , v27 , v1 . h [ 3 ] , v1 . h [ 4 ] , v2 , v3 , v4 , v5 / / v21 = t 1 0 a , v27 = t 1 3 a
dmbutterfly_ h2 v29 , v19 , v1 . h [ 5 ] , v1 . h [ 6 ] , v2 , v3 , v4 , v5 / / v29 = t 1 1 a , v19 = t 1 2 a
dmbutterfly_ h1 v20 , v28 , v0 . h [ 2 ] , v0 . h [ 3 ] , v2 , v3 , v4 , v5 / / v20 = t 2 a , v28 = t 3 a
dmbutterfly_ h1 v18 , v30 , v0 . h [ 4 ] , v0 . h [ 5 ] , v2 , v3 , v4 , v5 / / v18 = t 4 a , v30 = t 7 a
dmbutterfly_ h2 v26 , v22 , v0 . h [ 6 ] , v0 . h [ 7 ] , v2 , v3 , v4 , v5 / / v26 = t 5 a , v22 = t 6 a
dmbutterfly_ h1 v17 , v31 , v1 . h [ 0 ] , v1 . h [ 1 ] , v2 , v3 , v4 , v5 / / v17 = t 8 a , v31 = t 1 5 a
dmbutterfly_ h2 v25 , v23 , v1 . h [ 2 ] , v1 . h [ 3 ] , v2 , v3 , v4 , v5 / / v25 = t 9 a , v23 = t 1 4 a
dmbutterfly_ h1 v21 , v27 , v1 . h [ 4 ] , v1 . h [ 5 ] , v2 , v3 , v4 , v5 / / v21 = t 1 0 a , v27 = t 1 3 a
dmbutterfly_ h2 v29 , v19 , v1 . h [ 6 ] , v1 . h [ 7 ] , v2 , v3 , v4 , v5 / / v29 = t 1 1 a , v19 = t 1 2 a
butterfly_ 8 h v4 , v28 , v16 , v28 / / v4 = t 0 , v28 = t 3
butterfly_ 8 h v5 , v20 , v24 , v20 / / v5 = t 1 , v20 = t 2
@ -586,20 +586,20 @@ function idct16_half
butterfly_ 8 h v29 , v23 , v31 , v23 / / v29 = t 1 5 , v23 = t 1 4
dmbutterfly0 v22 , v26 , v22 , v26 , v2 , v3 , v18 , v19 , v30 , v31 / / v22 = t 6 a , v26 = t 5 a
dmbutterfly v23 , v25 , v0 . h [ 1 ] , v0 . h [ 2 ] , v18 , v19 , v30 , v31 / / v23 = t 9 a , v25 = t 1 4 a
dmbutterfly v27 , v21 , v0 . h [ 1 ] , v0 . h [ 2 ] , v18 , v19 , v30 , v31 , n e g =1 / / v27 = t 1 3 a , v21 = t 1 0 a
dmbutterfly v23 , v25 , v0 . h [ 2 ] , v0 . h [ 3 ] , v18 , v19 , v30 , v31 / / v23 = t 9 a , v25 = t 1 4 a
dmbutterfly v27 , v21 , v0 . h [ 2 ] , v0 . h [ 3 ] , v18 , v19 , v30 , v31 , n e g =1 / / v27 = t 1 3 a , v21 = t 1 0 a
idct1 6 _ e n d
endfunc
function i d c t 1 6 _ q u a r t e r
dsmull_ h v24 , v25 , v19 , v1 . h [ 6 ]
dsmull_ h v4 , v5 , v17 , v0 . h [ 7 ]
dsmull_ h v7 , v6 , v18 , v0 . h [ 4 ]
dsmull_ h v30 , v31 , v18 , v0 . h [ 3 ]
dsmull_ h v24 , v25 , v19 , v1 . h [ 7 ]
dsmull_ h v4 , v5 , v17 , v1 . h [ 0 ]
dsmull_ h v7 , v6 , v18 , v0 . h [ 5 ]
dsmull_ h v30 , v31 , v18 , v0 . h [ 4 ]
neg v24 . 4 s , v24 . 4 s
neg v25 . 4 s , v25 . 4 s
dsmull_ h v29 , v28 , v17 , v1 . h [ 0 ]
dsmull_ h v26 , v27 , v19 , v1 . h [ 5 ]
dsmull_ h v29 , v28 , v17 , v1 . h [ 1 ]
dsmull_ h v26 , v27 , v19 , v1 . h [ 6 ]
dsmull_ h v22 , v23 , v16 , v0 . h [ 0 ]
drshrn_ h v24 , v24 , v25 , #14
drshrn_ h v16 , v4 , v5 , #14
@ -609,8 +609,8 @@ function idct16_quarter
drshrn_ h v17 , v26 , v27 , #14
drshrn_ h v28 , v22 , v23 , #14
dmbutterfly_ l v20 , v21 , v22 , v23 , v17 , v24 , v0 . h [ 1 ] , v0 . h [ 2 ]
dmbutterfly_ l v18 , v19 , v30 , v31 , v29 , v16 , v0 . h [ 1 ] , v0 . h [ 2 ]
dmbutterfly_ l v20 , v21 , v22 , v23 , v17 , v24 , v0 . h [ 2 ] , v0 . h [ 3 ]
dmbutterfly_ l v18 , v19 , v30 , v31 , v29 , v16 , v0 . h [ 2 ] , v0 . h [ 3 ]
neg v22 . 4 s , v22 . 4 s
neg v23 . 4 s , v23 . 4 s
drshrn_ h v27 , v20 , v21 , #14
@ -646,16 +646,16 @@ function iadst16
dmbutterfly_ l v10 , v11 , v8 , v9 , v17 , v30 , v1 . h [ 7 ] , v1 . h [ 6 ] / / v10 ,v11 = t 1 5 , v8 ,v9 = t 1 4
ld1 { v0 . 8 h } , [ x10 ]
dbutterfly_ n v22 , v30 , v6 , v7 , v10 , v11 , v12 , v13 , v10 , v11 / / v22 = t 7 a , v30 = t 1 5 a
dmbutterfly_ l v14 , v15 , v12 , v13 , v23 , v24 , v0 . h [ 3 ] , v0 . h [ 4 ] / / v14 ,v15 = t 9 , v12 ,v13 = t 8
dmbutterfly_ l v14 , v15 , v12 , v13 , v23 , v24 , v0 . h [ 4 ] , v0 . h [ 5 ] / / v14 ,v15 = t 9 , v12 ,v13 = t 8
dbutterfly_ n v25 , v17 , v4 , v5 , v8 , v9 , v6 , v7 , v8 , v9 / / v25 = t 6 a , v17 = t 1 4 a
dmbutterfly_ l v4 , v5 , v6 , v7 , v28 , v19 , v0 . h [ 4 ] , v0 . h [ 3 ] / / v4 ,v5 = t 1 2 , v6 ,v7 = t 1 3
dmbutterfly_ l v4 , v5 , v6 , v7 , v28 , v19 , v0 . h [ 5 ] , v0 . h [ 4 ] / / v4 ,v5 = t 1 2 , v6 ,v7 = t 1 3
dbutterfly_ n v23 , v19 , v12 , v13 , v4 , v5 , v8 , v9 , v4 , v5 / / v23 = t 8 a , v19 = t 1 2 a
dmbutterfly_ l v10 , v11 , v8 , v9 , v21 , v26 , v0 . h [ 5 ] , v0 . h [ 6 ] / / v10 ,v11 = t 1 1 , v8 ,v9 = t 1 0
dmbutterfly_ l v10 , v11 , v8 , v9 , v21 , v26 , v0 . h [ 6 ] , v0 . h [ 7 ] / / v10 ,v11 = t 1 1 , v8 ,v9 = t 1 0
butterfly_ 8 h _ r v4 , v27 , v16 , v27 / / v4 = t 4 , v27 = t 0
dbutterfly_ n v24 , v28 , v14 , v15 , v6 , v7 , v12 , v13 , v6 , v7 / / v24 = t 9 a , v28 = t 1 3 a
dmbutterfly_ l v12 , v13 , v14 , v15 , v30 , v17 , v0 . h [ 6 ] , v0 . h [ 5 ] / / v12 ,v13 = t 1 4 , v14 ,v15 = t 1 5
dmbutterfly_ l v12 , v13 , v14 , v15 , v30 , v17 , v0 . h [ 7 ] , v0 . h [ 6 ] / / v12 ,v13 = t 1 4 , v14 ,v15 = t 1 5
butterfly_ 8 h _ r v5 , v20 , v31 , v20 / / v5 = t 5 , v20 = t 1
dbutterfly_ n v21 , v17 , v8 , v9 , v12 , v13 , v6 , v7 , v12 , v13 / / v21 = t 1 0 a , v17 = t 1 4 a
dbutterfly_ n v26 , v30 , v10 , v11 , v14 , v15 , v8 , v9 , v14 , v15 / / v26 = t 1 1 a , v30 = t 1 5 a
@ -663,15 +663,15 @@ function iadst16
butterfly_ 8 h _ r v6 , v25 , v18 , v25 / / v6 = t 6 , v25 = t 2
butterfly_ 8 h _ r v7 , v22 , v29 , v22 / / v7 = t 7 , v22 = t 3
dmbutterfly_ l v10 , v11 , v8 , v9 , v19 , v28 , v0 . h [ 1 ] , v0 . h [ 2 ] / / v10 ,v11 = t 1 3 , v8 ,v9 = t 1 2
dmbutterfly_ l v12 , v13 , v14 , v15 , v30 , v17 , v0 . h [ 2 ] , v0 . h [ 1 ] / / v12 ,v13 = t 1 4 , v14 ,v15 = t 1 5
dmbutterfly_ l v10 , v11 , v8 , v9 , v19 , v28 , v0 . h [ 2 ] , v0 . h [ 3 ] / / v10 ,v11 = t 1 3 , v8 ,v9 = t 1 2
dmbutterfly_ l v12 , v13 , v14 , v15 , v30 , v17 , v0 . h [ 3 ] , v0 . h [ 2 ] / / v12 ,v13 = t 1 4 , v14 ,v15 = t 1 5
dbutterfly_ n v18 , v30 , v8 , v9 , v12 , v13 , v16 , v17 , v12 , v13 / / v18 = o u t [ 2 ] , v30 = t 1 4 a
dbutterfly_ n v29 , v17 , v10 , v11 , v14 , v15 , v12 , v13 , v14 , v15 / / v29 = - o u t [ 1 3 ] , v17 = t 1 5 a
neg v29 . 8 h , v29 . 8 h / / v29 = o u t [ 1 3 ]
dmbutterfly_ l v10 , v11 , v8 , v9 , v4 , v5 , v0 . h [ 1 ] , v0 . h [ 2 ] / / v10 ,v11 = t 5 a , v8 ,v9 = t 4 a
dmbutterfly_ l v12 , v13 , v14 , v15 , v7 , v6 , v0 . h [ 2 ] , v0 . h [ 1 ] / / v12 ,v13 = t 6 a , v14 ,v15 = t 7 a
dmbutterfly_ l v10 , v11 , v8 , v9 , v4 , v5 , v0 . h [ 2 ] , v0 . h [ 3 ] / / v10 ,v11 = t 5 a , v8 ,v9 = t 4 a
dmbutterfly_ l v12 , v13 , v14 , v15 , v7 , v6 , v0 . h [ 3 ] , v0 . h [ 2 ] / / v12 ,v13 = t 6 a , v14 ,v15 = t 7 a
butterfly_ 8 h v2 , v6 , v27 , v25 / / v2 = o u t [ 0 ] , v6 = t 2 a
butterfly_ 8 h v3 , v7 , v23 , v21 / / v3 = - o u t [ 1 ] , v7 = t 1 0
@ -1101,10 +1101,10 @@ endfunc
butterfly_ 8 h v7 , v3 , v29 , v31 / / v7 = t 3 1 a , v3 = t 2 8 a
butterfly_ 8 h v22 , v27 , v24 , v27 / / v22 = t 3 0 , v27 = t 2 9
dmbutterfly v27 , v20 , v0 . h [ 1 ] , v0 . h [ 2 ] , v24 , v25 , v30 , v31 / / v27 = t 1 8 a , v20 = t 2 9 a
dmbutterfly v3 , v5 , v0 . h [ 1 ] , v0 . h [ 2 ] , v24 , v25 , v30 , v31 / / v3 = t 1 9 , v5 = t 2 8
dmbutterfly v28 , v6 , v0 . h [ 1 ] , v0 . h [ 2 ] , v24 , v25 , v30 , v31 , n e g =1 / / v28 = t 2 7 , v6 = t 2 0
dmbutterfly v26 , v21 , v0 . h [ 1 ] , v0 . h [ 2 ] , v24 , v25 , v30 , v31 , n e g =1 / / v26 = t 2 6 a , v21 = t 2 1 a
dmbutterfly v27 , v20 , v0 . h [ 2 ] , v0 . h [ 3 ] , v24 , v25 , v30 , v31 / / v27 = t 1 8 a , v20 = t 2 9 a
dmbutterfly v3 , v5 , v0 . h [ 2 ] , v0 . h [ 3 ] , v24 , v25 , v30 , v31 / / v3 = t 1 9 , v5 = t 2 8
dmbutterfly v28 , v6 , v0 . h [ 2 ] , v0 . h [ 3 ] , v24 , v25 , v30 , v31 , n e g =1 / / v28 = t 2 7 , v6 = t 2 0
dmbutterfly v26 , v21 , v0 . h [ 2 ] , v0 . h [ 3 ] , v24 , v25 , v30 , v31 , n e g =1 / / v26 = t 2 6 a , v21 = t 2 1 a
butterfly_ 8 h v31 , v24 , v7 , v4 / / v31 = t 3 1 , v24 = t 2 4
butterfly_ 8 h v30 , v25 , v22 , v23 / / v30 = t 3 0 a , v25 = t 2 5 a
@ -1141,10 +1141,10 @@ function idct32_odd
butterfly_ 8 h v29 , v23 , v31 , v23 / / v29 = t 3 1 , v23 = t 3 0
butterfly_ 8 h v31 , v27 , v19 , v27 / / v31 = t 2 8 , v27 = t 2 9
dmbutterfly v23 , v24 , v0 . h [ 3 ] , v0 . h [ 4 ] , v16 , v17 , v18 , v19 / / v23 = t 1 7 a , v24 = t 3 0 a
dmbutterfly v27 , v20 , v0 . h [ 3 ] , v0 . h [ 4 ] , v16 , v17 , v18 , v19 , n e g =1 / / v27 = t 2 9 a , v20 = t 1 8 a
dmbutterfly v21 , v26 , v0 . h [ 5 ] , v0 . h [ 6 ] , v16 , v17 , v18 , v19 / / v21 = t 2 1 a , v26 = t 2 6 a
dmbutterfly v25 , v22 , v0 . h [ 5 ] , v0 . h [ 6 ] , v16 , v17 , v18 , v19 , n e g =1 / / v25 = t 2 5 a , v22 = t 2 2 a
dmbutterfly v23 , v24 , v0 . h [ 4 ] , v0 . h [ 5 ] , v16 , v17 , v18 , v19 / / v23 = t 1 7 a , v24 = t 3 0 a
dmbutterfly v27 , v20 , v0 . h [ 4 ] , v0 . h [ 5 ] , v16 , v17 , v18 , v19 , n e g =1 / / v27 = t 2 9 a , v20 = t 1 8 a
dmbutterfly v21 , v26 , v0 . h [ 6 ] , v0 . h [ 7 ] , v16 , v17 , v18 , v19 / / v21 = t 2 1 a , v26 = t 2 6 a
dmbutterfly v25 , v22 , v0 . h [ 6 ] , v0 . h [ 7 ] , v16 , v17 , v18 , v19 , n e g =1 / / v25 = t 2 5 a , v22 = t 2 2 a
idct3 2 _ e n d
endfunc
@ -1167,10 +1167,10 @@ function idct32_odd_half
butterfly_ 8 h v29 , v23 , v31 , v23 / / v29 = t 3 1 , v23 = t 3 0
butterfly_ 8 h v31 , v27 , v19 , v27 / / v31 = t 2 8 , v27 = t 2 9
dmbutterfly v23 , v24 , v0 . h [ 3 ] , v0 . h [ 4 ] , v16 , v17 , v18 , v19 / / v23 = t 1 7 a , v24 = t 3 0 a
dmbutterfly v27 , v20 , v0 . h [ 3 ] , v0 . h [ 4 ] , v16 , v17 , v18 , v19 , n e g =1 / / v27 = t 2 9 a , v20 = t 1 8 a
dmbutterfly v21 , v26 , v0 . h [ 5 ] , v0 . h [ 6 ] , v16 , v17 , v18 , v19 / / v21 = t 2 1 a , v26 = t 2 6 a
dmbutterfly v25 , v22 , v0 . h [ 5 ] , v0 . h [ 6 ] , v16 , v17 , v18 , v19 , n e g =1 / / v25 = t 2 5 a , v22 = t 2 2 a
dmbutterfly v23 , v24 , v0 . h [ 4 ] , v0 . h [ 5 ] , v16 , v17 , v18 , v19 / / v23 = t 1 7 a , v24 = t 3 0 a
dmbutterfly v27 , v20 , v0 . h [ 4 ] , v0 . h [ 5 ] , v16 , v17 , v18 , v19 , n e g =1 / / v27 = t 2 9 a , v20 = t 1 8 a
dmbutterfly v21 , v26 , v0 . h [ 6 ] , v0 . h [ 7 ] , v16 , v17 , v18 , v19 / / v21 = t 2 1 a , v26 = t 2 6 a
dmbutterfly v25 , v22 , v0 . h [ 6 ] , v0 . h [ 7 ] , v16 , v17 , v18 , v19 , n e g =1 / / v25 = t 2 5 a , v22 = t 2 2 a
idct3 2 _ e n d
endfunc
@ -1198,18 +1198,18 @@ function idct32_odd_quarter
drshrn_ h v6 , v20 , v21 , #14
drshrn_ h v30 , v24 , v25 , #14
dmbutterfly_ l v16 , v17 , v18 , v19 , v29 , v4 , v0 . h [ 3 ] , v0 . h [ 4 ]
dmbutterfly_ l v27 , v26 , v20 , v21 , v31 , v5 , v0 . h [ 3 ] , v0 . h [ 4 ]
dmbutterfly_ l v16 , v17 , v18 , v19 , v29 , v4 , v0 . h [ 4 ] , v0 . h [ 5 ]
dmbutterfly_ l v27 , v26 , v20 , v21 , v31 , v5 , v0 . h [ 4 ] , v0 . h [ 5 ]
drshrn_ h v23 , v16 , v17 , #14
drshrn_ h v24 , v18 , v19 , #14
neg v20 . 4 s , v20 . 4 s
neg v21 . 4 s , v21 . 4 s
drshrn_ h v27 , v27 , v26 , #14
drshrn_ h v20 , v20 , v21 , #14
dmbutterfly_ l v16 , v17 , v18 , v19 , v30 , v6 , v0 . h [ 5 ] , v0 . h [ 6 ]
dmbutterfly_ l v16 , v17 , v18 , v19 , v30 , v6 , v0 . h [ 6 ] , v0 . h [ 7 ]
drshrn_ h v21 , v16 , v17 , #14
drshrn_ h v26 , v18 , v19 , #14
dmbutterfly_ l v16 , v17 , v18 , v19 , v28 , v7 , v0 . h [ 5 ] , v0 . h [ 6 ]
dmbutterfly_ l v16 , v17 , v18 , v19 , v28 , v7 , v0 . h [ 6 ] , v0 . h [ 7 ]
drshrn_ h v25 , v16 , v17 , #14
neg v18 . 4 s , v18 . 4 s
neg v19 . 4 s , v19 . 4 s