- 07 May, 2012 1 commit
-
-
Diego Biurrun authored
-
- 03 May, 2012 1 commit
-
-
Mans Rullgard authored
Commit adebad07 "arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later" caused some older gcc versions to miscompile code. This reverts to the old version of the code for these compilers. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 02 May, 2012 2 commits
-
-
Mans Rullgard authored
Starting with version 4.7, gcc properly supports unaligned memory accesses on ARM. Not using the inline asm with these compilers results in better code. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
With a dereferenced type-cast pointer as memory operand, gcc 4.6 and later will sometimes copy the data to a temporary location, the address of which is used as the operand value, if it thinks the target address might be misaligned. Using a pointer to a packed struct type instead does the right thing. The 16-bit case is special since the ldrh instruction addressing modes are limited compared to ldr. The "Uq" constraint produces a memory reference suitable for an ldrsb instruction, which supports the same addressing modes as ldrh. However, the restrictions appear to apply only when the operand addresses a single byte. The memory reference must thus be split into two operands each targeting one byte. Finally, the "Uq" constraint is only available in ARM mode. The Thumb-2 ldrh instruction supports most addressing modes so the normal "m" constraint can be used there. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 22 Apr, 2012 1 commit
-
-
Mans Rullgard authored
This allows masking CPU features with the -cpuflags avconv option which is useful for testing different optimisations without rebuilding. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 12 Mar, 2012 1 commit
-
-
Janne Grunau authored
The were broken since August of 2010 without anyone noticing until three weeks ago. Nobody cares about it anymore and hopefully Marvell will support NEON like in the PXA978 from now on.
-
- 12 Dec, 2011 1 commit
-
-
Mans Rullgard authored
With these changes, gcc 4.5 and later recognise it as a bswap and use the proper instructions on ARM and x86. On x86, the 16-bit bswap is recognised from gcc 4.1. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 11 Oct, 2011 1 commit
-
-
Michael Niedermayer authored
Note, the other arm asm code is likely affected too and should be changed as well. Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 23 Jun, 2011 1 commit
-
-
Mans Rullgard authored
Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 30 May, 2011 1 commit
-
-
Mans Rullgard authored
Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 28 May, 2011 1 commit
-
-
Mans Rullgard authored
This uses one register less. Also add missing "cc" clobber. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 26 May, 2011 3 commits
-
-
Mans Rullgard authored
Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
The volatile qualifiers are not needed on these statements as their effects are fully specified by constraints. Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 19 Mar, 2011 1 commit
-
-
Mans Rullgard authored
Signed-off-by:
Mans Rullgard <mans@mansr.com>
-
- 18 Feb, 2011 1 commit
-
-
Jason Garrett-Glaser authored
On some versions of gcc, these weren't always getting inlined due to hitting the inline cap limit in some files. This is generally bad, as most of these functions are smaller inlined than not. (cherry picked from commit eb3755a5)
-
- 17 Feb, 2011 1 commit
-
-
Jason Garrett-Glaser authored
On some versions of gcc, these weren't always getting inlined due to hitting the inline cap limit in some files. This is generally bad, as most of these functions are smaller inlined than not.
-
- 18 Jan, 2011 1 commit
-
-
Janne Grunau authored
Signed-off-by:
Janne Grunau <janne-ffmpeg@jannau.net>
-
- 17 Jan, 2011 1 commit
-
-
Janne Grunau authored
Signed-off-by:
Janne Grunau <janne-ffmpeg@jannau.net>
-
- 26 Sep, 2010 1 commit
-
-
Måns Rullgård authored
This prevents gcc inserting useless UXTH instructions, at least in some cases. Originally committed as revision 25212 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 09 Sep, 2010 1 commit
-
-
Måns Rullgård authored
Instead of defining functions in per-arch header files included by the main cpu.c, define them normally and call them from the generic one. Originally committed as revision 25084 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 08 Sep, 2010 1 commit
-
-
Stefano Sabatini authored
function and rename it to av_get_cpu_flags(). Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 10 Jul, 2010 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 07 Jul, 2010 2 commits
-
-
Måns Rullgård authored
Originally committed as revision 24089 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
Måns Rullgård authored
Originally committed as revision 24088 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 09 Mar, 2010 1 commit
-
-
Måns Rullgård authored
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
-
- 08 Mar, 2010 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 22340 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 22 Feb, 2010 1 commit
-
-
Måns Rullgård authored
This avoids unnecessary masking otherwise added by the compilers. Originally committed as revision 21953 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 19 Jan, 2010 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 21335 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 18 Jan, 2010 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 16 Aug, 2009 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 19656 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 01 Jul, 2009 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 19311 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 18 Apr, 2009 1 commit
-
-
Måns Rullgård authored
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
-
- 01 Apr, 2009 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 18305 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 05 Mar, 2009 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 17830 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 13 Jan, 2009 1 commit
-
-
Aurelien Jacobs authored
They are now always defined to either 0 or 1. Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 21 Oct, 2008 1 commit
-
-
Måns Rullgård authored
Originally committed as revision 15663 to svn://svn.ffmpeg.org/ffmpeg/trunk
-