Armin Novak
65399661c4
[c23,api] replace NULL with nullptr
2026-02-26 14:03:05 +01:00
Armin Novak
20a24fe36e
[freerdp,api] mark API functions [[nodiscard]]
...
Mark (most) of the API functions returning a value [[nodiscard]]. This
will assist application developers spotting bad return checks.
2026-02-17 10:23:34 +01:00
Armin Novak
6a1cc0f031
[freerdp,api] mark function pointers [[nodiscard]]
2026-02-16 09:18:30 +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
c24f81c8ad
[freerdp] add missing documentation
2025-01-13 10:32:36 +01:00
akallabeth
99cfbebe63
[primitives] fix documentation
2025-01-12 16:08:06 +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
691092306e
[primitives,yuv] fix RGBToYUV444_8u_P3AC4R
...
make arguments const where possible
2025-01-09 23:41:32 +01:00
akallabeth
ed5ac8e82e
[primitives] add primitives_avc444_frame_type_str
2025-01-09 23:41:17 +01:00
akallabeth
163aec7e2b
[warnings] fix documentation command unknown
2024-09-12 21:21:41 +02:00
akallabeth
fb5934007a
[doxygen] add basic documentation for new API
...
* Add basic documentation for new functions/structs/data types since
3.0.0
2024-09-12 20:09:19 +02:00
akallabeth
c84655cd62
[warnings] remove const params
...
Avoid const TYPE* const type declarations
2024-09-12 14:29:25 +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
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
f19098da83
[primitives,prim_add] add new add_16s_inplace
2024-06-08 08:34:11 +02:00
akallabeth
0a0df77c39
[build,ipp] drop support for IPP
...
Intel Performance Primitives do not have a test setup in FreeRDP and
most likely no longer compile.
2024-04-16 12:44:38 +02:00
Armin Novak
fe28f9ed9c
[keyword,restrict] do not use for shift operations
...
shifting operations are done on a in/out buffer, so the restrict keyword
is not appropriate for that.
2023-10-16 15:10:13 +02:00
akallabeth
3dcd702676
[primitives,yuv] use WINPR_RESTRICT
2023-08-25 14:13:30 +02:00
akallabeth
61779694ee
[includes] improved c++ guards
2023-03-15 08:22:23 +01:00
akallabeth
50acf72615
Refactored H264 encoding/decoding
...
Use YUV primitives now for all H264 operations
2021-03-01 11:52:07 +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
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
8f7bc7990f
Added SSE optimized RGB to AVC444 frame split and test.
2018-01-30 11:17:16 +01: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
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Armin Novak
a2167d5417
Added surface width and heigth for YUV combine.
2017-04-18 14:12:40 +02:00
Armin Novak
b0d3cfda4d
Added AVC444v2 client support.
2017-04-11 11:29:14 +02:00
Norbert Federa
13a60ae138
primitives: added RGB to AVC444YUV converter
2017-02-16 17:03:40 +01:00
Armin Novak
7e4c6c6a48
Optimized functions, removed duplicates.
2017-01-18 15:28:53 +01:00
Armin Novak
076b92dd72
Fixed primitives misuse.
2016-10-06 13:43:00 +02:00
Armin Novak
99c418766c
Updated primitives API and tests.
2016-10-06 13:43:00 +02:00
Armin Novak
df35c135d1
Fixed color conversion, unified GFX and updated API.
2016-10-06 13:42:58 +02:00
Armin Novak
5bc333c626
Implemented GFX AVC444 support.
2016-03-16 13:43:18 +01:00
Armin Novak
3309bf8f9c
Implemented YUV444 related primitives.
2016-03-16 13:43:17 +01:00
Vic Lee
3c3c7068a0
Add openh264 encoder support.
2015-03-02 18:11:28 +08:00
Marc-André Moreau
1837c34e6e
libfreerdp-codec: add BGR support to egfx
2014-09-16 16:55:47 -04:00
Marc-André Moreau
bd516e04fa
libfreerdp-primitives: cleanup YCoCg
2014-09-06 21:13:37 -04:00
Marc-André Moreau
437583aa9a
libfreerdp-primitives: add YUV420 to RGB conversion
2014-09-06 17:10:27 -04:00
Marc-André Moreau
37aabc50d1
libfreerdp-codec: improve YCbCr to RGB color conversion
2014-09-04 13:09:46 -04:00
Daryl Poe
fa06452a4b
add YCoCg->RGB and 16-to-32bit SSE
2014-07-02 14:30:04 -06:00
Bernhard Miklautz
84a3dbc115
primitives: make use of winprs processor feature detection
...
- Removed the cpu flag detection
- Fixed and updated the tests
2013-03-01 09:02:14 +01:00
Marc-André Moreau
da3a3d5c9a
libfreerdp-primitives: cleanup platform definitions
2013-01-23 18:39:48 -05:00
Vic Lee
104ff8169d
include: add missing extern C decls.
2013-01-22 22:48:52 +08:00