summaryrefslogtreecommitdiff
path: root/libavcodec/x86
Commit message (Collapse)AuthorAge
* x86: Fix constraints for decode_significance*_x86Martin Storsjö2011-12-27
| | | | | | | | | | | | | | | | | | | Originally, prior to 8742a4ff8, the caller code was compiled within this condition: ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE && !defined(BROKEN_RELOCATIONS) Since HAVE_7REGS is defined as (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE)) the subcondition HAVE_7REGS && HAVE_EBX_AVAILABLE is equal to HAVE_7REGS (for 32 bit at least). The correct simplification of the original condition thus is HAVE_7REGS, not HAVE_EBX_AVAILABLE. This fixes compilation in some cases where HAVE_EBP_AVAILABLE = 0 and HAVE_EBX_AVAILABLE = 1. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: Tighten register constraints for decode_significance*_x86.Diego Biurrun2011-12-21
| | | | | | | On 32-bit OS X with gcc 4.0/4.2 and shared libraries enabled, the ebx register is not available, but required to assemble the functions. This reverts commit 8742a4f to a simplified version of the original constraints.
* x86: conditionally compile dnxhd encoder optimizationsDiego Biurrun2011-12-19
|
* build: conditionally compile x86 H.264 chroma optimizationsDiego Biurrun2011-12-14
|
* x86: Require 7 registers for the cabac asmMartin Storsjö2011-12-12
| | | | | | | The change in 599b4c6ef didn't turn out to work properly on i386 on OS X, where it broke building with PIC enabled. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: cabac: replace explicit memory references with "m" operandsMans Rullgard2011-12-11
| | | | | | | | This replaces the explicit offset(reg) memory references with "m" operands for the same locations. As a result, one fewer register operand is needed for these inline asm statements. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Fix a bunch of common typos.Diego Biurrun2011-12-11
|
* dsputil: use cpuflags in x86 emu_edge_coreJustin Ruggles2011-11-22
| | | | avoids passing around the extra argument among all the macros it uses
* dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()Justin Ruggles2011-11-22
| | | | | This allows emulated_edge_mc_sse() and gmc_sse() to be used under AV_CPU_FLAG_SSE.
* twinvq: add SSE/AVX optimized sum/difference stereo interleavingJustin Ruggles2011-11-11
|
* Remove redundant filename self-references inside files.Diego Biurrun2011-11-08
| | | | Filenames are brittle across renames and add no useful information.
* x86: drop pointless ARCH_X86 #ifdef from files in x86 subdirectoryDiego Biurrun2011-11-08
|
* dsputil: use cpuflags in x86 versions of vector_clip_int32()Justin Ruggles2011-11-06
|
* h264_weight: remove duplication functions.Ronald S. Bultje2011-11-05
|
* 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
* H.264: Cometics to dsputil_mmx.cDaniel Kang2011-10-26
| | | | | | Add whitespace. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264_weight: initialize "height" function argument properly.Ronald S. Bultje2011-10-22
| | | | | Right now it's not actually initialized on 32-bit, leading to crashes on win32.
* 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: check compile-time x86 instruction set flagsJustin Ruggles2011-10-21
|
* fmtconvert: port float_to_int16() x86 inline asm to yasmJustin Ruggles2011-10-21
|
* H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-21
| | | | Neon parts by Mans Rullgard <mans@mansr.com>.
* Support for lossless and inter H264 4:2:2.Ronald S. Bultje2011-10-21
|
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-21
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* x86: Move some variable declarations below the appropriat #ifdef.Diego Biurrun2011-10-20
| | | | This avoids some unused variable warnings with YASM disabled.
* x86: Fix linking of ProRes DSP ASM with YASM disabled.Diego Biurrun2011-10-20
|
* proresdsp: fix function prototypes.Ronald S. Bultje2011-10-14
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* prores: idct sse2/sse4 optimizations.Ronald S. Bultje2011-10-11
| | | | ~3.0-3.5x as fast as original C version, 1.6x as fast overall.
* fft: avoid a signed overflowSean McGovern2011-09-23
| | | | | | As a signed integer, 1<<31 overflows, so force it to unsigned. Signed-off-by: Alex Converse <alex.converse@gmail.com>
* Move clipd macros to x86util.asm.Ronald S. Bultje2011-08-17
| | | | This allows sharing them between multiple .asm files.
* Fix NASM include directiveDave Yeo2011-08-15
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dsputil_mmx: Honor HAVE_AMD3DNOWAlex Converse2011-08-15
|
* 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.
* Move RV3/4-specific DSP functions into their own contextKostya Shishkov2011-08-11
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dct32: Add SSE2 ASM optimizationsVitor Sessak2011-08-02
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* H.264: tweak some other x86 asm for AtomJason Garrett-Glaser2011-07-29
|
* x86: cabac: add operand size suffixes missing from 6c32576Mans Rullgard2011-07-28
| | | | | | This fixes build with clang. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: cabac: don't load/store context values in asmMans Rullgard2011-07-28
| | | | | | | | | | | Inspection of compiled code shows gcc handles these fine on its own. Benchmarking also shows no measurable speed difference. Removing the remaining cases in get_cabac_bypass_sign_x86() does cause more substantial changes to the compiled code with uncertain impact. Signed-off-by: Mans Rullgard <mans@mansr.com>
* H.264: optimize CABAC x86 asm for AtomJason Garrett-Glaser2011-07-28
|
* x86: fix build with gcc 4.7Mans Rullgard2011-07-26
| | | | | | | | | | | | | | The upcoming gcc 4.7 has more advanced constant propagation resulting some inline asm operands becoming constants and thus emitted as literals, sometimes in contexts where this results in invalid instructions. This patch changes the constraints of the relevant operands to "rm" thus forcing a valid type. While obviously suboptimal, this is what older gcc versions already did, and there is no change to the code generated with these. Signed-off-by: Mans Rullgard <mans@mansr.com>
* H.264: Add optimizations to predict x86 assembly.Daniel Kang2011-07-22
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dnxhd: 10-bit supportJoseph Artsimovich2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: update per-arch init funcs for non-h264 high bit depthMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: template get_pixels() for different bit depthsMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* jfdctint: add 10-bit versionMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* simple_idct: add 10-bit versionMans Rullgard2011-07-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: remove disabled codeDiego Biurrun2011-07-18
|
* x86: Use LOCAL_ALIGNED in mpegvideo_mmx_templateMartin Storsjö2011-07-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* simple_idct: remove disabled codeDiego Biurrun2011-07-17
|