ffmpeg/libavutil
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
..
arm ARM asm for AV_RN*() 2009-04-18 00:00:28 +00:00
bfin Split libavutil/timer.h per architecture 2009-04-01 22:56:22 +00:00
ppc Split libavutil/timer.h per architecture 2009-04-01 22:56:22 +00:00
sh4
x86 Split libavutil/timer.h per architecture 2009-04-01 22:56:22 +00:00
Makefile Add a configure check for lzo1x_999_compress() and compile the lzo test program 2009-04-09 14:55:05 +00:00
adler32.c Fix compilation of adler32 test program: Use av_log_set_level() 2009-03-19 01:10:30 +00:00
adler32.h
aes.c cosmetics: Rename prn variable to prng (Pseudo Random Number Generator). 2009-04-10 17:23:38 +00:00
aes.h
avstring.c
avstring.h
avutil.h Implement av_fifo_space(). 2009-04-02 23:22:19 +00:00
base64.c Mark non-exported functions in test and example programs as static. 2009-03-31 09:32:59 +00:00
base64.h
bswap.h
common.h
crc.c
crc.h
crc_data.h
des.c Mark non-exported functions in test and example programs as static. 2009-03-31 09:32:59 +00:00
des.h
fifo.c Implement av_fifo_space(). 2009-04-02 23:22:19 +00:00
fifo.h Implement av_fifo_space(). 2009-04-02 23:22:19 +00:00
integer.c
integer.h
internal.h When warning about forbidden pseudo random number generation functions, 2009-03-21 16:16:04 +00:00
intfloat_readwrite.c
intfloat_readwrite.h
intreadwrite.h ARM asm for AV_RN*() 2009-04-18 00:00:28 +00:00
lfg.c Fix reference to av_random where av_lfg_get was meant. 2009-03-21 16:14:21 +00:00
lfg.h
lls.c Align test program output columns. 2009-03-20 11:40:05 +00:00
lls.h
log.c
log.h Remove all remaining code that was disabled through the major version bump. 2009-03-09 10:24:47 +00:00
lzo.c Give liblzo benchmark conditionals more descriptive names and add convenience 2009-04-09 15:11:48 +00:00
lzo.h
mathematics.c Remove all remaining code that was disabled through the major version bump. 2009-03-09 10:24:47 +00:00
mathematics.h
md5.c
md5.h
mem.c
mem.h
pca.c cosmetics: Rename prn variable to prng (Pseudo Random Number Generator). 2009-04-10 17:23:38 +00:00
pca.h
pixfmt.h Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros. 2009-03-23 23:01:11 +00:00
random_seed.c add ff_random_get_seed to be used in conjunction with random functions 2009-03-08 01:28:14 +00:00
random_seed.h Fix typo: 'conjuction' -> 'conjunction'. 2009-03-15 16:36:36 +00:00
rational.c
rational.h
rc4.c Remove more functions disabled by major version bump. 2009-03-08 15:02:12 +00:00
rc4.h
sha1.c
sha1.h
softfloat.c Make softfloat test program compile again: Setting the av_log_level variable 2009-03-20 00:23:13 +00:00
softfloat.h
timer.h ARM: START/STOP_TIMER support for ARMv7 2009-04-01 22:56:26 +00:00
tree.c cosmetics: Rename prn variable to prng (Pseudo Random Number Generator). 2009-04-10 17:23:38 +00:00
tree.h
utils.c
x86_cpu.h typedef int x86_reg on non x86 2009-03-19 14:49:47 +00:00