summaryrefslogtreecommitdiff
path: root/libavcodec/x86/videodsp.asm
Commit message (Collapse)AuthorAge
* avcodec/x86/videodsp: Remove obsolete MMX, 3dnow, SSE functionsAndreas Rheinhardt2022-06-22
| | | | | | | | | | x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT, SSE and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2). So given that the only systems which benefit from these functions are truely ancient 32bit x86s they are removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Merge commit 'b89804da9bad2d94dd95bf20ac6187447e9c17e9'James Almer2017-03-23
|\ | | | | | | | | | | | | * commit 'b89804da9bad2d94dd95bf20ac6187447e9c17e9': x86: videodsp: Add parentheses to expression to work around warning Merged-by: James Almer <jamrial@gmail.com>
| * x86: videodsp: Add parentheses to expression to work around warningDiego Biurrun2016-10-19
| | | | | | | | libavcodec/x86/videodsp.asm:128: warning: signed dword value exceeds bounds
| * x86: videodsp: Fix a bug in a %if statement where we used '%%' instead of '&&'.Ronald S. Bultje2014-01-30
| | | | | | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
| * x86: videodsp: Properly mark sse2 instructions in emulated_edge_mc as such.Ronald S. Bultje2014-01-30
| | | | | | | | | | | | | | | | Should fix crashes or corrupt output on pre-SSE2 CPUs when they were using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in hfix or hvar single-edge (left/right) extension functions. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
| * lavc: Edge emulation with dst/src linesizeRonald S. Bultje2013-11-15
| | | | | | | | | | | | Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* | videodsp: fix 1-byte overread in top/bottom READ_NUM_BYTES iterations.Ronald S. Bultje2016-01-18
| | | | | | | | | | | | | | This can overread (either before start or beyond end) of the buffer in Nx1 (i.e. height=1) images. Fixes mozilla bug 1240080.
* | videodsp: don't overread edges in vfix3 emu_edge.Ronald S. Bultje2015-10-24
| | | | | | | | | | Fixes trac ticket 3226. Also see Andreas' analysis in https://bugs.debian.org/801745, which was very helpful.
* | x86/videodsp: add ff_emu_edge_{hfix,hvar}_avx2James Almer2014-09-24
| | | | | | | | | | | | | | ~15% faster than sse2. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | Revert "x86/videodsp: add emulated_edge_mc_mmxext"Michael Niedermayer2014-06-28
| | | | | | | | | | | | | | | | | | | | The commit causes minor out of array reads and was mainly intended for future optimizations which turned out not to be meassurably faster. Itself it was just 1 cpu cycle faster Approved-by: jamrial This reverts commit 057d2704e78b52fec357b4fc646c9de37a085413.
* | x86/videodsp: add emulated_edge_mc_mmxextJames Almer2014-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This also changes hfix8_mmx and above to use mmx regs instead of gprs, and makes emulated_edge_mc_sse and emulated_edge_mc_sse2 use mmxext hfix and hvar functions instead of mmx where possible. This is mostly in preparation for an ssse3 version. Signed-off-by: James Almer <jamrial@gmail.com> code is about 1 cpu cycle faster approximately Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/x86/videodsp: Small speedups in ff_emulated_edge_mc x86 SIMD.Ronald S. Bultje2013-10-27
| | | | | | | | | | | | | | | | Don't use word-size multiplications if size == 2, and if we're using SIMD instructions (size >= 8), complete leftover 4byte sets using movd, not mov. Both of these changes lead to minor speedups. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/x86/videodsp: fix a bug in a %if statement where we used '%%' ↵Ronald S. Bultje2013-10-27
| | | | | | | | | | | | instead of '&&'. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/x86/videodsp: Properly mark sse2 instructions in emulated_edge_mc ↵Ronald S. Bultje2013-10-24
| | | | | | | | | | | | | | | | | | | | | | x86 simd as such. Should fix crashes or corrupt output on pre-SSE2 CPUs when they were using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in hfix or hvar single-edge (left/right) extension functions. Tested-by: Ingo Brückl <ib@wupperonline.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavcodec/x86: Fix emulated_edge_mc SSE code to not contain SSE2 ↵Ronald S. Bultje2013-10-10
| | | | | | | | | | | | instructions on x86-32. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Rewrite emu_edge functions to have separate src/dst_stride arguments.Ronald S. Bultje2013-09-28
| | | | | | | | | | | | This allows supporting files for which the image stride is smaller than the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* | Merge commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa'Michael Niedermayer2013-03-28
|\| | | | | | | | | | | | | | | | | | | * commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa': cosmetics: Remove unnecessary extern keywords from function declarations Conflicts: libswscale/x86/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Remove unnecessary extern keywords from function declarationsDiego Biurrun2013-03-27
| |
* | videodsp: Fix project nameMichael Niedermayer2012-12-22
|/ | | | | | These are all part of splited out dsp utils from FFmpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavc: introduce VideoDSPContextRonald S. Bultje2012-12-20
Move some functions from dsputil. The idea is that videodsp contains functions that are useful for a large and varied set of video decoders. Currently, it contains emulated_edge_mc() and prefetch(). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>