Commit Graph

14 Commits

Author SHA1 Message Date
Måns Rullgård 9077e29ecc ARM: optimised integer clip functions
Originally committed as revision 24089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 17:27:51 +00:00
Måns Rullgård edd7fa82d7 ARM: intmath.h cosmetics
Originally committed as revision 24088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 17:27:48 +00:00
Måns Rullgård 2ed6f39944 Replace many includes of libavutil/common.h with what is actually needed
This reduces the number of false dependencies on header files and
speeds up compilation.

Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Måns Rullgård 4a89e0a675 ARM: add some missing includes
Originally committed as revision 22340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 19:59:54 +00:00
Måns Rullgård ac73f1a816 ARM: change argument/return type of bswap_16() to unsigned 32-bit
This avoids unnecessary masking otherwise added by the compilers.

Originally committed as revision 21953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:08 +00:00
Måns Rullgård 75fb5c24ed Move FASTDIV macro to intmath.h
Originally committed as revision 21335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 23:25:36 +00:00
Måns Rullgård bdd19e29df Mark all intreadwrite functions av_always_inline
Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 01:35:19 +00:00
Måns Rullgård e6956a6e48 ARM: first value loaded in AV_RN64 needs to be early-clobber
Originally committed as revision 19656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 15:51:50 +00:00
Måns Rullgård 300ad6c16e ARM: use gcc inline asm in bswap.h only when available
Originally committed as revision 19311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 00:55:15 +00:00
Måns Rullgård 3c55ce039d ARM asm for AV_RN*()
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
2009-04-18 00:00:28 +00:00
Måns Rullgård 60c703ac4b ARM: START/STOP_TIMER support for ARMv7
Originally committed as revision 18305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 22:56:26 +00:00
Måns Rullgård 1e65f62e2b ARM: armcc versions of bswap_16/32
Originally committed as revision 17830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:10 +00:00
Aurelien Jacobs b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Måns Rullgård 3a90480ac4 split bswap.h into per-arch files
Originally committed as revision 15663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 22:29:57 +00:00