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) | \