summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2010-09-29 13:20:03 +0000
committerNils Wallménius <nils@rockbox.org>2010-09-29 13:20:03 +0000
commit5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4 (patch)
tree377231caad4e1a3c4447b7838a73c9a6bec46c7e /apps/codecs
parent918e895c12a25365b15f9df82c2aa33bfb74436a (diff)
downloadrockbox-5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4.zip
rockbox-5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4.tar.gz
rockbox-5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4.tar.bz2
rockbox-5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4.tar.xz
ARMv6 supports unaligned memory accesses and they are enabled on our only ARMv6 target so we might as well use them. Speeds up decoding of a flac8 file by 3.5%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28183 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/lib/ffmpeg_intreadwrite.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/apps/codecs/lib/ffmpeg_intreadwrite.h b/apps/codecs/lib/ffmpeg_intreadwrite.h
index ca71810..24f0329 100644
--- a/apps/codecs/lib/ffmpeg_intreadwrite.h
+++ b/apps/codecs/lib/ffmpeg_intreadwrite.h
@@ -186,9 +186,9 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
#endif
#ifndef AV_RB32
-/* Coldfire cpu's support unaligned long reads */
-#ifdef CPU_COLDFIRE
-#define AV_RB32(x) (*(const uint32_t*)(x))
+/* Coldfire and ARMv6 and above support unaligned long reads */
+#if defined CPU_COLDFIRE || (defined CPU_ARM && ARM_ARCH >= 6)
+#define AV_RB32(x) (htobe32(*(const uint32_t*)(x)))
#else
# define AV_RB32(x) \
((((const uint8_t*)(x))[0] << 24) | \