1243 Commits

Author SHA1 Message Date
akallabeth
1a2374ea0b
Merge pull request #10247 from akallabeth/progressive-speedup
Progressive preallocate workers, inline functions
2024-06-05 11:09:55 +02:00
Armin Novak
8d783d5189
[covertity] fix various warnings 2024-06-05 09:19:59 +02:00
akallabeth
3c2702afd3
[codec,progressive] use preallocated workers
allocate PTP_WORK and PROGRESSIVE_TILE_PROCESS_WORK_PARAM in
PROGRESSIVE_BLOCK_REGION
2024-06-04 18:49:47 +02:00
akallabeth
c07ba558cb
[warnings] fix various compiler warnings 2024-06-04 13:23:24 +02:00
akallabeth
96f68dca74
[codec,color] optimize image copy
provide optimized functions for alpha blending in different color formats
2024-06-04 09:27:20 +02:00
akallabeth
6ad17cac6e
[codec,progressive] restrict keyword 2024-06-03 17:55:35 +02:00
akallabeth
bfffe28de6
[test,codec] speed up copy test
* Reduce default resolution from fullHD to fullHD/10
* Add command line arguments to set width and height manually
2024-06-03 17:55:30 +02:00
akallabeth
ef91d12b3d
[codec,h264] add restrict keyword 2024-06-03 17:55:24 +02:00
akallabeth
4eca9ac7f8
[codec,dsp] restrict keyword 2024-06-03 17:55:22 +02:00
akallabeth
a9e3fb1b33
[codec,color] restrict keyword 2024-06-03 17:55:19 +02:00
akallabeth
fd592b9cf1
[codec,nsc] add INLINE and restrict keywords 2024-06-03 17:55:16 +02:00
akallabeth
49bce0436c
[codec,bulk] restrict keyword 2024-06-03 17:55:08 +02:00
akallabeth
ef5c710f85
[codec,clear] restrict keyword 2024-06-03 17:54:44 +02:00
akallabeth
f5ede1669e
[codec,bitmap] restrict keyword 2024-06-03 17:54:41 +02:00
akallabeth
25e7729cbc
[codec,interleaved] restrict keyword 2024-06-03 17:54:39 +02:00
akallabeth
f34189aaef
[codec,zgfx] restrict and inline keywords 2024-06-03 17:54:35 +02:00
akallabeth
6587ff50d2
[codec,xcrush] restrict keyword 2024-06-03 17:54:32 +02:00
akallabeth
b12e512e08
[codec,planar] restrict keyword 2024-06-03 17:54:29 +02:00
akallabeth
16955111b7
[test,gfx] add gfx dump option 2024-06-03 17:54:24 +02:00
akallabeth
4b93a9fffa
[codec,rfx] inline and restrict 2024-06-03 17:54:21 +02:00
akallabeth
4899cf5c0f
[codec,yuv] use restrict keyword 2024-06-03 14:50:57 +02:00
akallabeth
07acfed668
[codec,color] add freerdp_image_copy test case 2024-05-27 10:00:12 +02:00
akallabeth
e9b5555652
[codec,color] inline functions used internally
for freerdp_image_copy inline all functions that are used to speed up
copying.
2024-05-27 09:52:09 +02:00
akallabeth
5fe0c5f9fc
[codec,color] check for image_copy widht or height 0 2024-05-25 09:17:13 +02:00
akallabeth
1b3f3a0408
[codec,color] expose freerdp_image_copy (no)overlap
expose functions for overlapping and non overlapping images to use
directly
2024-05-23 14:48:36 +02:00
akallabeth
1a58e74c17
[codec,color] freerdp_image_copy_no_overlap
use single memcopy if possible to speed up copy
2024-05-23 14:48:33 +02:00
Armin Novak
e272eb3966 [warnings] fix Wshadow warnings 2024-05-08 15:30:01 +02:00
akallabeth
ef83633c01 [codec,nsc] length checks in nsc_rle_decompress_data 2024-04-26 09:26:07 +02:00
akallabeth
d5f8b337c4 [codec,nsc] add restrict keyword 2024-04-26 09:26:07 +02:00
Armin Novak
4ce4a6d3fb [codec,clear] check destination offsets
clear_decompress_subcodecs_data might have inavlid offsets, check if
they fit the destination buffers
2024-04-24 15:55:30 +02:00
akallabeth
6430945ce0 [codec,color] fix out of bound read 2024-04-21 11:00:47 +02:00
akallabeth
5e5d27cf31 [codec,zgfx] allocate in segment steps
do not trust the uncompressedSize of a ZGFX_SEGMENTED_MULTIPART and
allocate the output buffer in steps after decoding a segment.
2024-04-20 21:20:44 +02:00
akallabeth
9314b5492b [codec,clear] use size_t types for sizes 2024-04-20 21:20:44 +02:00
akallabeth
0ca4973a67 [codec,clear] vBarShortEntry count check 2024-04-20 21:20:44 +02:00
akallabeth
b88c767603 [codec,color] use ssize_t/SSIZE_T for indices 2024-04-20 21:20:44 +02:00
akallabeth
1a755d898d [codec,interleaved] fix offset error 2024-04-20 21:20:44 +02:00
akallabeth
0b4db55707 [codec,nsc] check for valid ColorLossLevel 2024-04-20 21:20:44 +02:00
akallabeth
8779ebf8d4 [ci,oss-fuzz] run all codec tests 2024-04-19 11:26:47 +02:00
akallabeth
a1c373314e [codec,interleaved] fix bounds checks 2024-04-19 11:26:47 +02:00
akallabeth
b1f11bd8a4 [codec,progressive] move update to frame change 2024-04-19 09:49:02 +02:00
akallabeth
41dd15c5e8 [codec,progressive] revert 4e24b966c86fdf494a782f0dfcfc43a057a2ea60
do not reset progressive surface numUpdatedTiles after
progressive_decompress pass. The updates might accumulate until the
frameId changes, only then reset.
2024-04-19 09:49:02 +02:00
akallabeth
71e78bedd7 [warnings] fixed sign and const
* fix various char/BYTE sign warnings
* fix various const warnings
* fix format string size_t
* remove unused CMake variables
2024-04-18 11:05:58 +02:00
Armin Novak
28e9094f08 [gcc] fix missing malloc warning macros
* Add missing WINPR_ATTR_MALLOC
* Add missing WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
2024-04-17 18:47:16 +02:00
akallabeth
9d7c98f4d0 [codec,ncrush] fix index out of bound check 2024-04-16 21:20:04 +02:00
akallabeth
b7888e9b3b [codec,ncrush] fix bounds checks 2024-04-16 20:29:45 +02:00
akallabeth
f3b2aea781 [cmake] add fuzzer tests
tests imported from https://github.com/ergnoorr/fuzzrdp

reported by Evgeny Legerov of Kaspersky Lab.
2024-04-16 13:06:22 +02:00
akallabeth
ecfafe4ad0 [codec,interleaved] fix off by one length check 2024-04-16 11:25:27 +02:00
akallabeth
91a1535f88 [codec,ncrush] fix missing input length check 2024-04-16 11:25:27 +02:00
akallabeth
9da3f23698 [codec,planar] fix missing input length checks 2024-04-16 11:25:27 +02:00
akallabeth
1208f23bc9 [codec,clear] fix integer overflow
reorder check to prevent possible integer overflow
2024-04-16 11:25:27 +02:00