Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-11intreadwrite: add AV_RL64A, AV_WL64APeter Ross
macros for reading and writing 64-bit aligned little-endian values. these macros are used by the DST decoder and give a performance boost on platforms that where the compiler must guard against unaligned memory access.
2018-01-26Merge commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba'Mark Thompson
* commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba': intreadwrite: Use __unaligned in MSVC for ARM64 as well Merged-by: Mark Thompson <sw@jkqxz.net>
2018-01-16intreadwrite: Use __unaligned in MSVC for ARM64 as wellMartin Storsjö
This attribute is supported for this architecture in MSVC as well (but produces errors if used for 32 bit x86). Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-12Merge commit '0af8a72174108b9bb482f1073a1e9a3bc258af51'James Almer
* commit '0af8a72174108b9bb482f1073a1e9a3bc258af51': build: Drop support for legacy TI ARM compiler Merged-by: James Almer <jamrial@gmail.com>
2017-11-11Merge commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a'James Almer
* commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a': build: Drop support for Tru64 Unix (OSF/1) Merged-by: James Almer <jamrial@gmail.com>
2017-10-25build: Drop support for legacy TI ARM compilerDiego Biurrun
2017-10-11build: Drop support for Tru64 Unix (OSF/1)Diego Biurrun
This proprietary Unix flavor dropped from the face of the earth more than a decade ago. Nothing of value was lost.
2017-03-16Merge commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4'James Almer
* commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4': intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64 Merged-by: James Almer <jamrial@gmail.com>
2017-03-16Merge commit '230b1c070baa3b6d4bd590426a365b843d60ff50'James Almer
* commit '230b1c070baa3b6d4bd590426a365b843d60ff50': intreadwrite: Add intermediate variables in the byteswise AV_W*() macros Mostly a noop. Merged for cosmetic purposes. See d83ff76ca0e1ec905ca2d5b27bd0973991eadbd9 Merged-by: James Almer <jamrial@gmail.com>
2016-08-02Revert "libavutil: Use an intermediate variable in AV_COPY*U"Martin Storsjö
This reverts commit 014773b66bdff4de24f384066d1a85d2a5bb6774. Since 230b1c070, the bytewise AV_W*() macros only expand their argument once, i.e. doing exactly the same change as was done in the AV_COPY*U macros, so this change is no longer necessary. Signed-off-by: Martin Storsjö <martin@martin.st>
2016-08-02intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64Martin Storsjö
AV_WN64 is meant for unaligned data, but the existing av_alias* unions (without a definition for the av_alias attribute - we don't have one for MSVC) indicate to the compiler that they would have sufficient alignment for normal access, i.e. the compiler is free to assume 8 byte alignment. On ARM, this makes sure that AV_WN64 (or two consecutive AV_WN32) is done with two str instructions instead of one strd. Signed-off-by: Martin Storsjö <martin@martin.st>
2016-08-02intreadwrite: Add intermediate variables in the byteswise AV_W*() macrosMartin Storsjö
This avoids issues with expanding the argument multiple times, and makes sure that it is of the right type for the following shifts. Even if the caller of a macro could be expected not to pass parameters that have side effects if expanded multiple times, these fallback codepaths are rarely, if ever, tested, so it is expected that such issues can arise. Thefore, for safety, make sure the fallback codepaths only expand the arguments once. Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-31libavutil: Use an intermediate variable in AV_COPY*UMartin Storsjö
If AV_RN and AV_WN are macros with multiple individual reads and writes, the previous version of the AV_COPYU macro would fail if the reads and writes overlap. This should not be any less efficient in any case, given a sensibly optimizing compiler. Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-19libavutil: document side effects of macrosChristophe Gisquet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13lavu/intreadwrite: add AV_[RW][BLN]48Paul B Mahol
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-24Merge commit 'ceb754d041f5f6327fd9195a5f43575af9516daa'Michael Niedermayer
* commit 'ceb754d041f5f6327fd9195a5f43575af9516daa': lzo: Use AV_COPY*U macros where appropriate prepare 9_beta2 release dsputil: Replace AV_WNxx(AV_RNxx()) combinations by AV_COPYxxU intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addresses dxtory: Replace AV_WN16A(AV_RN16A()) combination by AV_COPY16 mp3: properly forward mp_decode_frame errors Conflicts: RELEASE libavcodec/mpegaudiodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addressesDiego Biurrun
2012-09-04intreadwrite: Dont evaluate value for AV_W* multiple times.Michael Niedermayer
Evaluating it multiple times, can have side effects and is possibly slow. So its definitly a bad idea. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: lavc: add opt_find to AVCodecContext class. h264: Complexify frame num gap shortening code intreadwrite.h: fix AV_RL32/AV_RB32 signedness. Fix decoding of mpegts streams with h264 video that does *NOT* have b frames Add minor bumps and APIChanges entries for lavf private options. ffmpeg: deprecate -vc and -tvstd ffmpeg: use new avformat_open_* API. ffserver: use new avformat_open_* API. ffprobe: use new avformat_open_* API. ffplay: use new avformat_open_* API. cmdutils: add opt_default2(). dict: add AV_DICT_APPEND flag. lavf: add avformat_write_header() as a replacement for av_write_header(). Deprecate av_open_input_* and remove their uses. lavf: add avformat_open_input() as a replacement for av_open_input_* AVOptions: add av_opt_find() as a replacement for av_find_opt. AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context. ffmpeg: don't abuse a global for passing frame size from input to output ffmpeg: don't abuse a global for passing pixel format from input to output ffmpeg: initialise encoders earlier. Conflicts: cmdutils.c doc/APIchanges ffmpeg.c ffplay.c ffprobe.c libavcodec/h264.c libavformat/avformat.h libavformat/utils.c libavformat/version.h libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-16intreadwrite.h: fix AV_RL32/AV_RB32 signedness.Uoti Urpala
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>
2011-03-19Replace FFmpeg with Libav in licence headersMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2010-07-11Make intreadwrite.h installation-safeMåns Rullgård
Originally committed as revision 24173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11Add av_ prefix to bswap macrosMåns Rullgård
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10intreadwrite: common.h is not needed, attributes.h is sufficientMåns Rullgård
Originally committed as revision 24155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02Fix build failure with fast_unaligned and non-gcc-compatible compilersMåns Rullgård
Originally committed as revision 22142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24AV_COPY16() & AV_ZERO16()Michael Niedermayer
Originally committed as revision 22037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19TOMI: 16- and 32-bit intreadwrite functionsMåns Rullgård
Originally committed as revision 21890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18Add alias-safe aligned AV_[RW]N macrosMåns Rullgård
Originally committed as revision 21880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18Use alias-safe types in AV_COPY/SWAP/ZERO macrosMåns Rullgård
Originally committed as revision 21879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18Use alias-safe types in AV_[RW] macrosMåns Rullgård
Originally committed as revision 21878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18Add alias-safe union typedefsMåns Rullgård
Originally committed as revision 21877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29Add AV_COPY32Måns Rullgård
Originally committed as revision 21524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18Add macros for 64- and 128-bit write-combining optimization to intreadwrite.h.Alexander Strange
Add x86 implementation using MMX/SSE. Originally committed as revision 21281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17Add missing parens in AV_WN macrosMåns Rullgård
Originally committed as revision 21260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17AVR32: optimisations for intreadwrite.hMåns Rullgård
Originally committed as revision 19665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16cosmetics: reformat intreadwrite.hMåns Rullgård
Originally committed as revision 19659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16intreadwrite: ensure arch-specific versions are always used if definedMåns Rullgård
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
2009-08-16intreadwrite: allow arch-specific 24-bit access macrosMåns Rullgård
Originally committed as revision 19657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26Replace WORDS_BIGENDIAN with HAVE_BIGENDIANMåns Rullgård
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17Check for __attribute__((packed)) supportMåns Rullgård
Not all compilers claiming to be gcc support this attribute. Originally committed as revision 19453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29MIPS: inline asm for intreadwrite.hMåns Rullgård
Originally committed as revision 18980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18PPC asm for AV_RL*()Måns Rullgård
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
2009-04-18ARM asm for AV_RN*()Måns Rullgård
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-18Reorganise intreadwrite.hMåns Rullgård
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
2009-01-14Change semantic of CONFIG_*, HAVE_* and ARCH_*.Aurelien Jacobs
They are now always defined to either 0 or 1. Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31Globally rename the header inclusion guard names.Stefano Sabatini
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
2008-07-18intreadwrite: support DEC compiler __unaligned type qualifierMåns Rullgård
Originally committed as revision 14275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-17Rearrange AV_[RW][BL]*() macrosMåns Rullgård
Originally committed as revision 14265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-13Add #include "config.h" to headers that need it.Diego Biurrun
Originally committed as revision 12431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01Do not cast const away.Michael Niedermayer
Originally committed as revision 11707 to svn://svn.ffmpeg.org/ffmpeg/trunk