From 5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Wed, 29 Sep 2010 13:20:03 +0000 Subject: 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 --- apps/codecs/lib/ffmpeg_intreadwrite.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/codecs/lib/ffmpeg_intreadwrite.h b/apps/codecs/lib/ffmpeg_intreadwrite.h index ca718106d1..24f03292e8 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) | \ -- cgit v1.2.3