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
Armin Novak
dd430f78f6
Fixed YUV tests.
2017-01-24 09:08:03 +01:00
Armin Novak
adcd09cd46
Enabled ASM primitives.
2017-01-24 09:08:03 +01:00
Armin Novak
7e4c6c6a48
Optimized functions, removed duplicates.
2017-01-18 15:28:53 +01:00
Armin Novak
9cf6af36fb
Inlined shift operations.
2017-01-18 15:28:53 +01:00
Armin Novak
6b7b1cec39
Optimized general_YUV444ToRGB_8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
948e633ed3
Optimized general_RGBToRGB_16s8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
d76ecc7662
Optimized general_yCbCrToRGB_16s8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
ebfa0ccc7d
Unified clipping of byte values.
2017-01-12 15:30:06 +01:00
Norbert Federa
f71b6b46e8
fix string format specifiers
...
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00