| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <[email protected]>
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <[email protected]>
|
|
|
|
| |
Signed-off-by: Diego Biurrun <[email protected]>
|
|
|
|
|
|
|
| |
This adds macros for accessing the EFLAGS register and uses
these instead of coding the entire check in inline asm.
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
|
|
|
|
|
| |
This adds whitespace around operators, aligns line continuation
backslashes, and breaks long lines. Also fixes an ifdef halfway
through a statement. The one line of duplication this saved is
not worth the ugliness.
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
| |
Signed-off-by: Mans Rullgard <[email protected]>
|
| |
|
| |
|
|
|
|
| |
Move vector_fmul() from DSPContext to AVFloatDSPContext.
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
| |
The current SSE version is slower than the MMX version on Athlon64 and Sandy
Bridge, but the SSE4 and AVX versions are faster on Sandy Bridge.
|
|
|
|
|
| |
This is a new library for audio sample format, channel layout, and sample rate
conversion.
|
|
|
|
|
|
| |
Add cvtdq2ps and cvtps2dq to the AVX instruction list.
Signed-off-by: Justin Ruggles <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for all x86-64 registers
Prefer caller-saved register over callee-saved on WIN64
Support up to 15 function arguments
Also (by Ronald S. Bultje)
Fix up our asm to work with new x86inc.asm.
Signed-off-by: Ronald S. Bultje <[email protected]>
Signed-off-by: Justin Ruggles <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
|
|
|
| |
This sets __OUTPUT_FORMAT__ to win64 instead of win32, even though both
(through -m amd64) produce 64-bit binary code.
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
|
|
|
|
| |
Functions using INIT_MMX may still access XMM registers through direct
means (xmm0-15). Therefore, they still need to be marked for clobber
so they can be properly saved/restored.
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
|
|
|
| |
This will be useful to test more aggressively for failures to mark XMM
registers as clobbered in Win64 builds, and prevent regressions thereof.
Based on a patch by Ramiro Polla <[email protected]>
|
|
|
|
| |
Assemblers don't understand ! in %if statements.
|
|
|
|
| |
This allows combining multiple conditionals in a single statement.
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
|
|
|
|
| |
Firstly, this test never worked as intended, always reporting
success. Secondly, bswap is available from 486 onward and can
thus be assumed present.
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
|
|
|
|
| |
With these changes, gcc 4.5 and later recognise it as a bswap
and use the proper instructions on ARM and x86. On x86, the
16-bit bswap is recognised from gcc 4.1.
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
| |
Without this, code like "shufps m0, m1, m2, 0xaa" would not work in CPUs
not supporting SSE2.
Signed-off-by: Ronald S. Bultje <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
We keep INIT_AVX (for backwards compatibility). 3arg AVX ops with
a memory arg can only have it in src2, whereas SSE emulation of
3arg prefers to have it in src1 (i.e. the mov). So, if the op is
symmetric and the wrong one is memory, swap them.
|
| |
|
| |
|
|
|
|
|
|
| |
1<<31 overflows because 1 is signed, so force it to unsigned.
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
| |
This allows sharing them between multiple .asm files.
|
|
|
|
| |
This allows using it in swscale also.
|
|
|
|
| |
This allows using it in libswscale/ also.
|
|
|
|
|
|
|
|
|
|
| |
This prevents a call to bytestream_get_be16() using a movzwl both before
and after the ror instruction, which is obviously inefficient. Arm uses
the same trick also.
Sintel decoding goes from (avg+SD) 9.856 +/- 0.003 to 9.797 +/- 0.003 sec.
Signed-off-by: Ronald S. Bultje <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
| |
This adds configure and runtime checks for AVX support on x86 CPUs.
Signed-off-by: Mans Rullgard <[email protected]>
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <[email protected]>
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
| |
Originally committed as revision 25088 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
function and rename it to av_get_cpu_flags().
Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
|