summaryrefslogtreecommitdiff
path: root/libavfilter/x86/yadif-10.asm
Commit message (Collapse)AuthorAge
* x86/yadif-10: remove duplicate ABS macroJames Almer2014-07-10
| | | | | | | | 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>
* x86util: add and use RSHIFT/LSHIFT macrosChristophe Gisquet2014-06-15
| | | | | | | 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>
* Change license of yadif from GPL to LGPLRobert Krüger2014-01-14
| | | | | Signed-off-by: Robert Krüger <krueger@lesspain.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* yadif: remove an 'm' from the LOAD macro definitionJames Darnley2013-03-16
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* yadif: remove repeated check on widthJames Darnley2013-03-16
| | | | | | The filter already checks that width (and height) are greater than 3. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* yadif: x86 assembly for 9 to 14-bit samplesJames Darnley2013-03-16
These smaller samples do not need to be unpacked to double words allowing the code to process more pixels every iteration (still 2 in MMX but 6 in SSE2). It also avoids emulating the missing double word instructions on older instruction sets. Like with the previous code for 16-bit samples this has been tested on an Athlon64 and a Core2Quad. Athlon64: 1809275 decicycles in C, 32718 runs, 50 skips 911675 decicycles in mmx, 32727 runs, 41 skips, 2.0x faster 495284 decicycles in sse2, 32747 runs, 21 skips, 3.7x faster Core2Quad: 921363 decicycles in C, 32756 runs, 12 skips 486537 decicycles in mmx, 32764 runs, 4 skips, 1.9x faster 293296 decicycles in sse2, 32759 runs, 9 skips, 3.1x faster 284910 decicycles in ssse3, 32759 runs, 9 skips, 3.2x faster Signed-off-by: Michael Niedermayer <michaelni@gmx.at>