summaryrefslogtreecommitdiff
path: root/libavcodec/x86/fmtconvert.asm
Commit message (Collapse)AuthorAge
* x86: use emms after ff_int32_to_float_fmul_scalar_sseJanne Grunau2015-12-30
| | | | | | | | | | | | | | | | | | | | | Intel's Instruction Set Reference (as of September 2015) clearly states that cvtpi2ps switches to MMX state. Actual CPUs do not switch if the source is a memory location. The Instruction Set Reference from 1999 (Order Number 243191) describes this behaviour but all later versions I've seen have make no distinction whether MMX registers or memory is used as source. The documentation for the matching SSE2 instruction to convert to double (cvtpi2pd) was fixed (see the valgrind bug https://bugs.kde.org/show_bug.cgi?id=210264). It will take time to get a clarification and fixes in place. In the meantime it makes sense to change ff_int32_to_float_fmul_scalar_sse to be correct according to the documentation. The vast majority of users will have SSE2 so a change to the SSE version has little effect. Fixes fate-checkasm on x86 valgrind targets. Valgrind 'bug' reported as https://bugs.kde.org/show_bug.cgi?id=357059
* x86: zero extend the 32-bit length in int32_to_float_fmul_scalar implicitlyJanne Grunau2015-12-29
| | | | This reverts commit 5dfe4edad63971d669ae456b0bc40ef9364cca80.
* x86_64: int32_to_float_fmul_scalar sign extend integer lengthJanne Grunau2015-12-14
|
* x86inc: Drop SECTION_TEXT macroHenrik Gramner2015-08-11
| | | | | | | The .text section is already 16-byte aligned by default on all supported platforms so `SECTION_TEXT` isn't any different from `SECTION .text`. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* fmtconvert: drop unused functionsAnton Khirnov2015-02-28
|
* x86: Make function prototype comments in assembly code consistentDiego Biurrun2014-03-13
| | | | This helps grepping for functions, among other things.
* fmtconvert: Explicitly use int32_t instead of intChristophe Gisquet2013-07-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: SPLATD: port to cpuflagsDiego Biurrun2012-11-18
|
* x86: Refactor PSWAPD fallback implementations and port to cpuflagsDiego Biurrun2012-11-02
|
* x86: fmtconvert: Refactor cvtps2pi emulation through cpuflagsDiego Biurrun2012-10-31
|
* x86: fmtconvert: port to cpuflagsDiego Biurrun2012-10-31
|
* x86: yasm: Use complete source path for macro helper %includesDiego Biurrun2012-10-31
| | | | | This is more consistent with the way we handle C #includes and it simplifies the build system.
* x86: include x86inc.asm in x86util.asmDiego Biurrun2012-10-31
| | | | This is necessary to allow refactoring some x86util macros with cpuflags.
* x86: add colons after labelsMans Rullgard2012-08-07
| | | | | | nasm prints a warning if the colon is missing. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: Use consistent 3dnowext function and macro name suffixesDiego Biurrun2012-08-03
| | | | | | Currently there is a wild mix of 3dn2/3dnow2/3dnowext. Switching to "3dnowext", which is a more common name of the CPU flag, as reported e.g. by the Linux kernel, unifies this.
* x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*Ronald S. Bultje2012-06-30
| | | | | | This gets rid of a variable-length array and a for loop in C code. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86inc improvements for 64-bitHenrik Gramner2012-04-11
| | | | | | | | | | | | 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 <rsbultje@gmail.com> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* config.asm: change %ifdef directives to %if directives.Ronald S. Bultje2012-01-27
| | | | This allows combining multiple conditionals in a single statement.
* fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64Justin Ruggles2011-11-02
| | | | | | | The calling convention only allows 4 non-stack parameter, with each float or int register being skipped if not used. fixes Bug 64
* fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasmJustin Ruggles2011-10-21
|
* fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasmJustin Ruggles2011-10-21
|
* fmtconvert: port float_to_int16() x86 inline asm to yasmJustin Ruggles2011-10-21
|
* Fix NASM include directiveDave Yeo2011-08-15
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Move x86util.asm from libavcodec/ to libavutil/.Ronald S. Bultje2011-08-12
| | | | This allows using it in swscale also.
* Move x86inc.asm to libavutil/.Ronald S. Bultje2011-08-12
| | | | This allows using it in libswscale/ also.
* dct32_sse: eliminate some spillsLoren Merritt2011-05-22
| | | | 125->104 cycles on penryn (x86_64 only)
* Add support for a.out object format to assembler macros.Dave Yeo2011-05-20
| | | | | | This format is still used by e.g. OS/2. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Add float_interleave() to FmtConvertContext with x86-optimized versions.Justin Ruggles2011-05-18
| | | | | Partially based on patches by clsid2 in ffdshow-tryout. ff_float_interleave6() x86 improvements by Loren Merrit.
* Fix FSF address copy paste error in some license headers.Diego Biurrun2011-05-14
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-02
This will be beneficial for use with the audio conversion API without requiring it to depend on all of dsputil. Signed-off-by: Mans Rullgard <mans@mansr.com>