Ronald S. Bultje
ad45121d56
options: mark av_get_{int,double,q} as deprecated.
...
Convert last users to av_opt_get_*() counterparts.
10 years ago
Henrik Gramner
ab43beefab
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`.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
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`.
10 years ago
James Almer
d9e10af547
x86/vf_interlace: add missing colon to labels
...
Silences warnings with Nasm
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
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>
10 years ago
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>
10 years ago
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>
10 years ago
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>
10 years ago
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>
10 years ago
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>
10 years ago
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>
10 years ago
James Almer
d68c05380c
x86: check for AV_CPU_FLAG_AVXSLOW where useful
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
Michael Niedermayer
52fc3e372f
avfilter/x86/vf_hqdn3d: Fix register types
...
Fixes Ticket4301
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
5bc2c39527
avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
a6f9a5d0f6
avfilter/x86/vf_fspp: Fix loop condition for column_fidct()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
f5b3257c50
avfilter/vf_eq: mark src as const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
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>
10 years ago
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>
10 years ago
James Almer
da02ee127a
x86/vf_pp7: port dctB_mmx to yasm
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Arwa Arif
a299cd5ab3
lavfi: port mp=pp7 to libavfilter
...
The only difference with mp=pp7 is that default mode is "medium", as stated
in the MPlayer docs, rather than "hard".
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
10 years ago
James Almer
a4f876a1a2
x86/vf_fspp: move pxor in store slice functions out of the loop
...
m7 is not overwritten, so we only need to clear it once.
Found by Christophe Gisquet.
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
James Almer
466e32bf25
x86/vf_fspp: port inline asm to yasm
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
James Almer
b94e85453e
avfilter/vf_fspp: add missing inline asm guards
10 years ago
Arwa Arif
bdc4db0ee3
lavfi: port mp=fspp to a native libavfilter filter
...
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
10 years ago
Michael Niedermayer
6706a2986c
avfilter/vf_spp: Fix overflow in 8bit store slice
...
Fixes regression with
ffplay -f lavfi -i testsrc=640x480 -vf format=gray,boxblur=20:10,geq="'mod(lum(X,Y),16)*15'",boxblur=10,geq="'abs(mod(lum(X,Y),15)-7)*32'",spp=4:40
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
838aa08d75
avfilter/vf_spp: support 10bit per sample
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
30d2ac4bf9
avfilter/vf_spp: change temporary to unsigned
...
More consistent with uspp and allows for future 10bit support
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Kieran Kunhya
96fda42a8f
vf_interlace: get rid of useless loads
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
Michael Niedermayer
ca59b5b6ec
avfilter/x86/vf_interlace: remove redundant instructions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
ca5c3ff909
vf_interlace: x86: improve asm performance
...
4775 decicycles -> 3688 decicycles
10 years ago
Michael Niedermayer
05e4b25e9b
avfilter/x86/vf_interlace: rewrite asm
...
4775 decicycles -> 3688 decicycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
fb3eb57369
avfilter/tinterlace: add Support for ff_lowpass_line_avx() & ff_lowpass_line_sse2()
...
Based-on: 2e1704059a
by Kieran Kunhya
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Kieran Kunhya
2e1704059a
vf_interlace: Add SIMD for lowpass filter
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
James Almer
864f9326fb
x86/vf_noise: move asm code to a separate file
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Pascal Massimino
649b7a9946
av_filter/x86/idet: use HADDD where appropriate
...
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Pascal Massimino
e3fd6a3a4e
av_filter/x86/idet: MMX/SSE2 implementation of 16bits filter_line()
...
tested on http://ps-auxw.de/10bit-h264-sample/10bit-eldorado.mkv
MMX: ~30% faster decoding overall
SSE2:~40% faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
James Darnley
db8970d7b6
vfi/x86/vf_idet: fix incorrect use of paddq
...
paddq is an SSE2 instruction so it cannot be used for MMX.
This was probably just a typo because the sums are dwords anyway.
Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Pascal Massimino
161fc0f463
avfilter/x86/idet: fix license header (GPL -> LGPL)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
skal
406a9ccffe
avfilter/vf_idet: MMX/MMXEXT/SSE2 implementation of idet's filter_line()
...
integration by Neil Birkbeck, with help from Vitor Sessak.
core SSE2 loop by Skal (pascal.massimino@gmail.com )
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Andreas Cadhalpun
39a6e02fd4
fix spelling errors
...
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
James Almer
ddea3b7106
x86/yadif-10: remove duplicate ABS macro
...
And use the x86util ones instead, which are optimized for mmxext/sse2.
About ~1% increase in performance on pre SSSE3 processors.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
a348f4befe
avfilter/x86/vf_pullup: fix "invalid combination of opcode and operands" with nasm
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
b8255a4c70
avfilter/x86/vf_pullup: fix old typo
...
This makes C and MMX match, no change to fate as the differences where
apparently not sufficient to show up in fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
6dffc8f5aa
avfilter/vf_pullup: use ptrdiff_t as stride argument for dsp functions
...
This should avoid issues on x86_64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Christophe Gisquet
9107612818
x86util: add and use RSHIFT/LSHIFT macros
...
Those macros take a byte number as shift argument, as this argument
differs between MMX and SSE2 instructions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
01c5779f56
x86: Drop some unnecessary YASM ifdefs
...
Dead code elimination is enough to avoid undefined references in these cases.
11 years ago
Robert Krüger
194ef56ba7
Change license of yadif from GPL to LGPL
...
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Robert Krüger
4a38eeec38
Revert "Revert "vf_yadif: move x86 init code to x86/yadif.c""
...
This reverts commit 975110a85e
.
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Robert Krüger
d8e763fda7
vf_yadif: Relicense from GPL to LGPL
...
All copyright holders have agreed to the relicensing.
11 years ago
Michael Niedermayer
975110a85e
Revert "vf_yadif: move x86 init code to x86/yadif.c"
...
This reverts commit a87b17f328
.
This reduces the amount of non LGPL code, making a relicensing to LGPL
easier
Conflicts:
libavfilter/vf_yadif.c
libavfilter/x86/yadif.c
libavfilter/x86/yadif_template.c
libavfilter/yadif.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago