summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Deacon <kdeacon@ti.com>2011-04-27 12:14:39 -0500
committerGerrit Code Review <gerrit2@git.omapzoom.org>2011-04-27 12:14:39 -0500
commitafbfb935d1315168d94da95770a0642407a3a153 (patch)
tree0f036ee64cbf1cbfdfb8e45e7e477da664e1557e
parent510e907185808ed32f3992c7f353c1d76e444357 (diff)
parentb109c68d59d8b31bc829856a3a759ae665dd0498 (diff)
downloadbase-afbfb935d1315168d94da95770a0642407a3a153.tar.gz
Merge "Fixing remaining NEON corner cases" into p-gingerbread
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s3
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s3
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/math_op.c6
3 files changed, 12 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
index 1ce9cb243def..2c388e794cbc 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
@@ -74,6 +74,9 @@ PreMDCT_LOOP:
bne PreMDCT_LOOP
PreMDCT_END:
+.ifdef NEEDS_ARM_ERRATA_754319_754320_ASM
+ VMOV s0,s0 @NOP for ARM Errata
+.endif
ldmia sp!, {r4 - r11, pc}
@ENDP @ |PreMDCT|
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
index 5f2ed5e60ce8..3fae129482a7 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
@@ -103,6 +103,9 @@ Radix8First_LOOP:
bne Radix8First_LOOP
Radix8First_END:
+.ifdef NEEDS_ARM_ERRATA_754319_754320_ASM
+ VMOV s0,s0 @NOP for ARM Errata
+.endif
ldmia sp!, {r4 - r11, pc}
SQRT1_2:
.word 0x2d413ccd
diff --git a/media/libstagefright/codecs/amrwbenc/src/math_op.c b/media/libstagefright/codecs/amrwbenc/src/math_op.c
index 1c95ed025133..b99212489466 100644
--- a/media/libstagefright/codecs/amrwbenc/src/math_op.c
+++ b/media/libstagefright/codecs/amrwbenc/src/math_op.c
@@ -108,6 +108,9 @@ void Isqrt_n(
{
*exp = 0;
*frac = 0x7fffffffL;
+#ifdef NEEDS_ARM_ERRATA_754319_754320
+ asm volatile("vmov s0,s0\n\t");
+#endif
return;
}
@@ -125,6 +128,9 @@ void Isqrt_n(
*frac = L_deposit_h(table_isqrt[i]); /* table[i] << 16 */
tmp = vo_sub(table_isqrt[i], table_isqrt[i + 1]); /* table[i] - table[i+1]) */
*frac = vo_L_msu(*frac, tmp, a); /* frac -= tmp*a*2 */
+#ifdef NEEDS_ARM_ERRATA_754319_754320
+ asm volatile("vmov s0,s0\n\t");
+#endif
return;
}