summaryrefslogtreecommitdiff
path: root/libavutil/intreadwrite.h
Commit message (Collapse)AuthorAge
* PPC asm for AV_RL*()Måns Rullgård2009-04-18
| | | | | | | | | | | | PPC is normally big endian but has special little endian load/store instructions. Using these avoids a separate byteswap. This makes the vorbis decoder about 5% faster. Not much else uses little-endian read/write extensively. GCC generates horrible PPC code for the default AV_[RW]B64 (which uses a packed struct), so we override it with a plain pointer cast. Originally committed as revision 18602 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
* Reorganise intreadwrite.hMåns Rullgård2009-04-18
| | | | | | | | This changes intreadwrite.h to support per-arch implementations of the various macros allowing us to take advantage of special instructions or other properties the compiler does not know about. Originally committed as revision 18600 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change semantic of CONFIG_*, HAVE_* and ARCH_*.Aurelien Jacobs2009-01-13
| | | | | | They are now always defined to either 0 or 1. Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Globally rename the header inclusion guard names.Stefano Sabatini2008-08-31
| | | | | | | | | Consistently apply this rule: the guard name is obtained from the filename by stripping the leading "lib", converting '/' and '.' to '_' and uppercasing the resulting name. Guard names in the root directory have to be prefixed by "FFMPEG_". Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
* intreadwrite: support DEC compiler __unaligned type qualifierMåns Rullgård2008-07-18
| | | | Originally committed as revision 14275 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rearrange AV_[RW][BL]*() macrosMåns Rullgård2008-07-17
| | | | Originally committed as revision 14265 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add #include "config.h" to headers that need it.Diego Biurrun2008-03-13
| | | | Originally committed as revision 12431 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not cast const away.Michael Niedermayer2008-02-01
| | | | Originally committed as revision 11707 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add FFMPEG_ prefix to all multiple inclusion guards.Diego Biurrun2007-10-17
| | | | Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
* * renaming (ST|LD)(16|32|64) -> AV_(R|W)N(16|32|64)Roman Shaposhnik2007-08-09
| | | | Originally committed as revision 10023 to svn://svn.ffmpeg.org/ffmpeg/trunk
* intreadwrite.h needs bswap.h if HAVE_FAST_UNALIGNED is set, so include it.Reimar Döffinger2007-06-24
| | | | Originally committed as revision 9414 to svn://svn.ffmpeg.org/ffmpeg/trunk
* include all prerequisites in header filesMåns Rullgård2007-06-16
| | | | Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Proper fix for r8963Jindřich Makovička2007-05-10
| | | | | | | | | Patch by Jindrich Makovicka, makovick at gmail dot com Reference thread: Subject: Re: [PATCH] make libavcodec use bytestream functions Date: Thu, 10 May 2007 07:49:43 +0200 Originally committed as revision 8982 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add AV_[RW][BL]64 supportIvo van Poorten2007-05-07
| | | | Originally committed as revision 8924 to svn://svn.ffmpeg.org/ffmpeg/trunk
* "fast unaligned" bytestream functionsRamiro Polla2007-04-25
| | | | | | | | | patch by Ramiro Polla ramiro lisha ufsc br original thread: date: 03/11/2007 03:06 AM subject: [Ffmpeg-devel] [PATCH] Machine endian bytestream functions Originally committed as revision 8803 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: Reorder endianness macros by bit depth, alignment prettyprinting.Diego Biurrun2007-04-24
| | | | Originally committed as revision 8796 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add little endian 24bit read/writeAlex Beregszaszi2007-03-06
| | | | Originally committed as revision 8269 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add R/WB24 functionsBaptiste Coudurier2007-03-04
| | | | Originally committed as revision 8216 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add missing license headers.Diego Biurrun2007-02-27
| | | | Originally committed as revision 8149 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplify and remove useless index in AV_W*Michael Niedermayer2007-02-06
| | | | Originally committed as revision 7852 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add AV_WB/WL for lswriting, similar to AV_RB/RL (also increment version)Alex Beregszaszi2007-01-19
| | | | Originally committed as revision 7588 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rename BE/LE_8/16/32 to AV_RL/B_8/16/32Alex Beregszaszi2007-01-19
| | | | Originally committed as revision 7587 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move BE_*/LE_*/ST*/LD* macros to a common place. Some furtherReimar Döffinger2006-12-03
optimization/cleanup would be desirable (e.g. LE_* and LD* should be the same on x86). Originally committed as revision 7218 to svn://svn.ffmpeg.org/ffmpeg/trunk