Commit Graph

33 Commits

Author SHA1 Message Date
Daniel Kang
899157b308 yadif: Port inline assembly to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-09 18:41:02 +01:00
Justin Ruggles
b30a363331 x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling 2012-12-05 11:23:37 -05:00
Justin Ruggles
f96f1e06a4 x86: af_volume: add SSE2-optimized s16 volume scaling 2012-12-05 11:23:37 -05:00
Diego Biurrun
d8eda37080 x86: mmx2 ---> mmxext in function names 2012-10-31 17:53:57 +01:00
Diego Biurrun
04581c8c77 x86: yasm: Use complete source path for macro helper %includes
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Diego Biurrun
6860b4081d x86: include x86inc.asm in x86util.asm
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Diego Biurrun
f6c38c5f4e avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX) 2012-10-12 19:58:51 +02:00
Diego Biurrun
17337f54c0 x86: Split inline and external assembly #ifdefs 2012-08-31 01:53:25 +02:00
Diego Biurrun
cdaec0b240 avfilter: x86: Use more precise compile template names 2012-08-30 18:51:51 +02:00
Loren Merritt
7a1944b907 vf_hqdn3d: x86 asm
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
2012-08-26 10:49:14 +00:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Mans Rullgard
480178a295 x86: yadif: fix asm with suncc
Under some circumstances, suncc will use a single register for the
address of all memory operands, inserting lea instructions loading
the correct address prior to each memory operand being used in the
code. In the yadif code, the branch in the asm block bypasses such
an lea instruction, causing an incorrect address to be used in the
following load.

This patch replaces the tmpX arrays with a single array and uses a
register operand to hold its address. Although this prevents using
offsets from the stack pointer to access these locations, the code
still builds as 32-bit PIC even with old compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
c318626ce2 x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
This puts x86-specific things in the x86/ subdirectory where they
belong.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Diego Biurrun
239fdf1b4a x86: build: replace mmx2 by mmxext
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.
2012-08-03 22:51:05 +02:00
Diego Biurrun
d1505db067 x86: yadif: Mark mmxext optimizations as such
The yadif mmx optimizations contain the pmaxsw and pmaxub mmxext
instructions, causing sigills on CPUs that do not support mmxext.
2012-07-31 13:54:06 +02:00
Ronald S. Bultje
3124886554 lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
This allows compiling this code using compilers that do not understand
gcc-style inline assembly.
2012-07-22 19:44:06 -07:00
Mans Rullgard
fb93e61e2b x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
These functions are defined conditionally so any uses need to have
preprocessor guards.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Mans Rullgard
a87b17f328 vf_yadif: move x86 init code to x86/yadif.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Mans Rullgard
2f0accf103 vf_gradfun: move x86 init code to x86/gradfun.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Janne Grunau
456d3e4fb5 yadif: specify array size outside DECLARE_ALIGNED 2012-02-09 21:28:37 +01:00
Diego Biurrun
0bba26466f cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
Loren Merritt
082768f0b1 vf_gradfun: relicense x86 asm to LGPL
Actually I gave permission for LGPL long ago, but the original import
failed to update the license header.
2011-07-04 00:01:47 +00:00
Michael Niedermayer
233ed6b314 Change yadif to not use out of picture lines.
Fixes issue2272.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-03 08:46:19 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Janne Grunau
2c3589bfda consolidate .gitignore patters into a single file
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-18 21:32:05 +01:00
Janne Grunau
348b8218f7 convert svn:ignore properties to .gitignore files
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-17 15:50:14 +01:00
Nolan L
d5f187fd33 Add gradfun filter, ported from MPlayer.
Patch by Nolan L nol888 <=> gmail >=< com.

See thread:
Subject: [FFmpeg-devel] [PATCH] Port gradfun to libavfilter (GCI)
Date: Mon, 29 Nov 2010 07:18:14 -0500

Originally committed as revision 25942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 17:59:10 +00:00
Baptiste Coudurier
90f1f3bf00 In yadif filter, declare asm constants directly to avoid dependency on libavcodec
Originally committed as revision 25895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-06 00:14:15 +00:00
Baptiste Coudurier
1ef64490e1 yadif sse2/ssse3 optimizations
Originally committed as revision 25874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 05:23:44 +00:00
İsmail Dönmez
5ef42826d2 yadif: Explicit wordlength for compare. Fixes compile with clang.
Patch by İsmail Dönmez: ismail at namtrac dot org

Originally committed as revision 25328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-03 20:01:36 +00:00
Alexander Strange
5ba24e4982 Fix compile on Darwin (FATE). Compile error:
yadif.c:226: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
yadif.c:220: error: 'asm' operand has impossible constraints

Patch by Alexander Strange <astrange ithinksw com>.

Originally committed as revision 25251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 12:34:01 +00:00
Aurelien Jacobs
fa6f4ebc08 use a Makefile in x86 subdir
Originally committed as revision 25234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 21:50:26 +00:00
Michael Niedermayer
acbac56789 yadif filter, based on stefanos port of my yadif from mplayer.
Compared to stefanos, 2 frame output works with ffplay.

Originally committed as revision 25196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 16:43:42 +00:00