@ -21,6 +21,7 @@
# include " l i b a v u t i l / a r m / a s m . S "
function f f _ h26 4 _ i d c t _ a d d _ n e o n , e x p o r t =1
h264_idct_add_neon_nothumb :
vld1 . 6 4 { d0 - d3 } , [ r1 ,: 1 2 8 ]
vmov. i 1 6 q15 , #0
@ -73,6 +74,7 @@ function ff_h264_idct_add_neon, export=1
endfunc
function f f _ h26 4 _ i d c t _ d c _ a d d _ n e o n , e x p o r t =1
h264_idct_dc_add_neon_nothumb :
mov r3 , #0
vld1 . 1 6 { d2 [ ] ,d3 [ ] } , [ r1 ,: 1 6 ]
strh r3 , [ r1 ]
@ -113,8 +115,8 @@ function ff_h264_idct_add16_neon, export=1
movne l r , #0
cmp l r , #0
ite n e
adrne l r , X ( f f _ h26 4 _ i d c t _ d c _ a d d _ n e o n ) + C O N F I G _ T H U M B
adreq l r , X ( f f _ h26 4 _ i d c t _ a d d _ n e o n ) + C O N F I G _ T H U M B
adrne l r , h26 4 _ i d c t _ d c _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
adreq l r , h26 4 _ i d c t _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
blx l r
2 : subs i p , i p , #1
add r1 , r1 , #32
@ -138,8 +140,8 @@ function ff_h264_idct_add16intra_neon, export=1
cmp r8 , #0
ldrsh r8 , [ r1 ]
iteet n e
adrne l r , X ( f f _ h26 4 _ i d c t _ a d d _ n e o n ) + C O N F I G _ T H U M B
adreq l r , X ( f f _ h26 4 _ i d c t _ d c _ a d d _ n e o n ) + C O N F I G _ T H U M B
adrne l r , h26 4 _ i d c t _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
adreq l r , h26 4 _ i d c t _ d c _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
cmpeq r8 , #0
blxne l r
subs i p , i p , #1
@ -166,8 +168,8 @@ function ff_h264_idct_add8_neon, export=1
cmp r8 , #0
ldrsh r8 , [ r1 ]
iteet n e
adrne l r , X ( f f _ h26 4 _ i d c t _ a d d _ n e o n ) + C O N F I G _ T H U M B
adreq l r , X ( f f _ h26 4 _ i d c t _ d c _ a d d _ n e o n ) + C O N F I G _ T H U M B
adrne l r , h26 4 _ i d c t _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
adreq l r , h26 4 _ i d c t _ d c _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
cmpeq r8 , #0
blxne l r
add r12 , r12 , #1
@ -267,6 +269,7 @@ endfunc
.endm
function f f _ h26 4 _ i d c t 8 _ a d d _ n e o n , e x p o r t =1
h264_idct8_add_neon_nothumb :
vmov. i 1 6 q3 , #0
vld1 . 1 6 { q8 - q9 } , [ r1 ,: 1 2 8 ]
vst1 . 1 6 { q3 } , [ r1 ,: 1 2 8 ] !
@ -328,6 +331,7 @@ function ff_h264_idct8_add_neon, export=1
endfunc
function f f _ h26 4 _ i d c t 8 _ d c _ a d d _ n e o n , e x p o r t =1
h264_idct8_dc_add_neon_nothumb :
mov r3 , #0
vld1 . 1 6 { d30 [ ] ,d31 [ ] } ,[ r1 ,: 1 6 ]
strh r3 , [ r1 ]
@ -388,8 +392,8 @@ function ff_h264_idct8_add4_neon, export=1
movne l r , #0
cmp l r , #0
ite n e
adrne l r , X ( f f _ h26 4 _ i d c t 8 _ d c _ a d d _ n e o n ) + C O N F I G _ T H U M B
adreq l r , X ( f f _ h26 4 _ i d c t 8 _ a d d _ n e o n ) + C O N F I G _ T H U M B
adrne l r , h26 4 _ i d c t 8 _ d c _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
adreq l r , h26 4 _ i d c t 8 _ a d d _ n e o n _ n o t h u m b + C O N F I G _ T H U M B
blx l r
2 : subs r12 , r12 , #4
add r1 , r1 , #128