Commit Graph

380 Commits

Author SHA1 Message Date
akallabeth
8b9335aa90 [CMake,libfreerdp] add pkg-config dependencies 2025-09-11 07:17:42 +02:00
akallabeth
9b21bc8fc2 [primitives,neon] fix YUV conversion, handle odd x/y 2025-06-16 10:59:35 +02:00
akallabeth
e049be9837 [codec] log primitives used 2025-06-13 13:52:28 +02:00
akallabeth
3d9ad1cb46 [primitives] fix neon detection 2025-06-13 10:41:59 +02:00
akallabeth
92f88b37d8 [primitives,yuv] fix YUV420 to RGB 2025-06-13 09:53:24 +02:00
akallabeth
b2d7a7d3c0 [primitives,test] print all errors on RGB compare 2025-04-29 10:01:03 +02:00
akallabeth
ebe9e5209b [primitives,test] do compare YUV444 rgb after conversion 2025-04-28 22:33:03 +02:00
akallabeth
c06bf6ccb0 [warnings] fix format warnings 2025-03-24 21:23:10 +01:00
Armin Novak
e4df43a37a [freerdp] fix argument consistency, casts 2025-03-19 19:32:09 +01:00
akallabeth
d529675f70 [cmake,primitives] mark WITH_OPENCL unmaintained 2025-03-17 16:23:53 +01:00
akallabeth
994898be4a [primitives,sse] remove sse2_yCbCrToRGB_16s16s_P3P3
The SSE implementation did not produce divergent results due to rounding
errors. Since the function is unused in the project itself remove it.
2025-03-16 20:18:58 +01:00
akallabeth
b0393e434e [primitives] unify writing YUV data as RGB pixel 2025-03-16 20:18:36 +01:00
akallabeth
83cb4f1c53 [primitives,yuv] refactor yuv420 to RGB
the routine did have some out of bound read issues, refactor to avoid
that.
2025-03-16 20:18:30 +01:00
akallabeth
b46b67271e [primitives] fix optimized setup
only initialize once to generic implementation and then try the
optimized versions
2025-03-15 20:55:26 +01:00
Armin Novak
8fb49b0abe [warnings] fix coverity warnings 2025-03-12 13:44:59 +01:00
Armin Novak
3e6707c443 [warnings] fix issues from ci builder 2025-03-12 12:02:04 +01:00
akallabeth
1fe0ca41e1 [warnings] fix missing integer casts 2025-03-11 13:20:19 +01:00
akallabeth
9310e2ebf8 [primitives] use int64_t instead of SSIZE_T as parameter
SSIZE_T is only guaranteed to have -1 defined.
2025-03-11 11:01:13 +01:00
akallabeth
a6c70383e9 [primitives] rename function pointer types
* Remove __ prefix, reserved identifiers
* Add drop in replacement for compatibility
* Clean up SSE macros
2025-03-10 22:34:33 +01:00
akallabeth
2b53807256 [primitives] fix warnings and restricted use 2025-03-10 22:13:46 +01:00
akallabeth
0bb49c94c9 [restrict] unify restrict keyword usage 2025-03-10 18:48:16 +01:00
akallabeth
8cb4741f03 [primitives,YCoCg] remove 16 bye alignment 2025-03-07 10:16:24 +01:00
akallabeth
4c1cc2cc0c [warnings] fix unused function and variables 2025-03-07 09:35:03 +01:00
akallabeth
aa4384a286 [primitives,copy] remove alignment check 2025-03-06 16:09:16 +01:00
akallabeth
d765de8484 [warnings] eliminate dead code 2025-03-05 11:01:44 +01:00
akallabeth
61910ad0b5 [dead code] remove some unused code
also fix some parts no longer compiling after enabling it again
2025-03-04 17:24:13 +01:00
akallabeth
d4f7fb081b [warnings] fix -Wunused-function
* delete unused functions that are no longer required
* define guard functions only used while debugging
2025-02-27 19:29:46 +01:00
akallabeth
413c9b8a85 [primitives,sse] enable and refactor prefetch code 2025-02-27 05:41:59 +01:00
akallabeth
a520f845a3 [warnings] fix -Wunused-macro
comment or delete macros that were not used.
2025-02-26 22:12:18 +01:00
akallabeth
12764b1ebe [warnings,android] fix build warnings 2025-02-22 15:22:01 +01:00
akallabeth
74cd8d8fe0 [freerdp,warnings] fix -Wunused-parameter 2025-02-13 15:53:54 +01:00
akallabeth
323c6da940 [core] fix warnings and invalid return type 2025-02-13 14:43:31 +01:00
akallabeth
22efdfbc8f [simd] move CPU feature detection
Use static inline functions in header to do CPU feature detection.
The c files are already compiled/linked with SIMD support and might have
used instructions from that featureset already.
2025-02-12 14:24:10 +01:00
akallabeth
fd13e9b919 [primitives,sse] unify load/store
* Use LOAD_SI128 to load __m128i values
* Use STORE_SI128 to store __m128i values
2025-02-12 14:24:10 +01:00
akallabeth
76012aac42 [primitives,sse] split headers
Split out all SSL inline functions and defines from prim_internal.h. The
header is included in files build without -msse and on some platforms
compilation will fail due to that.
2025-02-12 14:24:07 +01:00
akallabeth
00e61074b2 [unused] eliminate unused functions 2025-02-10 09:32:19 +01:00
akallabeth
44f5b6c409 [warnings] fix various clang warnings 2025-02-04 11:22:00 +01:00
Armin Novak
664321dd04 [clang,tidy] fix cast warnings 2025-01-15 15:35:09 +01:00
Armin Novak
f52801e8e0 [primitives,yuv] inline functions 2025-01-15 14:34:12 +01:00
Armin Novak
b07d850774 [primitives,yuv] allow odd height for YUV
rails mode often submits odd resolution heights, so support these in
RGB2YUV and YUV2RGB conversions.
2025-01-15 11:51:32 +01:00
akallabeth
f1d1864e3c [primitives,yuv] allow odd lines for YUV444 to RGB 2025-01-14 20:51:23 +01:00
akallabeth
d938f978a8 [primitives] fix benchmark
if no primitives benchmark is run use optimized implementation instead
of generic if one is available.
2025-01-14 09:11:55 +01:00
akallabeth
2da7b8c606 [primitives,opencl] do not fail on opencl not supported 2025-01-12 15:13:17 +01:00
akallabeth
db278ec457 [primitives] only run benchmark if opencl enabled
there is no need to compare implementation performance if only one
optimized version is available.
2025-01-12 09:26:44 +01:00
akallabeth
b358175872 [primitives,yuv] fix possible NULL dereference 2025-01-11 12:36:51 +01:00
akallabeth
4a7de1360a [primitives] update benchmark
test all available primitives types now
2025-01-10 12:51:00 +01:00
akallabeth
3a6994cd38 [primitives] expose primitives_get_by_type 2025-01-10 12:50:58 +01:00
akallabeth
cf392cdfe1 [primitives] add primtives_hint_str 2025-01-10 12:50:55 +01:00
akallabeth
a9d2c5330c [primitives,yuv] fix opencl conversion routines 2025-01-10 12:50:52 +01:00
akallabeth
7b0489e0ce [primitives,yuv] fix opencl conversion routines 2025-01-10 12:09:37 +01:00