summaryrefslogtreecommitdiff
path: root/libavutil/intreadwrite.h
Commit message (Collapse)AuthorAge
* intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addressesDiego Biurrun2012-10-23
|
* intreadwrite.h: fix AV_RL32/AV_RB32 signedness.Uoti Urpala2011-06-16
| | | | | | | | | The output type of the AV_RL32/AV_RB32 macros was signed int. The resulting overflow broke at least some ASF streams with large timestamps. Fix by adding a cast to uint32_t. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Make intreadwrite.h installation-safeMåns Rullgård2010-07-10
| | | | Originally committed as revision 24173 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add av_ prefix to bswap macrosMåns Rullgård2010-07-10
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* intreadwrite: common.h is not needed, attributes.h is sufficientMåns Rullgård2010-07-10
| | | | Originally committed as revision 24155 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix build failure with fast_unaligned and non-gcc-compatible compilersMåns Rullgård2010-03-02
| | | | Originally committed as revision 22142 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AV_COPY16() & AV_ZERO16()Michael Niedermayer2010-02-24
| | | | Originally committed as revision 22037 to svn://svn.ffmpeg.org/ffmpeg/trunk
* TOMI: 16- and 32-bit intreadwrite functionsMåns Rullgård2010-02-19
| | | | Originally committed as revision 21890 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add alias-safe aligned AV_[RW]N macrosMåns Rullgård2010-02-18
| | | | Originally committed as revision 21880 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use alias-safe types in AV_COPY/SWAP/ZERO macrosMåns Rullgård2010-02-18
| | | | Originally committed as revision 21879 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use alias-safe types in AV_[RW] macrosMåns Rullgård2010-02-18
| | | | Originally committed as revision 21878 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add alias-safe union typedefsMåns Rullgård2010-02-18
| | | | Originally committed as revision 21877 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add AV_COPY32Måns Rullgård2010-01-29
| | | | Originally committed as revision 21524 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add macros for 64- and 128-bit write-combining optimization to intreadwrite.h.Alexander Strange2010-01-18
| | | | | | Add x86 implementation using MMX/SSE. Originally committed as revision 21281 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add missing parens in AV_WN macrosMåns Rullgård2010-01-17
| | | | Originally committed as revision 21260 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AVR32: optimisations for intreadwrite.hMåns Rullgård2009-08-17
| | | | Originally committed as revision 19665 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: reformat intreadwrite.hMåns Rullgård2009-08-16
| | | | Originally committed as revision 19659 to svn://svn.ffmpeg.org/ffmpeg/trunk
* intreadwrite: ensure arch-specific versions are always used if definedMåns Rullgård2009-08-16
| | | | | | | | | The per-arch headers can define any combination of B/L/N variants. This ensures that whatever is defined in an arch header gets used for all equivalents not defined there. E.g. on a little-endian machine, AV_RN and AV_RL should give the same code. Originally committed as revision 19658 to svn://svn.ffmpeg.org/ffmpeg/trunk
* intreadwrite: allow arch-specific 24-bit access macrosMåns Rullgård2009-08-16
| | | | Originally committed as revision 19657 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace WORDS_BIGENDIAN with HAVE_BIGENDIANMåns Rullgård2009-07-26
| | | | Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Check for __attribute__((packed)) supportMåns Rullgård2009-07-17
| | | | | | Not all compilers claiming to be gcc support this attribute. Originally committed as revision 19453 to svn://svn.ffmpeg.org/ffmpeg/trunk
* MIPS: inline asm for intreadwrite.hMåns Rullgård2009-05-28
| | | | Originally committed as revision 18980 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 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