summaryrefslogtreecommitdiff
path: root/libavutil/arm/intreadwrite.h
Commit message (Collapse)AuthorAge
* Mark all intreadwrite functions av_always_inlineMåns Rullgård2010-01-18
| | | | Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ARM: first value loaded in AV_RN64 needs to be early-clobberMåns Rullgård2009-08-16
| | | | Originally committed as revision 19656 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ARM asm for AV_RN*()Måns Rullgård2009-04-18
ARMv6 and later support unaligned loads and stores for single word/halfword but not double/multiple. GCC is ignorant of this and will always use bytewise accesses for unaligned data. Casting to an int32_t pointer is dangerous since a load/store double or multiple instruction might be used (this happens with some code in FFmpeg). Implementing the AV_[RW]* macros with inline asm using only supported instructions gives fast and safe unaligned accesses. ARM RVCT does the right thing with generic code. This gives an overall speedup of up to 10%. Originally committed as revision 18601 to svn://svn.ffmpeg.org/ffmpeg/trunk