1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

191 Commits

Author SHA1 Message Date
Ronald S. Bultje
5ce703a6bf vf_colorspace: x86-64 SIMD (SSE2) optimizations. 2016-04-12 16:42:48 -04:00
Thomas Mundt
d0a9114f99 avfilter/vf_bwdif: Add yadif base information to copyright header
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-03-16 00:05:45 -03:00
Thomas Mundt
5024a82e95 avfilter/vf_bwdif: add x86 SIMD
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
2016-03-13 10:06:21 +01:00
Timothy Gu
222e6da605 x86/vf_blend: Add SSE2 optimization for divide
4.5x faster than C float version with autovectorization
10  x faster than C int version
25  x faster than C float version without autovectorization
2016-02-28 08:19:09 -08:00
Timothy Gu
4574323973 vf_blend: Reduce number of arguments for kernel function 2016-02-14 08:58:41 -08:00
Timothy Gu
74f8d9aaef x86/vf_blend: Add SSE2 optimization for screen
10x faster than C.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 11:26:04 -08:00
Timothy Gu
c8b1612af0 x86/vf_blend: Move multiplying to a macro
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 11:25:11 -08:00
Timothy Gu
253209ac44 vf_blend: Add SSE2 optimization for multiply
5 times faster than C, 3 times overall.
2016-02-08 13:35:24 -08:00
Hendrik Leppkes
53ada3af62 x86/vf_w3fdif: 32-bit compatibility for w3fdif_simple_high 2016-01-08 11:56:43 +01:00
James Almer
35b0c7efda x86/vf_stereo3d: remove a few unnecessary movas
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-03 02:09:02 -03:00
James Almer
1817643d4f x86/vf_stereo3d: make ff_anaglyph_sse4 work on x86_32
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-28 17:20:24 -03:00
James Almer
6e243d17e9 x86/vf_stereo3d: optimize register usage
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-28 17:20:12 -03:00
James Almer
8dba3fb8fd x86/vf_blend: add sse2 versions of blend_difference and blend_negation
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-24 13:05:27 -03:00
James Almer
02f428051a x86/vf_blend: make all functions work on x86_32
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-24 13:05:24 -03:00
James Almer
0988c68cf9 x86/vf_blend: simplify using macros
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-24 13:05:21 -03:00
James Almer
ce4c85de6a x86/vf_maskedmerge: make ff_maskedmerge8_sse2 work on x86_32
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-24 13:05:18 -03:00
Michael Niedermayer
e42e0b11f1 avfilter/x86/vf_maskedmerge: Clear upper part of width
Fixes crash
Fixes: Ticket5055

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-23 22:38:15 +01:00
Paul B Mahol
45938f0301 avfilter/x86/vf_maskedmerge: move %define out of .nextrow
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-10 09:52:04 +01:00
James Almer
d897d4c12d x86/vf_w3fdif: use aligned loads in w3fdif_complex_high
Found-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-27 01:49:22 -03:00
James Almer
224a529b44 x86/vf_w3fdif: use aligned loads in w3fdif_simple_high
Found-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-11 20:07:12 -03:00
James Almer
e8903fbf8e x86/vf_w3fdif: simplify w3fdif_simple_high
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-11 20:04:54 -03:00
James Almer
d2bf2d094e x86/vf_w3fdif: move pxor outside the loop in w3fdif_complex_low
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-11 14:23:21 -03:00
Paul B Mahol
c3d312bb7f avfilter/x86/vf_w3fdif: add colons after labels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-10 17:55:06 +02:00
Paul B Mahol
5740dc27e1 avfilter/vf_w3fdif: add x86 SIMD
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-10 17:33:43 +02:00
Andreas Cadhalpun
8d6625642d doc: fix spelling errors
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-09 22:09:08 +02:00
Paul B Mahol
624a1a0e69 avfilter/x86/vf_blend.asm: hardmix: do same with two pxor instructions less
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-07 23:12:09 +02:00
Paul B Mahol
e999210cec avfilter/x86/vf_blend.asm: 11th register is used, update functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-07 22:53:54 +02:00
Paul B Mahol
0948ba3204 avfilter/x86/vf_blend.asm: add hardmix and phoenix sse2 SIMD
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-07 22:50:15 +02:00
Paul B Mahol
ac74e857a2 avfilter/vf_stereo3d: add x86 SIMD for anaglyph outputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-06 21:01:24 +02:00
Michael Niedermayer
fd9a528523 avfilter/vf_blend: Fix argument types, fix segfault in asm
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-03 21:59:24 +02:00
Paul B Mahol
9762554dd0 avfilter/vf_blend: add x86 SIMD for some modes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-03 21:26:17 +02:00
Paul B Mahol
160556c9ad avfilter/vf_maskedmerge: add SIMD for maskedmerge with 8 bit depth input
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-02 17:40:57 +02:00
Paul B Mahol
0701ff2c32 avfilter/x86/vf_psnr.asm: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-01 21:53:13 +02:00
Hendrik Leppkes
5d8e836d0e Replace all remaining occurances of step/depth_minus1 and offset_plus1 2015-09-08 17:10:48 +02:00
Ronald S. Bultje
ad45121d56 options: mark av_get_{int,double,q} as deprecated.
Convert last users to av_opt_get_*() counterparts.
2015-08-18 12:05:17 -04:00
Henrik Gramner
f0b7882ceb x86inc: Drop SECTION_TEXT macro
The .text section is already 16-byte aligned by default on all supported
platforms so `SECTION_TEXT` isn't any different from `SECTION .text`.
2015-08-04 20:13:09 +02:00
James Almer
d9e10af547 x86/vf_interlace: add missing colon to labels
Silences warnings with Nasm

Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-26 02:50:50 -03:00
James Almer
e3851169ee x86/vf_ssim: add ff_ssim_4x4_line_xop
~20% faster than ssse3. Also enabled for x86_32

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-20 13:18:05 -03:00
James Almer
e1778fb657 x86/vf_ssim: fix some instruction comments
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-20 13:17:58 -03:00
Paul B Mahol
eea08efc0d avfilter/x86/vf_psnr.asm: split one line of license text into two
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-14 23:54:26 +00:00
James Darnley
bff7242608 avfilter/vf_removegrain: add x86 and x86_64 SSE2 functions
Speed of all modes increased by a factor between 7.4 and 19.8 largely depending
on whether bytes are unpacked into words.  Modes 2, 3, and 4 have been sped-up
by a factor of 43 (thanks quick sort!)

