Revision bdd19e29 libavutil/arm/intreadwrite.h

View differences:

libavutil/arm/intreadwrite.h
25 25
#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM
26 26

  
27 27
#define AV_RN16 AV_RN16
28
static inline uint16_t AV_RN16(const void *p)
28
static av_always_inline uint16_t AV_RN16(const void *p)
29 29
{
30 30
    uint16_t v;
31 31
    __asm__ ("ldrh %0, %1" : "=r"(v) : "m"(*(const uint16_t *)p));
......
33 33
}
34 34

  
35 35
#define AV_WN16 AV_WN16
36
static inline void AV_WN16(void *p, uint16_t v)
36
static av_always_inline void AV_WN16(void *p, uint16_t v)
37 37
{
38 38
    __asm__ ("strh %1, %0" : "=m"(*(uint16_t *)p) : "r"(v));
39 39
}
40 40

  
41 41
#define AV_RN32 AV_RN32
42
static inline uint32_t AV_RN32(const void *p)
42
static av_always_inline uint32_t AV_RN32(const void *p)
43 43
{
44 44
    uint32_t v;
45 45
    __asm__ ("ldr  %0, %1" : "=r"(v) : "m"(*(const uint32_t *)p));
......
47 47
}
48 48

  
49 49
#define AV_WN32 AV_WN32
50
static inline void AV_WN32(void *p, uint32_t v)
50
static av_always_inline void AV_WN32(void *p, uint32_t v)
51 51
{
52 52
    __asm__ ("str  %1, %0" : "=m"(*(uint32_t *)p) : "r"(v));
53 53
}
54 54

  
55 55
#define AV_RN64 AV_RN64
56
static inline uint64_t AV_RN64(const void *p)
56
static av_always_inline uint64_t AV_RN64(const void *p)
57 57
{
58 58
    union { uint64_t v; uint32_t hl[2]; } v;
59 59
    __asm__ ("ldr   %0, %2  \n\t"
......
64 64
}
65 65

  
66 66
#define AV_WN64 AV_WN64
67
static inline void AV_WN64(void *p, uint64_t v)
67
static av_always_inline void AV_WN64(void *p, uint64_t v)
68 68
{
69 69
    union { uint64_t v; uint32_t hl[2]; } vv = { v };
70 70
    __asm__ ("str  %2, %0  \n\t"

Also available in: Unified diff