diff options
| author | Nils Wallménius <nils@rockbox.org> | 2010-07-15 17:15:20 +0000 |
|---|---|---|
| committer | Nils Wallménius <nils@rockbox.org> | 2010-07-15 17:15:20 +0000 |
| commit | 74063845c0a6602fd9ccfc038165b15a587eb656 (patch) | |
| tree | 87c6724f98b0776d22e04c299b3e8409a98a88e5 | |
| parent | b9e7c18dda82fb92c5e506b2e83a70132604e73b (diff) | |
| download | rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.zip rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.tar.gz rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.tar.bz2 rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.tar.xz | |
Properly fix warning by copying the swap16 and swap32 inline functions from system.h to mips/ingenic_jz47xx/system-target.h to replace the defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27433 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/codecs/libffmpegFLAC/shndec.c | 2 | ||||
| -rw-r--r-- | firmware/target/mips/ingenic_jz47xx/system-target.h | 26 |
2 files changed, 24 insertions, 4 deletions
diff --git a/apps/codecs/libffmpegFLAC/shndec.c b/apps/codecs/libffmpegFLAC/shndec.c index db79844..b107b35 100644 --- a/apps/codecs/libffmpegFLAC/shndec.c +++ b/apps/codecs/libffmpegFLAC/shndec.c @@ -423,7 +423,7 @@ int shorten_init(ShortenContext* s, uint8_t *buf, int buf_size) get_bits(&s->gb, s->bitindex); /* shorten signature */ - if ((unsigned)get_bits_long(&s->gb, 32) != bswap_32(ff_get_fourcc("ajkg"))) { + if (get_bits_long(&s->gb, 32) != bswap_32(ff_get_fourcc("ajkg"))) { return -1; } diff --git a/firmware/target/mips/ingenic_jz47xx/system-target.h b/firmware/target/mips/ingenic_jz47xx/system-target.h index 232412d..1f8c388 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-target.h +++ b/firmware/target/mips/ingenic_jz47xx/system-target.h @@ -22,6 +22,8 @@ #ifndef __SYSTEM_TARGET_H_ #define __SYSTEM_TARGET_H_ +#include <inttypes.h> + #include "config.h" #include "jz4740.h" #include "mipsregs.h" @@ -72,9 +74,27 @@ static inline void restore_interrupt(int status) #define disable_irq_save() disable_interrupt_save(ST0_IE) #define restore_irq(c0_status) restore_interrupt(c0_status) -#define swap16(x) (((x) & 0xff) << 8 | ((x) >> 8) & 0xff) -#define swap32(x) (((x) & 0xff) << 24 | ((x) & 0xff00) << 8 | \ - ((x) & 0xff0000) >> 8 | ((x) >> 24) & 0xff) +static inline uint16_t swap16(uint16_t value) + /* + result[15..8] = value[ 7..0]; + result[ 7..0] = value[15..8]; + */ +{ + return (value >> 8) | (value << 8); +} + +static inline uint32_t swap32(uint32_t value) + /* + result[31..24] = value[ 7.. 0]; + result[23..16] = value[15.. 8]; + result[15.. 8] = value[23..16]; + result[ 7.. 0] = value[31..24]; + */ +{ + uint32_t hi = swap16(value >> 16); + uint32_t lo = swap16(value & 0xffff); + return (lo << 16) | hi; +} #define UNCACHED_ADDRESS(addr) ((unsigned int)(addr) | 0xA0000000) #define UNCACHED_ADDR(x) UNCACHED_ADDRESS((x)) |