Commit Graph

1445 Commits

Author SHA1 Message Date
Armin Novak
f5e20403d6 [codec,color] fix input length checks
* check cbBitsMask meets expected length
* Add logging for length failures
2026-02-13 19:39:21 +01:00
Armin Novak
af6e0e6241 [codec,test] replace fscanf in unit test 2026-02-10 16:38:19 +01:00
Armin Novak
39e33d9e9d [utils,helpers] add application details getter/setter
* Allow an application to set a vendor/product/version namespace to search
  for configuration files/settings/...
* Replace all FREERDP_VENDOR_STRING and similar macros with these
  getters.
2026-01-29 22:47:45 +01:00
akallabeth
7990eec166 [freerdp] mark all WINPR_ATTR_MALLOC also nodiscard 2026-01-26 13:39:39 +01:00
akallabeth
84d3d99338 [clang-tidy] clean up code warnings 2026-01-19 13:05:26 +01:00
akallabeth
fb8efd45f2 [c,format] fix format string and review warnings 2026-01-16 13:36:14 +01:00
akallabeth
93952b87c3 [warnings,format] fix format string warnings 2026-01-16 13:22:45 +01:00
akallabeth
90f62bd353 Merge pull request #12150 from akallabeth/wlog-printf
Wlog printf format string checks
2026-01-16 13:01:55 +01:00
akallabeth
243ecf804b [codec,clear] check clear_decomress glyphData
Check destination coordinates and lengths against the actual sizes. Log
every truncation accordingly
2026-01-16 12:22:46 +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
akallabeth
e7b3365078 [c,printf] fix wlog format string to match arguments 2026-01-16 11:41:00 +01:00
akallabeth
b7b4af9d29 [c,printf] fix wlog format string to match arguments 2026-01-16 11:40:57 +01:00
akallabeth
0925a105f7 [c,printf] fix wlog format string to match arguments 2026-01-16 11:40:55 +01:00
akallabeth
56adce5914 [c,printf] fix wlog format string to match arguments 2026-01-16 11:40:52 +01:00
akallabeth
1bab198a2e [codec,planar] fix decoder length checks 2026-01-15 13:45:34 +01:00
akallabeth
f8688b57f6 [codec,clear] fix off by one length check 2026-01-15 13:45:32 +01:00
akallabeth
25102b432f [codec,clear] fix missing length checks 2026-01-15 13:45:29 +01:00
akallabeth
c4391827d7 [codec,clear] fix clear_resize_buffer checks 2026-01-15 13:45:27 +01:00
akallabeth
1a7a4c508c [codec,progressive] fix progressive_rfx_upgrade_block
do not shift negative values, apply sign after shift.
2026-01-14 19:25:46 +01:00
Armin Novak
9b29f73392 [codec,yuv] fix Wimplicit-int-enum-cast warnings 2026-01-14 10:40:16 +01:00
Armin Novak
b1cbaaa9fb [codec,dsp] fix Wimplicit-int-enum-cast warnings 2026-01-14 10:38:41 +01:00
akallabeth
0f7e40c1e5 [codec,dsp] fix sign warnings 2026-01-09 09:38:05 +01:00
akallabeth
5d781b1fce [codec,h264] fix return types and range checks
* use proper enum return values for ffmpeg related functions
* add value range checks for H264_CONTEXT_OPTION_RATECONTROL
* fix various return values
2026-01-09 09:24:41 +01:00
Armin Novak
3a250af8f5 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:36 +01:00
Armin Novak
32e831506b [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:36 +01:00
Armin Novak
465b5e3ac8 [codec,nsc] split nsc_encode_next_rgba
Split function into smaller subfunctions handling one color format each.
2026-01-08 11:07:39 +01:00
Armin Novak
fe21afb9ae [codec,xcrush] fix div/0 warning 2026-01-07 15:59:38 +01:00
akallabeth
48475aba72 [codec,ffmpeg] 8.0 dropped AV_PROFILE_AAC_MAIN
replace with AV_PROFILE_AAC_LOW which is supported by all aac
encoders/decoders
2025-11-18 21:07:27 +01:00
eduar-hte
387fa0201a [codec,yuv] Align width and height for AVC444 decoding to 32
- Windows seems to be aligning to 32 in current versions of RDP, which
  can be noticed in non-standard resolutions (that are not multiple of
  32 after aligning to 16).
- 16-byte alignment was initially introduced in commit 8adc2ba
2025-10-14 20:01:17 +00:00
akallabeth
eae2e03adf [codec,ffmpeg] fix missing const argument 2025-10-06 08:43:15 +02:00
Frieder Hannenheim
137268b8d7 dsp_ffmpeg: fix latency buildup during resampling 2025-10-02 15:12:01 +02:00
Armin Novak
8735c50e2f [codec,interleaved] add some unit tests
* Create a unit test framework to allow compaing some input data to
  expected output data
* Add a couple of test cases for encoder and decoder
* Add expected output data (of current implementation) to detect changes
  in later iterations
2025-09-30 14:09:15 +02:00
Armin Novak
5fed3f4cfc [codec,bitmap] fix sign of buffer
* Use a uint8_t buffer to avoid issues with casting to/from signed
* Refactor bitmap codec
2025-09-30 14:07:24 +02: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
3ac6c06e17 [codec,planar] fix datatypes in plane encode
do not assume char is signed, use int8_t instead.
2025-09-22 19:57:51 +02:00
akallabeth
e423476e95 [codec,planar] more test log messages 2025-09-22 19:57:48 +02:00
akallabeth
632131b266 [deprecate] rename planar_decompress 2025-09-22 19:57:41 +02:00
akallabeth
3be0fe6c2a [codec,planar] more test output 2025-09-22 10:15:58 +02:00
akallabeth
757d7f819d [codec,planar] make test output verbose
make it easier to find out which test case failed.
2025-09-22 09:14:54 +02:00
akallabeth
37dabce9cc [codec,planar] unit test compare encoded data
keep a reference encoding of a given sample and compare the encoder
output to it. Not perfect but will fail whenever the encoder output
changes.
2025-09-12 19:53:05 +02:00
akallabeth
16be427cd3 [codec,planar] fix encoder regression 2025-09-12 19:32:31 +02:00
akallabeth
8b9335aa90 [CMake,libfreerdp] add pkg-config dependencies 2025-09-11 07:17:42 +02:00
Armin Novak
6851b48b28 [codec,yuv] wrap step calculation 2025-09-04 14:50:42 +02:00
Armin Novak
00968fd6e6 [codec] use default threadpool 2025-09-03 16:22:41 +02:00
akallabeth
65f18983ed [warnings] Fix format string errors
* Fix casts of format string arguments (%p requires void*)
* Fix format string to match type of arguments
2025-08-13 15:09:48 +02:00
akallabeth
c3e507a82e [winpr,wlog] Replace WLog_PrintMessage calls
Prefer WLog_PrintTextMessage to have proper format string checks in
place.
2025-08-13 15:08:01 +02:00
akallabeth
6284bba9f0 [clang-tidy] fix various warnings
* silence tidy warnings for public API symbols (we can't fix these for
  compatibility reasons)
* fix issues with casting
2025-08-11 14:11:40 +02:00
Phil Vachon
774ee652a9 Fix YUV conversion for systems with lots of CPUs
The YUV CODEC test case exposed a bug where, for an image with a height
less than the number of CPUs in a system, the block size in lines would
end up being zero. This resulted in a divide by zero when parcelling up
workloads for the thread pool.
2025-08-01 16:20:52 -04:00
akallabeth
e049be9837 [codec] log primitives used 2025-06-13 13:52:28 +02:00