aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/x86/cpu.c
Commit message (Collapse)AuthorAgeFilesLines
* Detect and check for CMOV.Reimar Döffinger2012-02-121-0/+2
| | | | | | | | | Some MMX-only CPUs do not have support for CMOV. All SSE/MMX2 CPUs should be fine, thus no check was added to those functions. See also https://sourceforge.net/tracker/?func=detail&aid=3358347&group_id=205275&atid=992986 Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-091-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: cljr: K&R cosmetics cljr: return a more sensible value when encountering invalid headers cljr: drop unnecessary emms_c() calls without MMX code cljr: remove useless casts cljr: group encode/decode parts under single ifdefs cljr: remove stray semicolon cljr: add missing return statement in decode_end() doc: add pulseaudio to the input list avconv: remove unsubstantiated comment shorten: avoid abort() on unknown audio types cljr: add encoder build: merge lists of HTML documentation targets tests/examples: Mark some variables only used within their files as static. tests/tools/examples: Replace direct exit() calls by return. x86 cpuid: set vendor union members separately cljr: release picture at end of decoding rv40: NEON optimised rv40 qpel motion compensation Conflicts: doc/examples/muxing.c libavcodec/cljr.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86 cpuid: set vendor union members separatelySean McGovern2011-12-081-1/+4
| | | | | | | | | | | | | | | | | | Solaris Studio (suncc) has difficulty with filling in members of a union. Instead, let's retrieve and store the cpuid() results separately. This is still a compiler bug, however this fix does not cause a regression on other platforms. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-271-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (21 commits) fate: allow testing with libavfilter disabled x86: XOP/FMA4 CPU detection support ws_snd: misc cosmetic clean-ups ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead. ws_snd: use memcpy() and memset() instead of loops ws_snd: use samples pointer for loop termination instead of a separate iterator variable. ws_snd: make sure number of channels is 1 ws_snd: add some checks to prevent buffer overread or overwrite. ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16. flacdec: fix buffer size checking in get_metadata_size() rtp: Simplify ff_rtp_get_payload_type rtpenc: Add a payload type private option rtp: Correct ff_rtp_get_payload_type documentation avconv: replace all fprintf() by av_log(). avconv: change av_log verbosity from ERROR to FATAL for fatal errors. cmdutils: replace fprintf() by av_log() avtools: parse loglevel before all the other options. oggdec: add support for Xiph's CELT codec sol: return error if av_get_packet() fails. cosmetics: reindent and pretty-print ... Conflicts: avconv.c cmdutils.c libavcodec/avcodec.h libavcodec/version.h libavformat/oggparsecelt.c libavformat/utils.c libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: XOP/FMA4 CPU detection supportJason Garrett-Glaser2011-09-261-0/+9
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-041-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: AVOptions: fix av_set_string3() doxy to match reality. cmdutils: get rid of dummy contexts for examining AVOptions. lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions. AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find(). cpu detection: avoid a signed overflow Conflicts: avconv.c cmdutils.c doc/APIchanges ffmpeg.c libavcodec/options.c libavcodec/version.h libavformat/version.h libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cpu detection: avoid a signed overflowSean McGovern2011-09-031-1/+1
| | | | | | | | | | | | 1<<31 overflows because 1 is signed, so force it to unsigned. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-231-10/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * newdev/master: (33 commits) Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size. Add kbdwin.o to AC3 decoder Detect byte-swapped AC-3 and support decoding it directly. cosmetics: indentation Always copy input data for AC3 decoder. ac3enc: make sym_quant() branch-free cosmetics: indentation Add a CPU flag for the Atom processor. id3v2: skip broken tags with invalid size id3v2: don't explicitly skip padding Make sure kbhit() is in conio.h fate: update wmv8-drm reference vc1: make P-frame deblock filter bit-exact. configure: Add the -D parameter to the dlltool command amr: Set the AVFMT_GENERIC_INDEX flag amr: Set the pkt->pos field properly to the start of the packet amr: Set the codec->bit_rate field based on the last packet rtsp: Specify unicast for TCP interleaved streams, too Set the correct target for mingw64 dlltool applehttp: Change the variable for stream position in seconds into int64_t ... Conflicts: ffmpeg.c ffplay.c libavcodec/ac3dec.c libavformat/avio.h libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: indentationJustin Ruggles2011-03-221-8/+8
| |
| * Add a CPU flag for the Atom processor.Justin Ruggles2011-03-221-2/+10
| | | | | | | | | | | | | | The Atom has SSSE3 support, which is useful in many cases, but sometimes the SSSE3 version is slower than the SSE2 equivalent on the Atom, but is generally faster on other processors supporting SSSE3. This flag allows for selectively disabling certain SSSE3 functions on the Atom.
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: use raw opcode for xgetbv instructionMans Rullgard2011-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | This allows the CPU detection to work with assemblers not supporting the xgetbv mnemonic. These include clang and some BSD versions. All AVX code will be written for yasm, where the main assembler is not involved. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: check for AVX supportMans Rullgard2011-02-201-0/+12
| | | | | | | | | | | | This adds configure and runtime checks for AVX support on x86 CPUs. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Add check for Athlon64 and similar AMD processors with slow SSE2.Justin Ruggles2011-02-111-1/+16
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | x86: use raw opcode for xgetbv instructionMans Rullgard2011-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | This allows the CPU detection to work with assemblers not supporting the xgetbv mnemonic. These include clang and some BSD versions. All AVX code will be written for yasm, where the main assembler is not involved. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit ef6695387522fc783105ac187c84beaa284e7cff)
* | x86: check for AVX supportMans Rullgard2011-02-201-0/+12
| | | | | | | | | | | | | | This adds configure and runtime checks for AVX support on x86 CPUs. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 87f1355f9b4fc11414d0e6a91404203c2745f89f)
* | Add check for Athlon64 and similar AMD processors with slow SSE2.Justin Ruggles2011-02-131-1/+16
|/ | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit 74b1f96859eb967222fcb3eb4c72d949b5165a89)
* Add missing #include <string.h> in x86/cpu.cMåns Rullgård2010-09-091-0/+1
| | | | Originally committed as revision 25088 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Clean up av_get_cpu_flag()Måns Rullgård2010-09-091-0/+123
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