summaryrefslogtreecommitdiff
path: root/libavutil/cpu.h
Commit message (Collapse)AuthorAge
* avutil/cpu: add AVX512 Icelake flagWu Jianhua2022-03-10
| | | | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com> Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* libavutil/cpu: Add AV_CPU_FLAG_SLOW_GATHER.Alan Kelly2021-12-21
| | | | This flag is set on Haswell and earlier and all AMD cpus.
* avutil: [loongarch] Add support for loongarch SIMD.Shiyou Yin2021-12-15
| | | | | | | | | | | LSX and LASX is loongarch SIMD extention. They are enabled by default if compiler support it, and can be disabled with '--disable-lsx' '--disable-lasx'. Change-Id: Ie2608ea61dbd9b7fffadbf0ec2348bad6c124476 Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Reviewed-by: guxiwei <guxiwei-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/cpu: Use av_cpu_ prefixThilo Borgmann2021-07-20
|
* lavu/cpu.c: Add av_force_cpu_count() to override auto-detection.Thilo Borgmann2021-07-16
|
* avutil/cpu: Remove deprecated functionsAndreas Rheinhardt2021-04-27
| | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/cpu: Schedule deprecated functions for removalAndreas Rheinhardt2021-04-19
| | | | | | | | av_set_cpu_flags_mask() has been deprecated in the commit which merged it: 6df42f98746be06c883ce683563e07c9a2af983f; av_parse_cpu_flags() has been deprecated in 4b529edff8934c258af95e5acc51f84deea66262. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavutil: Detect MMI and MSA flags for MIPSJiaxun Yang2020-07-23
| | | | | | | | | | | | | | | Add MMI & MSA runtime detection for MIPS. Basically there are two code pathes. For systems that natively support CPUCFG instruction or kernel emulated that instruction, we'll sense this feature from HWCAP and report the flags according to values grab from CPUCFG. For systems that have no CPUCFG (or not export it in HWCAP), we'll parse /proc/cpuinfo instead. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add AVX-512 flagsJames Darnley2017-12-24
|
* Merge commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e'James Almer2017-09-27
|\ | | | | | | | | | | | | | | | | | | * commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e': cpu: add a function for querying maximum required data alignment Adapted to work with the arbitrary runtime cpuflag changes av_force_cpu_flags() can generate. Merged-by: James Almer <jamrial@gmail.com>
| * cpu: add a function for querying maximum required data alignmentAnton Khirnov2017-02-11
| |
| * avutil: fix data race in av_get_cpu_flags()Wan-Teh Chang2016-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the one-time initialization in av_get_cpu_flags() thread-safe. The static variables |flags|, |cpuflags_mask|, and |checked| in libavutil/cpu.c are read and written using normal load and store operations. These are considered as data races. The fix is to use atomic load and store operations. Remove the |checked| variable because the invalid value of -1 for |flags| can be used to indicate the same condition. Rename |flags| to |cpu_flags| and move it to file scope. The fix can be verified by running the libavutil/tests/cpu_init.c test program under ThreadSanitizer: ./configure --toolchain=clang-tsan make libavutil/tests/cpu_init libavutil/tests/cpu_init There should be no warnings from ThreadSanitizer. Co-author: Dmitry Vyukov of Google, who suggested the data race fix. Signed-off-by: Wan-Teh Chang <wtc@google.com>
* | Merge commit '7d7355aa92bb36ca0765c49a569a999bcb96f332'James Almer2017-01-31
|\| | | | | | | | | | | | | * commit '7d7355aa92bb36ca0765c49a569a999bcb96f332': x86: Add SSSE3_SLOW CPU flag and related convenience macros Merged-by: James Almer <jamrial@gmail.com>
| * x86: Add SSSE3_SLOW CPU flag and related convenience macrosDiego Biurrun2016-07-20
| |
* | avutil: fix data race in av_get_cpu_flags()Wan-Teh Chang2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the one-time initialization in av_get_cpu_flags() thread-safe. The static variable |cpu_flags| in libavutil/cpu.c is read and written using normal load and store operations. These are considered as data races. The fix is to use atomic load and store operations. The fix can be verified by running the libavutil/tests/cpu_init.c test program under ThreadSanitizer: ./configure --toolchain=clang-tsan make libavutil/tests/cpu_init libavutil/tests/cpu_init There should be no warnings from ThreadSanitizer. Co-author: Dmitry Vyukov of Google, who suggested the data race fix. Signed-off-by: Wan-Teh Chang <wtc@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | fix some a/an typosLou Logan2016-03-28
| | | | | | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* | Merge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'Hendrik Leppkes2016-01-02
|\| | | | | | | | | | | | | * commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0': arm: add a cpu flag for the VFPv2 vector mode Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * arm: add a cpu flag for the VFPv2 vector modeJanne Grunau2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu implementations do not support it in hardware. Vector mode code will depending the OS either be emulated in software or result in an illegal instruction on cpus which does not support it. This was not really problem in practice since NEON implementations of the same functions are preferred. It will however become a problem for checkasm which tests every cpu flag separately. Since this is a cpu feature newer cpu do not support anymore the behaviour of this flag differs from the other flags. It can be only activated by runtime cpu feature selection.
| * lavu: Drop deprecated AV_CPU_FLAG_MMX2 symbolVittorio Giovara2015-08-28
| | | | | | | | Deprecated in 11/2012.
| * x86: add AV_CPU_FLAG_AVXSLOW flagJames Almer2015-05-31
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | lavu: add AESNI CPU flagRodger Combs2015-10-28
| |
* | lavu/cpu: remove old cmov cruftHendrik Leppkes2015-09-05
| |
* | Merge commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331'Michael Niedermayer2015-05-31
|\| | | | | | | | | | | | | * commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331': ppc: cpu: Add support for VSX and POWER8 extensions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ppc: cpu: Add support for VSX and POWER8 extensionsLuca Barbato2015-05-31
| |
* | x86/cpu: add AV_CPU_FLAG_AVXSLOW flagJames Almer2015-05-27
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil: turn arm setend into a cpuflagMichael Niedermayer2014-08-13
| | | | | | | | | | | | | | | | | | | | | | this allows disabling and enabling it it also prevents crashes if vfpv3 and neon are disabled which previously would have enabled the flag And last but not least one can enable setend on cpus like cortex-a8 where its fast but disabled by default Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14'Michael Niedermayer2014-04-07
|\| | | | | | | | | | | | | * commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14': aarch64: add armv8 CPU flag Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: add armv8 CPU flagJanne Grunau2014-04-06
| |
| * x86: add detection for Bit Manipulation Instruction setsJames Almer2014-02-23
| | | | | | | | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com>
| * x86: add detection for FMA3 instruction setJames Almer2014-02-23
| | | | | | | | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com>
* | x86: add detection for Bit Manipulation Instruction setsJames Almer2014-02-22
| | | | | | | | | | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | x86: add detection for FMA3 instruction setJames Almer2014-02-22
| | | | | | | | | | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4'Michael Niedermayer2013-10-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4': libavutil: x86: Add AVX2 capable CPU detection. Conflicts: libavutil/cpu.c libavutil/cpu.h libavutil/x86/cpu.c See: 865b70bc5d1cf37ec6d6cb729a69dda2cca28bd5 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil: x86: Add AVX2 capable CPU detection.Kieran Kunhya2013-10-25
| | | | | | | | | | | | Patch based on x264's AVX2 detection Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | Add AVX2 capable CPU detection. Patch based on x264's AVX2 detectionKieran Kunhya2013-10-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '80fefbed623491b92fe59ead99225f99c0d0ca08'Michael Niedermayer2013-10-04
|\| | | | | | | | | | | | | * commit '80fefbed623491b92fe59ead99225f99c0d0ca08': x86: cpu: Restore some explanatory comments removed in 7160bb7 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: cpu: Restore some explanatory comments removed in 7160bb7Diego Biurrun2013-10-03
| |
* | Merge commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b'Michael Niedermayer2013-08-29
|\| | | | | | | | | | | | | * commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b': avutil: Move internal CPU detection function declarations to private header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avutil: Move internal CPU detection function declarations to private headerDiego Biurrun2013-08-28
| |
* | Merge commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675'Michael Niedermayer2013-05-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675': Move get_logical_cpus() from lavc/pthread to lavu/cpu. Conflicts: doc/APIchanges libavcodec/pthread.c libavutil/cpu.c libavutil/cpu.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Move get_logical_cpus() from lavc/pthread to lavu/cpu.Anton Khirnov2013-05-24
| | | | | | | | | | It will be useful in lavfi, and could conceivably be useful to the user applications as well.
| * cpu.h: define AV_CPU_FLAG_MMX2 for libavutil major 52Janne Grunau2012-11-16
| |
* | cpu: improve av_get_cpu_flags() doxyMichael Niedermayer2012-10-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | deprecate av_parse_cpu_flagsMichael Niedermayer2012-08-16
| | | | | | | | | | | | | | This function is problematic in several ways, its also quite unpredictable which flags it ends up turning on Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavr: fix handling of custom mix matrices fate: force pix_fmt in lagarith-rgb32 test fate: add tests for lagarith lossless video codec. ARMv6: vp8: fix stack allocation with Apple's assembler ARM: vp56: allow inline asm to build with clang fft: 3dnow: fix register name typo in DECL_IMDCT macro x86: dct32: port to cpuflags x86: build: replace mmx2 by mmxext Revert "wmapro: prevent division by zero when sample rate is unspecified" wmapro: prevent division by zero when sample rate is unspecified lagarith: fix color plane inversion for YUY2 output. lagarith: pad RGB buffer by 1 byte. dsputil: make add_hfyu_left_prediction_sse4() support unaligned src. Conflicts: doc/APIchanges libavcodec/lagarith.c libavfilter/x86/gradfun.c libavutil/cpu.h libavutil/version.h libswscale/utils.c libswscale/version.h libswscale/x86/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: build: replace mmx2 by mmxextDiego Biurrun2012-08-03
| | | | | | | | | | | | | | Refactoring mmx2/mmxext YASM code with cpuflags will force renames. So switching to a consistent naming scheme beforehand is sensible. The name "mmxext" is more official and widespread and also the name of the CPU flag, as reported e.g. by the Linux kernel.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) lavfi: reclassify showfiltfmts as a TESTPROG graph2dot: fix printf format specifier swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32. vp8: loopfilter >=sse2 functions need aligned stack on x86-32. amr: remove shift out of the AMR_BIT() macro. dsputilenc: group yasm and inline asm function pointer assignment. mov: use forward declaration of a function instead of a table. Clarify Doxygen comment for FF_API_* #defines. configure: simplify get_version() Create version.h headers for libraries that lack them gitignore: Use full path instead of relative path to specify patterns mpegvideo: remove VLAs Add XTEA encryption support in libavutil Add Blowfish encryption support in libavutil eval: Add the isinf() function and tests for it flacdec: move lpc filter to flacdsp flacdec: split off channel decorrelation as flacdsp avplay: Add an option for not limiting the input buffer size FATE: add a test for WMA cover art. FATE: add a test for apetag cover art ... Conflicts: .gitignore configure ffplay.c libavcodec/Makefile libavcodec/error_resilience.c libavcodec/mpegvideo.c libavcodec/ratecontrol.c libavdevice/avdevice.h libavfilter/Makefile libavfilter/filtfmts.c libavfilter/version.h libavformat/mov.c libavformat/version.h libavutil/Makefile libavutil/avutil.h libavutil/version.h libswscale/swscale.h libswscale/x86/swscale_mmx.c tests/fate/libavutil.mak tests/lavfi-regression.sh tools/graph2dot.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | cpu.h: include version.h for LIBAVUTIL_VERSION_MAJORMichael Niedermayer2012-06-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: Only use optimizations with cmov if the CPU supports the instruction x86: Add CPU flag for the i686 cmov instruction x86: remove unused inline asm macros from dsputil_mmx.h x86: move some inline asm macros to the only places they are used lavfi: Add the af_channelmap audio channel mapping filter. lavfi: add join audio filter. lavfi: allow audio filters to request a given number of samples. lavfi: support automatically inserting the fifo filter when needed. lavfi/audio: eliminate ff_default_filter_samples(). Conflicts: Changelog libavcodec/x86/h264dsp_mmx.c libavfilter/Makefile libavfilter/allfilters.c libavfilter/avfilter.h libavfilter/avfiltergraph.c libavfilter/version.h libavutil/x86/cpu.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: Add CPU flag for the i686 cmov instructionDiego Biurrun2012-06-23
| |