Mark all intreadwrite functions av_always_inline

Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Måns Rullgård
2010-01-18 01:35:19 +00:00
parent 8d072dd2a9
commit bdd19e29df
4 changed files with 32 additions and 32 deletions

View File

@@ -25,7 +25,7 @@
#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM
#define AV_RN16 AV_RN16
static inline uint16_t AV_RN16(const void *p)
static av_always_inline uint16_t AV_RN16(const void *p)
{
uint16_t v;
__asm__ ("ldrh %0, %1" : "=r"(v) : "m"(*(const uint16_t *)p));
@@ -33,13 +33,13 @@ static inline uint16_t AV_RN16(const void *p)
}
#define AV_WN16 AV_WN16
static inline void AV_WN16(void *p, uint16_t v)
static av_always_inline void AV_WN16(void *p, uint16_t v)
{
__asm__ ("strh %1, %0" : "=m"(*(uint16_t *)p) : "r"(v));
}
#define AV_RN32 AV_RN32
static inline uint32_t AV_RN32(const void *p)
static av_always_inline uint32_t AV_RN32(const void *p)
{
uint32_t v;
__asm__ ("ldr %0, %1" : "=r"(v) : "m"(*(const uint32_t *)p));
@@ -47,13 +47,13 @@ static inline uint32_t AV_RN32(const void *p)
}
#define AV_WN32 AV_WN32
static inline void AV_WN32(void *p, uint32_t v)
static av_always_inline void AV_WN32(void *p, uint32_t v)
{
__asm__ ("str %1, %0" : "=m"(*(uint32_t *)p) : "r"(v));
}
#define AV_RN64 AV_RN64
static inline uint64_t AV_RN64(const void *p)
static av_always_inline uint64_t AV_RN64(const void *p)
{
union { uint64_t v; uint32_t hl[2]; } v;
__asm__ ("ldr %0, %2 \n\t"
@@ -64,7 +64,7 @@ static inline uint64_t AV_RN64(const void *p)
}
#define AV_WN64 AV_WN64
static inline void AV_WN64(void *p, uint64_t v)
static av_always_inline void AV_WN64(void *p, uint64_t v)
{
union { uint64_t v; uint32_t hl[2]; } vv = { v };
__asm__ ("str %2, %0 \n\t"