summaryrefslogtreecommitdiff
path: root/libavfilter/x86
Commit message (Collapse)AuthorAge
* avfilter/vf_overlay: exclude nv12/nv21 formats from x86 asm checkPaul B Mahol2018-05-03
| | | | | | They are yet to be supported, Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_overlay: add x86 SIMDPaul B Mahol2018-05-02
| | | | | | | Specifically for yuv444, yuv422, yuv420 format when main stream has no alpha, and alpha is straight. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_interlace: remove duplicate code with same funcionalityVasile Toncu2018-04-23
|
* avfilter/x86/vf_blend : add SIMD for 16 bit version ofMartin Vignali2018-04-05
| | | | | | | | grainextract grainmerge average extremity negation
* avfilter/x86/vf_blend : reorganize DIFFERENCE macro to reduce line ↵Martin Vignali2018-04-05
| | | | duplication between 8bit and 16 bit version
* avfilter/x86/vf_blend : add 16 bit version for BLEND_SIMPLE, phoenix, ↵Martin Vignali2018-02-24
| | | | difference for SSE and AVX2 (x86_64)
* avfilter/x86/vf_blend : indentMartin Vignali2018-02-24
|
* avfilter/x86/vf_blend : reorganize init in order to add 16 bit versionMartin Vignali2018-02-24
|
* avfilter/x86/vf_blend : avfilter/x86/vf_blend : add AVX2 version for each ↵Martin Vignali2018-01-28
| | | | | | func except divide and optimize average, grainextract, multiply, screen, grain merge
* avfilter/vf_framerate: add SIMD functions for frame blendingMarton Balint2018-01-28
| | | | | | | | | | | | | | | | | | Blend function speedups on x86_64 Core i5 4460: ffmpeg -f lavfi -i allyuv -vf framerate=60:threads=1 -f null none C: 447548411 decicycles in Blend, 2048 runs, 0 skips SSSE3: 130020087 decicycles in Blend, 2048 runs, 0 skips AVX2: 128508221 decicycles in Blend, 2048 runs, 0 skips ffmpeg -f lavfi -i allyuv -vf format=yuv420p12,framerate=60:threads=1 -f null none C: 228932745 decicycles in Blend, 2048 runs, 0 skips SSE4: 123357781 decicycles in Blend, 2048 runs, 0 skips AVX2: 121215353 decicycles in Blend, 2048 runs, 0 skips Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/x86/vf_interlace : add AVX2 versionMartin Vignali2018-01-11
|
* Revert "avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16"James Almer2017-12-19
| | | | | | | | | This reverts commits 1a5865b6dcc97754a1d7eedc130fb58237d2a715 and 8fb1d63d919286971b8e6afad372730d6d6f25c8. They made fate interlace tests fail when AVX2 was used. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/x86/vf_hflip : indentMartin Vignali2017-12-19
| | | | based on patch by Paul B Mahol
* avfilter/x86/vf_hflip : add avx2 version for hflip_byte and hflip_shortMartin Vignali2017-12-19
|
* avfilter/x86/vf_hflip : merge hflip byte and hflip short to one macroMartin Vignali2017-12-19
|
* avfilter/vf_tinterlace : add AVX2 func for lowpass_line 8 and 16Martin Vignali2017-12-19
|
* avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16Martin Vignali2017-12-19
|
* avfilter/vf_interlace : move func init in ff_interlace_init and add depth ↵Martin Vignali2017-12-19
| | | | arg for ff_interlace_init_x86
* avfilter/x86/vf_interlace : avfilter/x86/vf_interlace : fix crash when using ↵Martin Vignali2017-12-15
| | | | | | unaligned data in low_pass complex related to ticket 6491
* avfilter/x86/vf_interlace : avoid crash when data are unalignedMartin Vignali2017-12-15
| | | | ticket 6491
* avfilter/x86/vf_threshold : add threshold16 SIMD (SSE4 and AVX2)Martin Vignali2017-12-09
|
* x86/vf_hflip: use xor to zero initialize registersJames Almer2017-12-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* x86/vf_hflip: don't load the width argument twiceJames Almer2017-12-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* x86/vf_threshold: make threshold8 functions work on x86_32James Almer2017-12-04
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/x86/vf_hflip.asm: fix building on x32Paul B Mahol2017-12-04
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: add hflip x86 SIMDPaul B Mahol2017-12-04
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* x86vf_threshold/: use the PBLENDVB macroJames Almer2017-12-04
| | | | | | | Fixes building with yasm Tested-by: stevenliu Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/x86/vf_threshold : cosmetic indentMartin Vignali2017-12-03
|
* avfilter/x86/vf_threshold : add avx2 version for threshold 8Martin Vignali2017-12-03
|
* avfilter/x86/vf_threshold : make macro for threshold8 in order to add avx2 ↵Martin Vignali2017-12-03
| | | | version
* avfilter/vf_threshold: add x86 SIMDPaul B Mahol2017-12-02
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2'James Almer2017-10-21
|\ | | | | | | | | | | | | | | | | * commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2': x86util: Port all macros to cpuflags See d5f8a642f6eb1c6e305c41dabddd0fd36ffb3f77 Merged-by: James Almer <jamrial@gmail.com>
| * build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-03-01
| | | | | | | | None of them are specific to the YASM assembler.
| * x86: Add missing colons after assembly labelsDiego Biurrun2016-10-17
| | | | | | | | | | This fixes many warnings of the sort warning: label alone on a line without a colon might be in error
* | avfilter/interlace: add support for 10 and 12 bitThomas Mundt2017-09-23
| | | | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | avfilter/interlace: prevent over-sharpening with the complex low-pass filterThomas Mundt2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The complex vertical low-pass filter slightly over-sharpens the picture. This becomes visible when several transcodings are cascaded and the error potentises, e.g. some generations of HD->SD SD->HD. To prevent this behaviour the destination pixel must not exceed the source pixel when the average of the pixels above and below is less than the source pixel. And the other way around. Tested and approved in a visual transcoding cascade test by video professionals. SSIM/PSNR test with the first generation of an HD->SD file as a reference against the 6th generation(3 x SD->HD HD->SD): Results without the patch: SSIM Y:0.956508 (13.615881) U:0.991601 (20.757750) V:0.993004 (21.551382) All:0.974405 (15.918463) PSNR y:31.838009 u:48.424280 v:48.962711 average:34.759466 min:31.699297 max:40.857847 Results with the patch: SSIM Y:0.970051 (15.236232) U:0.991883 (20.905857) V:0.993174 (21.658049) All:0.981290 (17.279202) PSNR y:34.412108 u:48.504454 v:48.969496 average:37.264644 min:34.310637 max:42.373392 Signed-off-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_blend: rename addition128 and difference128 to grainmerge and ↵Paul B Mahol2017-08-24
| | | | | | | | grainextract
* | x86/vf_limiter: make limiter functions work on x86_32James Almer2017-07-13
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | avfilter: add limiter filterPaul B Mahol2017-07-08
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | x86/vf_blend: use ABS2 macroJames Almer2017-06-27
| |
* | x86/vf_blend: optimize difference and negation functionsJames Almer2017-06-27
| | | | | | | | | | | | | | Process more pixels per loop. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | x86/vf_blend: add sse and ssse3 extremity functionsJames Almer2017-06-27
| | | | | | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | vf_spp: only assign function pointers if permutation matches expectations.Ronald S. Bultje2017-06-24
| |
* | build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-06-21
| | | | | | | | | | | | | | | | None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1) Signed-off-by: James Almer <jamrial@gmail.com>
* | avfilter: add arbitrary audio FIR filterPaul B Mahol2017-05-09
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/interlace: add complex vertical low-pass filterThomas Mundt2017-05-02
| | | | | | | | | | | | | | This complex (-1 2 6 2 -1) filter slightly less reduces interlace 'twitter' but better retain detail and subjective sharpness impression compared to the linear (1 2 1) filter. Signed-off-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | avfilter/interlace: change lowpass_line function prototypeThomas Mundt2017-04-22
| | | | | | | | | | Signed-off-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_w3fdif: add >8 but <16 bit supportPaul B Mahol2016-12-25
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | x86/avf_showcqt: use the FMULADD_PS x86util macroJames Almer2016-08-20
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | asm: FF_-prefix internal macros used in inline assemblyMatthieu Bouron2016-06-27
| | | | | | | | See merge commit '39d6d3618d48625decaff7d9bdbb45b44ef2a805'.