Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-27avfilter/vf_threshold: fix handling of zero thresholdPaul B Mahol
2022-06-22avfilter/x86/vf_bwdif: Remove obsolete MMXEXT functionsAndreas Rheinhardt
The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-22avfilter/x86/vf_idet: Remove obsolete MMX(EXT) functionsAndreas Rheinhardt
The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-22avfilter/x86/vf_yadif: Remove obsolete MMXEXT functionsAndreas Rheinhardt
The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-22avfilter/x86/vf_eq_init: Remove obsolete MMXEXT functionAndreas Rheinhardt
x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2) for x64. So given that the only systems that benefit from process_mmxext are truely ancient 32bit x86s it is removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-22avfilter/x86/vf_noise: Remove obsolete MMX functionAndreas Rheinhardt
x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2) for x64. So given that the only systems that benefit from line_noise_mmx are truely ancient 32bit x86s it is removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-05-06avfilter/af_afir: Only keep DSP stuff in headerAndreas Rheinhardt
Only the AudioFIRDSPContext and the functions for its initialization are needed outside of lavfi/af_afir.c. Also rename the header to af_afirdsp.h to reflect the change. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-24avfilter/x86/vf_limiter: use movu, dst may not be always alignedPaul B Mahol
Happens with pad filter after limiter.
2022-03-21avfilter/x86/vf_blend: use unaligned movs for outputMarton Balint
Fixes crashes with: ffmpeg -f lavfi -i allyuv=d=1 -vf tblend=difference128,pad=5000:ih:1 -f null x Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-03avfilter/vf_maskedmerge: fix rounding when maskingPaul B Mahol
2021-11-11avfilter/vf_nlmeans: add x86 SIMDPaul B Mahol
2021-10-15x86/vf_lut3d: use three operand form for some instructionsJames Almer
Fixes compilation with old yasm. Signed-off-by: James Almer <jamrial@gmail.com>
2021-10-13avfilter/vf_lut3d: fix building with --disable-optimizationsMark Reid
2021-10-10avfilter/vf_lut3d: add x86-optimized tetrahedral interpolationMark Reid
I spotted an interesting pattern that I didn't see before that leads to the implementation being faster. The bit shifting table I was using before is no longer needed, and was able to remove quite a few lines.  I also add use of FMA on the AVX2 version. f32 1920x1080 1 thread with prelut c impl 1434012700 UNITS in lut3d->interp,       1 runs,      0 skips 1434035335 UNITS in lut3d->interp,       2 runs,      0 skips 1423615347 UNITS in lut3d->interp,       4 runs,      0 skips 1426268863 UNITS in lut3d->interp,       8 runs,      0 skips sse2 905484420 UNITS in lut3d->interp,       1 runs,      0 skips 905659010 UNITS in lut3d->interp,       2 runs,      0 skips 915167140 UNITS in lut3d->interp,       4 runs,      0 skips 915834222 UNITS in lut3d->interp,       8 runs,      0 skips avx 574794860 UNITS in lut3d->interp,       1 runs,      0 skips 581035090 UNITS in lut3d->interp,       2 runs,      0 skips 584116720 UNITS in lut3d->interp,       4 runs,      0 skips 581460290 UNITS in lut3d->interp,       8 runs,      0 skips avx2 301698880 UNITS in lut3d->interp,       1 runs,      0 skips 301982880 UNITS in lut3d->interp,       2 runs,      0 skips 306962430 UNITS in lut3d->interp,       4 runs,      0 skips 305472025 UNITS in lut3d->interp,       8 runs,      0 skips gbrap16 1920x1080 1 thread with prelut c impl 1480894840 UNITS in lut3d->interp,       1 runs,      0 skips 1502922990 UNITS in lut3d->interp,       2 runs,      0 skips 1496114307 UNITS in lut3d->interp,       4 runs,      0 skips 1492554551 UNITS in lut3d->interp,       8 runs,      0 skips sse2 980777180 UNITS in lut3d->interp,       1 runs,      0 skips 986121520 UNITS in lut3d->interp,       2 runs,      0 skips 986489840 UNITS in lut3d->interp,       4 runs,      0 skips 998832248 UNITS in lut3d->interp,       8 runs,      0 skips avx 622212360 UNITS in lut3d->interp,       1 runs,      0 skips 622981160 UNITS in lut3d->interp,       2 runs,      0 skips 645396315 UNITS in lut3d->interp,       4 runs,      0 skips 641057075 UNITS in lut3d->interp,       8 runs,      0 skips avx2 321336400 UNITS in lut3d->interp,       1 runs,      0 skips 321268920 UNITS in lut3d->interp,       2 runs,      0 skips 323459895 UNITS in lut3d->interp,       4 runs,      0 skips 324949967 UNITS in lut3d->interp,       8 runs,      0 skips
2021-10-03avfilter/x86/vf_blend: unify indentation formatWu Jianhua
Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-09-18libavfilter/x86/vf_gblur: correct the order of loop stepWu Jianhua
The problem was caused by if the width of the processed block minus 1 is a multiple of the aligned number the instruction jle .bscale_scalar would skip the Optimized Loop Step, which will lead to an incorrect sampling when specifying steps more than 1. Move the Optimized Loop Step after .bscale_scalar to ensure the loop step is enabled. Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-09-18libavfilter/x86/vf_gblur: fixed the fate-test failed on MacOSWu Jianhua
Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-08-29libavfilter/x86/vf_gblur: add localbuf and ff_horiz_slice_avx2/512()Wu Jianhua
We introduced a ff_horiz_slice_avx2/512() implemented on a new algorithm. In a nutshell, the new algorithm does three things, gathering data from 8/16 rows, blurring data, and scattering data back to the image buffer. Here we used a customized transpose 8x8/16x16 to avoid the huge overhead brought by gather and scatter instructions, which is dependent on the temporary buffer called localbuf added newly. Performance data: ff_horiz_slice_avx2(old): 109.89 ff_horiz_slice_avx2(new): 666.67 ff_horiz_slice_avx512: 1000 Co-authored-by: Cheng Yanfei <yanfei.cheng@intel.com> Co-authored-by: Jin Jun <jun.i.jin@intel.com> Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-08-29libavfilter/x86/vf_gblur: add ff_verti_slice_avx2/512()Wu Jianhua
The new vertical slice with AVX2/512 acceleration can significantly improve the performance of Gaussian Filter 2D. Performance data: ff_verti_slice_c: 32.57 ff_verti_slice_avx2: 476.19 ff_verti_slice_avx512: 833.33 Co-authored-by: Cheng Yanfei <yanfei.cheng@intel.com> Co-authored-by: Jin Jun <jun.i.jin@intel.com> Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-08-29libavfilter/x86/vf_gblur: add ff_postscale_slice_avx512()Wu Jianhua
Co-authored-by: Cheng Yanfei <yanfei.cheng@intel.com> Co-authored-by: Jin Jun <jun.i.jin@intel.com> Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2021-07-27avfilter/avf_showcqt: switch to TX FFT from avutilPaul B Mahol
2021-07-22Remove unnecessary mem.h inclusionsAndreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-02-17x86/vf_gblur: fix reg name in UNIX64 prologueJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2021-02-17x86/vf_gblur: fix postscale_slice prologueJames Almer
x86_32 ABI does not pass float arguments directly on xmm regs, and the Win64 ABI uses only the first four regs for this purpose. Signed-off-by: James Almer <jamrial@gmail.com>
2021-02-16avfilter/x86/vf_gblur: add postscale SIMDPaul B Mahol
2021-02-13avfilter/vf_convolution: add 16-column operation for filter_column()Paul B Mahol
Based on patch by Xu Jun <xujunzz@sjtu.edu.cn>
2021-01-22avfilter/vf_atadenoise: add sigma optionsPaul B Mahol
2020-10-04avfilter/vf_v360: add mitchell interpolationPaul B Mahol
2020-09-15avfilter/x86/vf_convolution_init: there is asm only for 8bit depthPaul B Mahol
2020-08-27Revert "avfilter/yadif: simplify the code for better readability"Limin Wang
This reverts commit 2a9b934675b9e2d3850b46f8a618c19b03f02551.
2020-08-26avfilter/yadif: simplify the code for better readabilityLimin Wang
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-07-12x86/vf_blend: fix warnings about trailing empty parametersJames Almer
Finishes fixing ticket #8771 Signed-off-by: James Almer <jamrial@gmail.com>
2020-04-02avfilter/x86/vf_v360_init: add missing casesPaul B Mahol
2020-04-02avfilter/vf_v360: add SIMD for lagrange9 interpolationPaul B Mahol
2020-02-05vf_ssim: Fix loading doubles to float registers on i386Martin Storsjö
This fixes the tests filter-refcmp-ssim-yuv and filter-refcmp-ssim-rgb on i386 after breaking in fcc0424c933742c8fc852371e985d16b6eb4bfe9. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-02-04avfilter/vf_ssim: improve precisionPaul B Mahol
Use doubles for accumulating floats.
2020-01-19avfilter/vf_v360: change remaps to int16_t typePaul B Mahol
2019-12-15avfilter/x86/vf_interlace: always use unaligned movsMarton Balint
Fixes crashes in command lines such as: ffmpeg -f lavfi -i testsrc2=704x576:r=50,interlace,pad=720:576:8 -f null none Related to ticket #6491. Signed-off-by: Marton Balint <cus@passwd.hu>
2019-10-23avfilter/vf_maskedclamp: add x86 SIMDPaul B Mahol
2019-10-22x86/vf_transpose: make ff_transpose_8x8_16_sse2 work on x86_32James Almer
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2019-10-21x86/vf_transpose: fix cpuflags checkJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2019-10-21avfilter/vf_transpose: add x86 SIMDPaul B Mahol
2019-10-21avfilter/x86/vf_atadenoise: fix commentPaul B Mahol
2019-10-17avfilter/x86/vf_atadenoise: add SIMD for serial tooPaul B Mahol
2019-10-17avfilter/vf_atadenoise: add option to use additional algorithmPaul B Mahol
2019-10-17avfilter/vf_adadenoise: add x86 SIMDPaul B Mahol
2019-10-16avfilter/vf_gblur: fix heap-buffer overflowPaul B Mahol
Fixes #8282
2019-10-07avcodec/filter: Remove extra '; ' outside of functionsAndreas Rheinhardt
They are not allowed outside of functions. Fixes the warning "ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]" when compiling with GCC and -pedantic. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2019-09-26avfilter/vf_eq: fix compilation with x86 asm disabledJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2019-09-26avfilter/x86/vf_eq: add SSE2 versionTing Fu
Signed-off-by: Ting Fu <ting.fu@intel.com>