All modes are available on x86_64 but only modes 1, 10, 11, 12, 13, 14, 19, 20,
21, and 22 are available on x86 due to the number of SIMD registers used.

With a contribution from James Almer <jamrial@gmail.com>
2015-07-14 23:50:50 +00:00
Ronald S. Bultje
ae4c9ddebc vf_psnr: sse2 optimizations for sum-squared-error.
The internal line accumulator for 16bit can overflow, so I changed that
from int to uint64_t in the C code. The matching assembly looks a little
weird but output looks correct.

(avx2 should be trivial to add later.)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 17:57:14 +02:00
Ronald S. Bultje
dfc58584b4 vf_ssim: x86 simd for ssim_4x4xN and ssim_endN.
Both are 2-2.5x faster than their C counterpart.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 05:07:07 +02:00
James Almer
c16e99e3b3 x86: check for AV_CPU_FLAG_AVXSLOW where useful
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:15:35 +02:00
Michael Niedermayer
52fc3e372f avfilter/x86/vf_hqdn3d: Fix register types
Fixes Ticket4301

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 05:18:55 +02:00
Michael Niedermayer
5bc2c39527 avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 01:43:47 +02:00
Michael Niedermayer
a6f9a5d0f6 avfilter/x86/vf_fspp: Fix loop condition for column_fidct()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:23:27 +01:00
Michael Niedermayer
f5b3257c50 avfilter/vf_eq: mark src as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 01:46:08 +01:00
Michael Niedermayer
530bf8ece6 avfilter/vf_eq: Fix clipping code
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 23:46:44 +01:00
Arwa Arif
4c38e960d0 avfilter: Port mp=eq/eq2 to lavfi
Code adapted from James Darnley's port
Some fixes from Paul B Mahol <onemda@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 00:14:04 +01:00