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
akallabeth
6f8a852a7b
[primitives,yuv] fix compiler warnings
2025-01-10 10:45:44 +01:00
akallabeth
61c049b2e6
[primitives,benchmark] add benchmark tool for primitives
2025-01-10 10:17:13 +01:00
akallabeth
e2cdcd8a18
[primitives,yuv] fix issues with SSE
...
* fix unaligned memory access
* fix width not a multiple of 16
2025-01-09 23:44:50 +01:00
akallabeth
6e8ab6241b
[primitives,yuv] improve YUV unit test
...
* allow YUV offsets of up to 2 (rounding effect for YUV420 int16
calculation size)
* better logging
2025-01-09 23:44:33 +01:00
akallabeth
3c65e5a703
[primitives,yuv] fix neon chroma filter
2025-01-09 23:41:39 +01:00
akallabeth
e93cd60352
[primitives,yuv] improve unit test
...
* add comparison tests between generic and SIMD optimized RGB <-> YUV
routines
* fix inconsistencies due to chroma filter in RGB -> YUV444 -> RGB test
* enable primitives test on all platforms
2025-01-09 23:41:35 +01:00
akallabeth
19fb2b3f0a
[primitives,yuv] fix chroma filter for SSE
2025-01-09 23:41:29 +01:00
akallabeth
41f06bec5f
[primitives,yuv] local export RGB2Y and YUV2R
2025-01-09 23:41:25 +01:00
akallabeth
7e4d13374e
[primitives,yuv] add chroma filter to YUV444 -> RGB
2025-01-09 23:41:23 +01:00
akallabeth
9a1c317876
[primitives,yuv] add chroma filter to RGB -> YUV444
2025-01-09 23:41:20 +01:00
akallabeth
ed5ac8e82e
[primitives] add primitives_avc444_frame_type_str
2025-01-09 23:41:17 +01:00
akallabeth
901cf28d17
[primitives,yuv] remove broken chroma filter
2025-01-09 23:41:00 +01:00
akallabeth
f2794703b6
[primitives,colors] fix int narrowing cast
2025-01-07 21:28:11 +01:00
akallabeth
0969502541
[warnings] fix warnings detected by latest CI build
2025-01-03 09:53:48 +01:00
akallabeth
cc934795e4
[warnings] fix integer casting
...
* use asserting casts to detect overflows or sign conversions
* code cleanup for issues uncovered by casts
2025-01-01 12:58:34 +01:00
akallabeth
0f4b962745
[primitives,neon] fix yuv to rgb
2024-12-10 19:55:52 +01:00
akallabeth
83f2f21ad3
[warnigns] fix lots of bugprone warnings
...
* update-settings-tests: properly cast types in getter/setter
* wtypes: fix PHANDLE definition
* wStream: fix INT64 write function warnings
* Simplify HANDLE copy in channels, just assign after proper cast
2024-12-06 09:15:48 +01:00
akallabeth
b4976163cd
[CMake,simd] unify WITH_SSE2, WITH_AVX2, WITH_NEON
...
* Add new CMake option WITH_SIMD to enable best available instruction
type
* Unify simd related defines in single header
2024-12-03 11:54:36 +01:00
akallabeth
f7e5e6507b
Merge pull request #10895 from akallabeth/cmake-format
...
Cmake format
2024-11-28 14:52:19 +01:00
Armin Novak
601249115f
[codespell] fix spelling mistakes
2024-11-28 11:52:22 +01:00
akallabeth
faae38120c
[cmake,format] reformat all cmake files
2024-11-27 20:41:48 +01:00
stephanebill
4f2afa8c47
spell check with codespell
2024-11-20 16:53:40 -05:00
akallabeth
db07add07a
[deprecation] replace all usages of sprintf
2024-11-12 16:46:11 +01:00
akallabeth
78acedb40e
[warnigns] fix Wshorten-64-to-32
2024-11-11 10:22:37 +01:00
Vic Lee
ce604a5a81
[core,primitive] fix rgb primitive copy without conversion.
2024-11-04 17:53:59 +08:00
Armin Novak
527db6783b
[cmake] split tests
...
* Keep BUILD_TESTING, but only run tests compatible with API (for
packaging)
* Add BUILD_TESTING_INTERNAL for all tests including internal function
tests that modify API to be run on our CI
2024-10-24 09:45:44 +02:00
akallabeth
28037f100c
[warnings] fix sign comparison issues
2024-10-22 10:11:38 +02:00