Commit Graph

1253 Commits

Author SHA1 Message Date
akallabeth
26e570e9fe [cmake] unify clang detection
* Move Clang detection to own CMake file
* Check for Clang and AppleClang
* Use CMAKE_COMPILER_IS_CLANG to check for Clang in code
2024-06-25 09:09:50 +02:00
akallabeth
bcd663b7d9 Merge pull request #10269 from akallabeth/image_copy_sse
Image copy sse
2024-06-12 16:45:57 +02:00
akallabeth
550a3e40c7 [ci,ios] update defaults 2024-06-11 13:26:09 +02:00
akallabeth
311068e605 [primitives] add image copy primitive
* move freerdp_image_copy_no_overlap implementation to primitives
* add SSE4.1 and AVX2 optimizations
2024-06-11 13:26:06 +02:00
akallabeth
2ee987e665 [cmake,codec] refactor codec
* move sse and neon implementations to own subdirectories
* add stubs for missing optimizations (with log messages)
2024-06-11 12:16:20 +02:00
akallabeth
e8cca22d2a [cmake] refactor libfreerdp
* Move codec and primitives to own CMakeLists.txt
* Add freerdp_object_library_add
* add freerdp_compile_options_add
2024-06-11 09:44:05 +02:00
oleg0421
bad6cab2e4 RDPECAM client: h264 interface changes 2024-06-10 14:48:31 +02:00
akallabeth
a5bb0bf203 [primitives] add lShiftC_16s_inplace 2024-06-08 08:34:21 +02:00
akallabeth
dee9019e7c [codec,progressive] use add_16s_inplace 2024-06-08 08:34:18 +02:00
akallabeth
c780210624 [rfx,dwt] cleanup variables 2024-06-08 08:34:06 +02:00
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