akallabeth
0422cf9892
Fixed invalid argument types
2022-04-29 14:38:41 +02:00
akallabeth
340f9dd775
Fixed conditional warnings
2022-04-28 12:37:19 +02:00
akallabeth
6bc7f6ca88
Fixed cast-qual warnings
2022-04-28 12:37:19 +02:00
akallabeth
fb90ac280a
Refactored color.h
...
* Remove implementations from header
* Rename functions to be FreeRDP specific
* Add deprecation define for old names
* Fixed missing includes
2022-04-28 08:40:47 +02:00
akallabeth
3d38d2636c
Decreased logging verbosity for INFO level
2022-03-04 09:34:02 +01:00
Armin Novak
4d03d7c0bf
Freerdp remove #ifdef HAVE_CONFIG_H
2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809
Reorganized FreeRDP headers
2022-03-03 11:26:48 +01:00
Armin Novak
ca30e749e9
Fixed unused-but-set-variable and reserved identifier warnings
2022-02-01 08:48:21 +01:00
Armin Novak
1fedd36f65
Fixed proxy compilation issues after rdpUpdate refactoring
2022-01-18 11:24:23 +01:00
Armin Novak
673fb46836
Fixed uninitialized warnings
2021-09-10 08:16:25 +02:00
Armin Novak
0f8c52b9ca
Fixed const warnings with argument parser
2021-09-09 08:53:20 +02:00
Armin Novak
5afa592244
Fixed cast-qual warnings
2021-08-24 11:10:51 +02:00
Armin Novak
5eea7fc12d
WINPR_UNUSED argc, argv for unit tests
2021-08-24 10:45:57 +02:00
Armin Novak
f515bd4560
Fixed shadowing and type errors
2021-08-24 10:45:57 +02:00
Armin Novak
d9a8083ddf
Added WINPR_NORETURN, fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
c5fded2d83
Improved runtime of unit tests
2021-06-08 08:21:47 +02:00
akallabeth
ab49694101
Added new RDP file options
2021-05-11 07:59:05 +02:00
Armin Novak
317e334cc3
Refactored YCoCg converstion
2021-03-20 14:31:43 +01:00
akallabeth
f346793970
Refactored encoder functions to return changed areas
2021-03-01 11:52:07 +01:00
akallabeth
50acf72615
Refactored H264 encoding/decoding
...
Use YUV primitives now for all H264 operations
2021-03-01 11:52:07 +01:00
akallabeth
3b7af0293e
Fixed primitiveYUV unit test.
2021-02-25 14:18:01 +01:00
akallabeth
6c6e31217d
Ignore alpha channel during color conversion.
...
Most GFX graphics do not carry alpha data. Keep the original
alpha value unless specified otherwise.
2021-02-25 14:18:01 +01:00
akallabeth
43311130a2
Fixed CodeQL warnings
2021-02-19 11:19:49 +01:00
Martin Fleisz
d3530a16d5
primitives: Respect alpha values in YUV444 SSE pixel routine
2021-01-12 09:16:08 +01:00
Armin Novak
b6f3922152
Fixed primitives test
2020-09-07 11:48:06 +02:00
Armin Novak
816e792e3f
Fixed unit tests run under memory sanitizer
2020-09-07 10:42:28 +02:00
akallabeth
ae5a30438e
Fixed undefined behaviour
2020-05-20 15:10:07 +02:00
akallabeth
a139caf73a
Fixed undefined behaviour in primitives shift
2020-05-20 15:10:07 +02:00
Armin Novak
ebf44f80eb
Fixed format string warnings.
2020-04-11 09:43:01 +02:00
Armin Novak
66352741f2
Added fallbacks for primitives auto detection.
...
When using primitives auto detection it was possible that no
primitive implementation was chosen at all.
This now skips broken implementations and falls back to generic
primitives if no other implementation does work.
2020-03-02 11:40:35 +01:00
Armin Novak
ea25900f4c
Fixed #5855 : YCoCg to RGB conversion color order
2020-01-22 17:28:22 +01:00
Armin Novak
61d2e84fdc
Fixed inverted color formats in YCoCgRToRGB_8u_AC4R
2020-01-14 17:45:20 +01:00
Martin Fleisz
71feb974ac
Merge pull request #5739 from akallabeth/improve_function_hiding
...
Improve function hiding
2019-12-02 11:31:35 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
David Fort
22f954970a
primitives: use host pointers for openCL
...
Using host pointers may skip the need for copying buffers.
2019-11-29 11:59:09 +01:00
Armin Novak
3aa6047b3a
Updated primitive function const correctness.
2019-11-22 13:21:39 +01:00
Armin Novak
e347c7b3de
Added YUV444 kernel
2019-11-22 13:21:39 +01:00
Armin Novak
b3a3a6b9c2
Fixed intialization of opencl primitives and warnings.
2019-11-22 13:21:39 +01:00
David Fort
6123920a2e
opencl: inline the openCL program in the source code
2019-11-22 13:21:39 +01:00
Armin Novak
00e9efd189
Fixed init code.
2019-11-22 13:21:39 +01:00
Armin Novak
733c70cd25
Fixed primitives cleanup code.
2019-11-22 13:21:39 +01:00
Armin Novak
0a3721587a
Cleaned up primitives code.
2019-11-22 13:21:39 +01:00
David Fort
5f0943f0fe
primitives: add openCL support
...
This patch adds the basic infrastructure to have openCL acceleration.
For now only YUV2RGB is implemented but other operations could be
implemented.
The primitives have been massively reworked so that we have an autodetect
mode that will pick the best implementation automatically by performing a
benchmark.
Sponsored-by: Rangee Gmbh(http://www.rangee.com )
2019-11-22 13:21:39 +01:00
Armin Novak
6afa413669
Modified primitives function pointer to take const pointer to const data
2019-11-14 10:46:24 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
ca4a1d19a5
Silenced some unused parameter warnings.
2019-05-08 12:21:31 +02:00
Armin Novak
0bacb30608
Fixed sign-compare warnings
2019-04-05 09:13:24 +02:00
Armin Novak
2a582ed197
Fixed NULL dereferences and uninitialized values
2019-01-30 16:11:10 +01:00
Armin Novak
98bc4358e0
Fixed padding of general_yCbCrToRGB_16s8u_P3AC4R* functions.
2018-11-28 11:05:45 +01:00
Armin Novak
62c1696d4c
Removed use of unchecked sprintf
2018-08-27 14:34:42 +02:00
Armin Novak
6d3beabd54
Removed unused variables in tests.
2018-08-24 13:40:36 +02:00
Mike Gilbert
9460f4292b
primitives: ensure primitives_get() returns a populated struct
...
Fixes: https://github.com/FreeRDP/FreeRDP/issues/4658
2018-05-16 17:08:15 -04:00
Armin Novak
b5668e35b0
Fixed format string mismatch.
2018-04-05 10:49:24 +02:00
Armin Novak
2bda3a30b0
Fixed integer to float type cast.
2018-04-04 10:45:07 +02:00
Armin Novak
b0fe199060
Fixed intrinsic integer overflow.
...
Adding 128 in 8bit is not possible due to range [-128,127].
Instead subtract -128, that should eliminate the overflow.
2018-04-04 10:43:31 +02:00
Armin Novak
e0d112d548
Removed all calls to WLog_Init and WLog_Uninit
...
Since the calls are no longer required remove their usage.
2018-04-03 13:06:41 +02:00
Armin Novak
1a902c249c
Fix PROFILER_* macros
...
Add the semicolon to the macro to allow clean
undefinition if the profiler is not used.
This used to break VisualC compilers.
2018-02-15 11:30:38 +01:00
Armin Novak
1d99696db2
Fixed AVC444 YUV conversion matrix
2018-02-07 11:23:33 +01:00
Armin Novak
53cdd95de0
Refactored RGB to AVC444v2
2018-02-07 10:48:43 +01:00
Armin Novak
eb8e9cb410
Added SSSE3 UV average to AVC444v1
2018-02-07 10:48:43 +01:00
Armin Novak
46159c4cab
Added UV average to AVC444v1
2018-02-07 10:48:43 +01:00
Armin Novak
c82610c304
Deactiveate optimized primitives if no implementation compiled.
2018-01-30 14:53:53 +01:00
Armin Novak
8f7bc7990f
Added SSE optimized RGB to AVC444 frame split and test.
2018-01-30 11:17:16 +01:00
Armin Novak
ce10e22b86
Added optimized C function for specific color format.
2018-01-30 11:17:15 +01:00
Armin Novak
f27ee2e3ab
Split optimized YUV implementations to separate files.
2018-01-30 11:17:15 +01:00
David Fort
5e48664695
primitives: use INIT_ONCE instead of static booleans
...
This may prevent some race conditions
2018-01-29 00:25:20 +01:00
Martin Haimberger
94a58bd18d
YUV conversation: fixed luma frame creation
...
in the conversation function general_RGBToAVC444YUVv2_ANY
2018-01-12 00:16:45 -08:00
Armin Novak
23e1afb44a
Added new and optimized YUV primitives.
...
* RGBToAVC444YUVv2: Split a RGB frame in luma and/or chroma v2 YUV420 frames
* RGBX specific versions of RGBToAVC444YUV and RGBToYUV420_8u_P3AC4R
2018-01-10 14:46:18 +01:00
Armin Novak
e4766c656e
Fixed missing initialization warnings.
2017-12-21 11:04:32 +01:00
Armin Novak
57958cb178
Fixed #3810 : Renamed color functions
2017-11-24 13:21:43 +01:00
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