Ramiro Polla
8744764a4c
swscale/x86/yuv2rgb: add ssse3 yuv42{0,2}p -> gbrp unscaled colorspace converters
...
Note: this implementation is limited to x86_64 due to general purpose
register pressure.
checkasm --bench on an Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz:
yuv420p_gbrp_8_c: 118.5
yuv420p_gbrp_8_ssse3: 93.3
yuv420p_gbrp_128_c: 1068.3
yuv420p_gbrp_128_ssse3: 319.3
yuv420p_gbrp_1080_c: 8841.8
yuv420p_gbrp_1080_ssse3: 2211.8
yuv420p_gbrp_1920_c: 15903.8
yuv420p_gbrp_1920_ssse3: 3814.3
yuv422p_gbrp_8_c: 144.8
yuv422p_gbrp_8_ssse3: 93.8
yuv422p_gbrp_128_c: 1395.8
yuv422p_gbrp_128_ssse3: 313.0
yuv422p_gbrp_1080_c: 11551.5
yuv422p_gbrp_1080_ssse3: 2240.8
yuv422p_gbrp_1920_c: 20585.3
yuv422p_gbrp_1920_ssse3: 5249.5
yuva420p_gbrp_8_c: 117.5
yuva420p_gbrp_8_ssse3: 92.0
yuva420p_gbrp_128_c: 1593.0
yuva420p_gbrp_128_ssse3: 319.3
yuva420p_gbrp_1080_c: 8694.5
yuva420p_gbrp_1080_ssse3: 2186.0
yuva420p_gbrp_1920_c: 15946.5
yuva420p_gbrp_1920_ssse3: 3805.3
4 months ago
Ramiro Polla
ac6263945a
swscale/x86/yuv2rgb: Detemplatize
...
Every function in yuv2rgb_template.c is only compiled exactly
once, so detemplatize it.
6 months ago
Ramiro Polla
4f7f9b1026
swscale: remove unconditional #define DITHER1XBPP
...
This seems to have had an use in the past, but it is now defined
unconditionally.
6 months ago
Ramiro Polla
61e851381f
swscale/yuv2rgb/x86: remove mmx/mmxext yuv2rgb functions
...
These functions are either slower or barely faster than the C LUT
yuv2rgb code.
6 months ago
Andreas Rheinhardt
2831837182
swscale/x86/yuv2rgb: Remove obsolete MMX functions
...
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 these functions are truely ancient 32bit x86s
they are removed.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Andreas Rheinhardt
49db6e4b4e
swscale/x86/yuv2rgb: Remove unused ASM constants
...
mmx_grnmask is unused since 531f97b0c3
,
the other constants since e934194b6a
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Carl Eugen Hoyos
46e362b765
lsws/x86/yuv2rgb: Fix compilation with mmxext or ssse3 disabled.
...
Fixes ticket #8986 .
4 years ago
Ting Fu
fc6a5883d6
libswscale/x86/yuv2rgb: add ssse3 version
...
Tested using this command:
/ffmpeg -pix_fmt yuv420p -s 1920*1080 -i ArashRawYuv420.yuv \
-vcodec rawvideo -s 1920*1080 -pix_fmt rgb24 -f null /dev/null
The fps increase from 389 to 640 on Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Signed-off-by: Ting Fu <ting.fu@intel.com>
5 years ago
Ting Fu
e934194b6a
libswscale/x86/yuv2rgb: Change inline assembly into nasm code
...
The original inline assembly and nasm code have the same fps when called by command.
NASM code almost has no impact on the perfromance.
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years ago
Diego Biurrun
0f40c90984
Drop pointless assert.h #includes
9 years ago
Carl Eugen Hoyos
b38910c979
Fix compilation with !HAVE_6REGS.
...
Can be tested with:
$ ./configure --cc='cc -m32' --disable-optimizations --enable-pic
11 years ago
Diego Biurrun
46bacb5cc6
x86: Consistently use cpu flag detection macros in places that still miss it
11 years ago
Diego Biurrun
c16bfb147d
swscale: x86: Consistently use lowercase function name suffixes
11 years ago
Diego Biurrun
a519583991
swscale: x86: Hide arch-specific initialization details
...
Also give consistent names to init functions.
12 years ago
Michael Niedermayer
6d323ff57a
swscale: remove unneeded include assert.h
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
d8eda37080
x86: mmx2 ---> mmxext in function names
12 years ago
Diego Biurrun
652f518594
x86: mmx2 ---> mmxext in comments and messages
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Diego Biurrun
17337f54c0
x86: Split inline and external assembly #ifdefs
13 years ago
Mans Rullgard
c318626ce2
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
...
This puts x86-specific things in the x86/ subdirectory where they
belong.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Diego Biurrun
239fdf1b4a
x86: build: replace mmx2 by mmxext
...
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
13 years ago
Diego Biurrun
5a6e3c039c
swscale: Mark all init functions as av_cold
13 years ago
Diego Biurrun
16d2a1a51c
swscale: x86: Drop pointless _mmx suffix from filenames
...
The files do not contain only MMX code.
13 years ago
Ronald S. Bultje
b2668c85e9
x86: swscale: Place inline assembly code under appropriate #ifdefs
...
Fixes compilation for compilers that do not support gcc inline assembly.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
13 years ago
Michael Niedermayer
5a840f6364
x86/yuv2rgb_mmx: Remove yuv420 check.
...
This check is not correct, the code supports more yuv variants.
Fixes Ticket904
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
a60466dbc3
swscale: Remove HAVE_MMX from files that are only compiled with MMX enabled.
14 years ago
Diego Biurrun
97e057ff81
swscale: Fix compilation with --disable-mmx2.
...
Some MMX2 functions were being referenced without proper #ifdefs.
14 years ago
Michael Niedermayer
39d607e5bb
swscale: Commits that could not be pulled earlier due to bugs #2
...
commit 5a5a0f1613
Author: Diego Biurrun <diego@biurrun.de>
Date: Fri May 27 19:46:39 2011 +0200
swscale: Remove unused variables in x86 code.
libswscale/x86/swscale_template.c:2072: warning: unused variable ‘canMMX2BeUsed’
libswscale/x86/swscale_template.c:2145: warning: unused variable ‘canMMX2BeUsed’
libswscale/x86/swscale_template.c:2209: warning: unused variable ‘chrVPixBuf’
libswscale/x86/swscale_template.c:2237: warning: unused variable ‘chrVSrcPtr’
commit 389e2000eb
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 12:23:32 2011 -0400
swscale: delay allocation of formatConvBuffer().
That means it won't be allocated when not needed. Alongside
this, it fixes valgrind/fate-detected memory leaks.
commit f327bfa6dc
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 11:36:43 2011 -0400
swscale: fix build with --disable-swscale-alpha.
commit 9f5d45025e
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 09:28:38 2011 -0400
swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.
14 years ago
Ronald S. Bultje
f327bfa6dc
swscale: fix build with --disable-swscale-alpha.
14 years ago
Ronald S. Bultje
e66149e714
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
870a6f4044
Rename yuv2rgb_template2.c --> yuv2rgb_template.c now that the other is gone.
...
Originally committed as revision 31279 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago
Diego Biurrun
531f97b0c3
Remove GPL-licensed YUV to RGB MMX routines.
...
We now have an LGPL replacement that is at least equally fast.
Originally committed as revision 31278 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago
Loren Merritt
8a26b2c665
13% faster yuv420 to rgb15 mmx.
...
It is now faster than the old gpl version on conroe.
Originally committed as revision 31181 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago
Diego Biurrun
f4ea7c8911
alternative LGPL-licensed, MMX-optimized YUV to RGB conversion routines
...
written by Kostya Shishkov
Originally committed as revision 31135 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago
Zuxy Meng
23b0072ad7
MMX(2) accelerated yuv420->rgb24 routine, trivial as essentially as it just
...
swaps R and B inputs for the existing yuv420->bgr24 routine.
Originally committed as revision 30254 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago
Ramiro Polla
dd68318cee
Cosmetics:
...
- Place curly brackets in the same line as while/for/if/switch/else/do;
- Place curly brackets at column 0 in the next line starting a function.
Originally committed as revision 29523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
16 years ago
Peter Schlaile
562f685307
BGR32 MMX special convertor.
...
Patch by Peter Schlaile < peter at schlaile dot de >
Originally committed as revision 29515 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
16 years ago
Ramiro Polla
befa8e665c
Move yuv2rgb code to subdirs.
...
Originally committed as revision 29063 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
16 years ago