[xiph-commits] r17750 - trunk/theora/lib/arm

tterribe at svn.xiph.org tterribe at svn.xiph.org
Sun Dec 12 23:03:07 PST 2010


Author: tterribe
Date: 2010-12-12 23:03:07 -0800 (Sun, 12 Dec 2010)
New Revision: 17750

Modified:
   trunk/theora/lib/arm/armenquant.s
Log:
Correct two small mistakes in r17749.

The wrong offset was being used for the shift factor in
 oc_enc_enquant_table_fixup_neon(), and the wrong value was being returned from
 oc_enc_quantize_neon() when the entire block was quantized to zero.


Modified: trunk/theora/lib/arm/armenquant.s
===================================================================
--- trunk/theora/lib/arm/armenquant.s	2010-12-13 06:27:49 UTC (rev 17749)
+++ trunk/theora/lib/arm/armenquant.s	2010-12-13 07:03:07 UTC (rev 17750)
@@ -63,17 +63,17 @@
 	LDR	r2, [r0]
 	SUBS	r14,r14,#1
 	LDRH	r3, [r2]
-	LDRH	r12,[r2,#32]
+	LDRH	r12,[r2,#16]
 	LDR	r2, [r0,#8]
 	STRH	r3, [r2]
-	STRH	r12,[r2,#32]
+	STRH	r12,[r2,#16]
 	LDR	r2, [r0,#4]
 	LDRH	r3, [r2]
-	LDRH	r12,[r2,#32]
+	LDRH	r12,[r2,#16]
 	LDR	r2, [r0,#12]
 	ADD	r0, r0, #24
 	STRH	r3, [r2]
-	STRH	r12,[r2,#32]
+	STRH	r12,[r2,#16]
 	BNE	oeetf_neon_lp2
 	SUB	r0, r0, #64
 	B	oeetf_neon_lp1
@@ -147,9 +147,9 @@
 	BLT	oeq_neon_lp
 	; Start with the low half while the NEON register transfers.
 	PKHBT	r0, r14,r12             ; r0 =B|A
-	MVN	r0, r0
-	CLZ	r0, r0
-	RSB	r0, r0, #31
+	MVNS	r0, r0
+	CLZNE	r0, r0
+	RSBNE	r0, r0, #31
 	; Stall 8-10 more cycles waiting for the last transfer.
 	ORR	r4, r5, LSL #2          ; r4 =.F.D.B.9.7.5.3.1.E.C.A.8.6.4.2.0
 	ORR	r4, r4, LSR #15         ; r4 =.F.D.B.9.7.5.3.1FEDCBA9876543210



More information about the commits mailing list