Norbert Federa
eea2f306d3
primitives/yuv: fix endianess issue
2017-10-19 11:55:13 +02:00
Bernhard Miklautz
52fbfb7b12
fix clang warnings, directly include wtypes.h ( #4097 )
...
* build: clang use -Wno-unused-command-line-argument
With clang 5.0 builds are quite noisy otherwise.
* Directly include wtypes.h
Directly include winpr/wtypes.h where _fseeki64 or _ftelli64 is used.
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: parentheses-equality
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: tautological-compare
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning:
incompatible pointer types passing 'size_t *' (aka 'unsigned
long *') to parameter of type 'UINT32 *' (aka 'unsigned int *')
[-Wincompatible-pointer-types]
2017-08-29 09:09:38 +02:00
Armin Novak
b51a103b70
Fixed uninitialized values.
2017-07-20 09:35:41 +02:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Norbert Federa
36b8f54c5e
Fixed a few compiler warnings
2017-07-10 17:52:05 +02:00
Armin Novak
f1a296a32e
Fixed AVC444v2 NEON chroma decoder.
2017-04-18 15:08:44 +02:00
Armin Novak
06d4e9ac73
Fixed SSE AVC444v2 chroma decoder.
2017-04-18 15:03:38 +02:00
Armin Novak
a2167d5417
Added surface width and heigth for YUV combine.
2017-04-18 14:12:40 +02:00
Armin Novak
fcd2d820af
Added SSE AVC444v2
2017-04-13 13:09:16 +02:00
Armin Novak
1a0f56baa7
Fixed AVC444 NEON, added AVC444v2.
2017-04-12 14:39:32 +02:00
Armin Novak
0c15455d8f
Upaded YUV tests.
2017-04-11 11:40:04 +02:00
Armin Novak
b0d3cfda4d
Added AVC444v2 client support.
2017-04-11 11:29:14 +02:00
Armin Novak
4f6beb0815
Fixed NEON YUV to RGB conversion issues.
2017-04-05 12:20:29 +02:00
Armin Novak
ed0024d11b
Fixed AVC420 SSE implementation and test.
2017-03-28 17:42:35 +02:00
Armin Novak
09d43a66f4
Fixed tests and dead store warnings.
2017-03-28 16:49:56 +02:00
Armin Novak
f0b61eb4b9
Fixed index for YUV filter in NEON path.
2017-03-02 17:56:23 +01:00
akallabeth
65b51a6ca3
Merge pull request #3798 from mfleisz/vc10_comp_fix
...
primitives: Fix compilation with VS 2010
2017-02-22 12:47:52 +01:00
Armin Novak
6366868222
Fixed argument check of sse2_RGBToRGB_16s8u_P3AC4R
2017-02-22 10:59:18 +01:00
Martin Fleisz
966dbdf236
primitives: Fix compilation with VS 2010
2017-02-22 10:21:01 +01:00
Armin Novak
4c7d01374c
Fixed warings #3784
2017-02-20 13:30:16 +01:00
Ilya Shipitsin
33f38da6b6
resolve trivial issues found by cppcheck
...
[libfreerdp/primitives/prim_add_opt.c:43]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_andor_opt.c:42]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_andor_opt.c:44]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:42]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:45]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:48]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:51]: (error) Uninitialized variable: shifts
2017-02-17 18:36:03 +05:00
Norbert Federa
a50242c636
primitives: SSSE3 RGB to AVC444YUV converter
...
------------------------------+---------+----------+-----------+-------
RGB TO AVC444YUV 1080p 32bit | COUNT | TOTAL | AVG | IPS
CPU: 3.1 GHz Core i5-2400 | | | |
------------------------------+---------+----------+-----------+-------
general_RGBToAVC444YUV_ANY | 500 | 13.0164s | 0.026033s | 38
general_RGBToAVC444YUV_BGRX | 500 | 3.9584s | 0.007917s | 126
ssse3_RGBToAVC444YUV_BGRX | 500 | 0.7694s | 0.001539s | 650
2017-02-16 17:48:23 +01:00
Norbert Federa
13a60ae138
primitives: added RGB to AVC444YUV converter
2017-02-16 17:03:40 +01:00
Armin Novak
c50e5ba57e
Fixed warnings.
2017-02-16 14:34:43 +01:00
Armin Novak
c04918d6c2
Added value comparison for all YCbCr functions.
2017-02-16 14:00:25 +01:00
Armin Novak
4891ae62b1
Reduced test runtime.
2017-02-16 13:52:27 +01:00
Armin Novak
198bc6d9e1
Fixed compiler warnings.
2017-02-16 13:17:49 +01:00
Armin Novak
4d03a9aa6f
Improved YCoCgToRGB tests.
2017-02-16 12:16:58 +01:00
Armin Novak
799afe0cca
Fixed YUV test result print.
2017-02-16 12:16:58 +01:00
Armin Novak
dda6b14402
Fixed SSE yCbCrToRGB_16s8u_P3AC4R, improved tests.
2017-02-16 12:16:58 +01:00
Armin Novak
ee3a3a787b
Fixed SSE checks and RGBToRGB_16s8u_P3AC4R
2017-02-16 09:57:13 +01:00
Armin Novak
1b78c45eca
Fixed alignment checks for SSE yCbCrToRGB
2017-02-15 12:39:57 +01:00
Armin Novak
dce3604bcf
Refined alignment checks for SSSE3 YUV444ToRGB
2017-02-15 12:08:32 +01:00
Armin Novak
e44158ee29
Reordered SSSE3 YUV444ToRGB
2017-02-14 16:02:12 +01:00
Armin Novak
2463575083
Print profiler header and footer.
2017-02-14 16:02:11 +01:00
Armin Novak
f324b0ef9c
Use aligned malloc/free for GFX surfaces/buffers
2017-02-14 16:02:11 +01:00
Armin Novak
9dba98598f
SSSE3 YUV444ToRGB process 16 pixel per loop.
2017-02-14 16:02:11 +01:00
Armin Novak
4f705b99ec
Fixed primitives sign test buffer size.
2017-02-13 16:09:57 +01:00
Armin Novak
e60cc9bdd9
NEON optimized YCoCg conversion.
2017-02-13 16:09:28 +01:00
Armin Novak
a791ab0b17
Added NEON and SSSE3 YCbCr conversion functions.
2017-02-13 16:08:37 +01:00
Armin Novak
b1e3bab8ef
Added NEON and SSSE3 YUV conversion optimisations.
2017-02-13 16:00:12 +01:00
Armin Novak
57db52237c
Fixed AVC444 luma/chroma checks.
2017-02-10 08:31:32 +01:00
Norbert Federa
490473d26f
primitives: RGB to YUV420 (non SIMD) optimizations
...
- added a dedicated non-simd encoder for BGR[AX] source formats
- simplified the generic RgbToYuv420 encoder and fixed the crash
with odd dimensions
2017-02-06 15:48:52 +01:00
Norbert Federa
cb5dfd831f
primitives: added SSSE3 rgb to yuv420 encoder
...
Currently supported source pixel formats are:
- PIXEL_FORMAT_BGRA32
- PIXEL_FORMAT_BGRX32
Support for PIXEL_FORMAT_RGB[XA]32 can simply be added if
required (see the comment in prim_YUV_opt.c).
On my old 3.1 GHz Core i5-2400 the new SSSE3 function can convert
over 900 1080p BGRX frames per second.
The current non-optimized C version (which supports all pixel formats)
can't do more than 40 yuv conversions per second on this cpu.
---------------------------+---------+-------------+-----------+-------
RGB TO YUV420 1080p 32bit | COUNT | TOTAL | AVG | FPS
---------------------------+---------+-------------+-----------+-------
general_RGBToYUV420 | 500 | 13.1776s | 0.026355s | 38
ssse3_RGBToYUV420 | 500 | 0.5320s | 0.001064s | 940
Also fixed an error in TestPrimitivesYUV which generated resolutions
with height or width set to zero
2017-02-03 13:56:50 +01:00
Armin Novak
16de1bca2b
Removed unused profiler.
2017-01-31 14:18:28 +01:00
Armin Novak
dbfbd5b086
Fixed argument order of yCbCrToRGB_16s8u_P3AC4R
2017-01-31 10:49:59 +01:00
Armin Novak
c4122d342c
Added performance profiler to YUV test.
2017-01-31 10:31:34 +01:00
Armin Novak
d7426d4516
Reverted RGB2V
2017-01-31 10:04:00 +01:00
Armin Novak
b04b8303e6
Using faster transformation for RFX decoder.
2017-01-24 11:37:24 +01:00
Armin Novak
0d6fb17921
Fixed NEON primitives.
2017-01-24 09:08:03 +01:00