summaryrefslogtreecommitdiff
path: root/vp8/encoder/arm/neon/fastquantizeb_neon.asm
diff options
context:
space:
mode:
Diffstat (limited to 'vp8/encoder/arm/neon/fastquantizeb_neon.asm')
-rw-r--r--vp8/encoder/arm/neon/fastquantizeb_neon.asm16
1 files changed, 8 insertions, 8 deletions
diff --git a/vp8/encoder/arm/neon/fastquantizeb_neon.asm b/vp8/encoder/arm/neon/fastquantizeb_neon.asm
index dcf3c5090..c970cb73e 100644
--- a/vp8/encoder/arm/neon/fastquantizeb_neon.asm
+++ b/vp8/encoder/arm/neon/fastquantizeb_neon.asm
@@ -135,17 +135,16 @@
vmovl.u16 q0, d0
vmovl.u16 q10, d20
-
vmax.u32 d0, d0, d1
vmax.u32 d20, d20, d21
vpmax.u32 d0, d0, d0
vpmax.u32 d20, d20, d20
- add r4, r2, #vp8_blockd_eob
- add r5, r3, #vp8_blockd_eob
+ ldr r4, [r2, #vp8_blockd_eob]
+ ldr r5, [r3, #vp8_blockd_eob]
- vst1.32 {d0[0]}, [r4@32]
- vst1.32 {d20[0]}, [r5@32]
+ vst1.8 {d0[0]}, [r4] ; store eob
+ vst1.8 {d20[0]}, [r5] ; store eob
vldmia sp!, {q4-q7}
ldmfd sp!, {r4-r9}
@@ -196,6 +195,8 @@
vshr.s16 q12, #1 ; right shift 1 after vqdmulh
vshr.s16 q13, #1
+ ldr r5, [r1, #vp8_blockd_eob]
+
orr r2, r2, r3 ; check if all zero (step 4)
cmp r2, #0 ; check if all zero (step 5)
beq zero_output ; check if all zero (step 6)
@@ -230,14 +231,13 @@
vst1.s16 {q2, q3}, [r7@128] ; store dqcoeff = x * Dequant
- add r4, r1, #vp8_blockd_eob
- vst1.32 {d0[0]}, [r4@32]
+ vst1.8 {d0[0]}, [r5] ; store eob
ldmfd sp!, {r4-r7}
bx lr
zero_output
- str r2, [r1, #vp8_blockd_eob]
+ strb r2, [r5] ; store eob
vst1.s16 {q0, q1}, [r6@128] ; qcoeff = 0
vst1.s16 {q0, q1}, [r7@128] ; dqcoeff = 0