Commit Graph

357 Commits

Author SHA1 Message Date
Armin Novak
65399661c4 [c23,api] replace NULL with nullptr 2026-02-26 14:03:05 +01:00
Armin Novak
e58819830a [c23] simplify boolean checks 2026-02-26 11:51:05 +01:00
Armin Novak
0531803808 [warnings] make function declaration names consistent
Use the same parameter names for declaration and implementation.
2026-02-26 10:35:25 +01:00
Armin Novak
8016117eb7 [codec,dsp] fix warnings 2026-02-25 10:20:02 +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
f3d23da0ae [codec,nsc] update function docs
* add doxygen for functions
* add support for scanline value 0
2026-02-17 09:15:33 +01:00
Armin Novak
24a23e3028 [codec,nsc] deprecate nsc_decompose_message
this function is just a wrapper around nsc_process_message with some
wStream handling around it. Since proper length checks are missing
deprecate it completely.
2026-02-17 08:32:39 +01:00
Armin Novak
f4d74c33fd [codec,nsc] bounds checks and doxygen
* Improve doxygen for nsc_process_message
* Improve bounds checks for nsc_process_message
2026-02-15 19:32:38 +01:00
akallabeth
7990eec166 [freerdp] mark all WINPR_ATTR_MALLOC also nodiscard 2026-01-26 13:39:39 +01:00
akallabeth
3bc1eeb4f6 [codec,color] add freerdp_glyph_convert_ex
The function freerdp_glyph_convert does not check input buffer length,
deprecate it and provide a replacement that does properly check.
2026-01-16 12:09:26 +01:00
Armin Novak
4aceae4666 [codec,color] Add from string method for PIXEL_FORMAT
* Add FreeRDPGetColorFromatFromName to get a PIXEL_FORMAT from a given
  string.
* Add a unit test to ensure FreeRDPGetColorFromatFromName and
  FreeRDPGetColorFormatName work as expected
2025-09-30 13:17:26 +02:00
akallabeth
74648eb3a9 [c,standard] use C99 inline 2025-09-26 11:29:26 +02:00
akallabeth
632131b266 [deprecate] rename planar_decompress 2025-09-22 19:57:41 +02:00
akallabeth
0bb49c94c9 [restrict] unify restrict keyword usage 2025-03-10 18:48:16 +01:00
akallabeth
9b1c016371 [freerdp,codec] add freerdp_image_fill_ex 2025-03-04 12:42:34 +01:00
akallabeth
e259eee0df [macro] fix use of WINPR_DEPRECATED 2025-02-17 11:15:46 +01:00
oleg0421
7b4a903f66 MS-RDPECAM: VAAPI h264 encoding 2025-01-14 04:32:12 -08: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
stephanebill
4f2afa8c47 spell check with codespell 2024-11-20 16:53:40 -05:00
akallabeth
163aec7e2b [warnings] fix documentation command unknown 2024-09-12 21:21:41 +02:00
akallabeth
afff514ca7 [compiler] add WINPR_ATTR_MALLOC
Add WINPR_ATTR_MALLOC checks to allocating functions to help compilers
find memory leaks or allocation mismatches
2024-09-12 20:09:22 +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
a1a1fc8658 [warnings] fix mismatches between declaration and implementation 2024-09-12 13:32:44 +02:00
akallabeth
7aa80cb751 [documentation] update
* Fix wrong tag @version, replace with @since
* Document some functions
2024-09-12 13:30:03 +02:00
akallabeth
f891bd3646 [docs] add doxygen comments for 3.0 API 2024-09-10 08:31:30 +02:00
oleg0421
bad6cab2e4 RDPECAM client: h264 interface changes 2024-06-10 14:48:31 +02:00
akallabeth
6ad17cac6e [codec,progressive] restrict keyword 2024-06-03 17:55:35 +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
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
b12e512e08 [codec,planar] restrict keyword 2024-06-03 17:54:29 +02:00
akallabeth
4899cf5c0f [codec,yuv] use restrict keyword 2024-06-03 14:50:57 +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
0d68cb4f42 [build,attr] fix WINPR_ATTR_MALLOC
* do not use this attribute if the free function takes pointer to pointer
* audio_format_new must be freed by audio_formats_free
2024-02-12 10:23:27 +01:00
akallabeth
9a51830434 [codec,jpeg] use winpr image for jpeg 2024-02-07 10:04:08 +01:00
akallabeth
bb42d425ed [gcc,clang] add support for attribute(malloc)
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
Pascal Nowack
5a4818b89d codec/audio: Fix order of wave format ids
The wave format ids in this file are sorted by their value in an
ascending order, except for the Opus value. So, fix this inconsistency.
2023-10-19 04:47:53 +02:00
Pascal Nowack
cd69b8ea63 codec/audio: Add missing format id for Opus codec
Id taken from [0].

[0]: https://learn.microsoft.com/en-us/windows/win32/medfound/audio-subtype-guids
2023-10-18 11:51:47 +02:00
akallabeth
a41360e3b0 [codec,rfx] added missing RFX encoder API calls 2023-10-07 21:26:27 +02:00
akallabeth
9a9db5b7f3 [codec,progressive] expose progressive simple
server implementations might require serializing messages to a simple
tile, so expose this function.
2023-09-05 11:40:09 +02:00
akallabeth
b608be19e4 [codec,color] WINPR_RESTRICT for copy operations 2023-08-25 14:13:30 +02:00
Vic Lee
5fffaf6cd2 [codec,rfx] missing palette setting api. 2023-06-27 08:54:54 +02:00
Pascal Nowack
c5278c874f channels/audin: Rework API to be closer to documentation
The current server side channel handling of AUDIO_INPUT is currently
very constrained:

- Server implementations cannot measure the clients uplink, since the
  Incoming Data PDU is currently unhandled and FreeRDPs DSP handling
  delays the callback call of ReceiveSamples
- Servers currently cannot prefer a different protocol version
- Servers currently cannot change the used format

To solve these issues without running into the risk that some
simplifications constraint certain API usage, rework the current channel
handling to be very close to the documentation.
This means, that all documented API calls can be made by server
implementations and all documented PDUs, that the server side is
expected to receive are just parsed inside FreeRDP and then forwarded to
the API implementation.
2023-05-17 13:33:35 +02:00
Alexandru Bagu
a231c09fff fixes for llvm-mingw build 2023-05-04 12:56:16 +02:00
akallabeth
7739815a90 [codec,h264] add getter/setter for h264 options 2023-04-11 10:58:03 +02:00
akallabeth
983c820f16 [codecs] make h264 and planar opaque 2023-04-11 10:58:03 +02:00
Armin Novak
f66110c611 [codec,rfx] refactor API
* Hide implementation details
* Add missing getter/setter
2023-04-05 20:41:42 +02:00
Armin Novak
a86218c761 [codec,rfx] fix numTile update
ensure there are enough tiles allocated before setting
2023-04-05 20:41:42 +02:00