11 Commits
Author SHA1 Message Date
dependabot[bot]andGitHub c8c70975dd build(deps): bump the patch group across 2 directories with 10 updates (#939) 2025-08-26 12:45:49 -04:00
dependabot[bot]andGitHub 9ff3cffb59 build(deps): bump the patch group across 2 directories with 6 updates (#914) 2025-08-12 10:27:56 +00:00
Alex YusiukandGitHub 32b0e40eca refactor: add unused_trait_names clippy extra-pedantic lint (#900) 2025-07-31 03:57:09 -04:00
Alex YusiukandGitHub 9a9ab63e1c refactor: add non_zero_suggestions clippy extra-pedantic lint (#895) 2025-07-30 09:11:53 +00:00
Marc-André LureauandBenoît Cortier 87df67fdc7 feat: add QOIZ image codec
Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for
SetSurface command. The PDU data contains the same data as the QOI
codec, with zstd compression.

Some benchmarks showing interesting results (using ironrdp/perfenc)

QOI: 10s user CPU, 96.20% compression
QOIZ: 11s user CPU, 99.76% compression

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-07-24 06:53:10 -04:00
Marc-André LureauandBenoît Cortier 613fd51f26 feat: add QOI image codec
The Quite OK Image format ([1]) losslessly compresses images to a
similar size of PNG, while offering 20x-50x faster encoding and 3x-4x
faster decoding.

Add a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for
SetSurface command. The PDU data contains the QOI header (14 bytes) +
data "chunks" and the end marker (8 bytes).

Some benchmarks showing interesting results (using ironrdp/perfenc)

Bitmap: 74s user CPU, 92.5% compression
RemoteFx (lossy): 201s user CPU, 96.72% compression
QOI: 10s user CPU, 96.20% compression

Note: the "qoicoubeh" crate is my own fork of "qoi-rust" project. The
plan is to switch back to it as soon as the maintainer resume its
activites (https://github.com/aldanor/qoi-rust/issues/14).

[1]: https://qoiformat.org/

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-07-24 06:53:10 -04:00
Marc-André LureauandBenoît Cortier fc604a567b chore(bench): fix could not find time in tokio
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-07-24 06:53:10 -04:00
Benoît CortierandGitHub 48e02441d2 chore: update Rust toolchain to 1.88.0 (#852)
MSRV is also bumped to 1.84.
2025-07-03 07:38:28 +03:00
Benoît CORTIERandBenoît Cortier 9bc382348d style: run formatter for imports 2025-05-27 08:48:51 -04:00
Benoît CortierandGitHub d995265724 chore: ensure internal crates are not published (#785) 2025-05-07 08:42:22 +00:00
Marc-André LureauandBenoît Cortier dd787af5a0 feat(benches): add perfenc
Make some internal APIs publicly visible thanks to "visibility" when
compiling with the "__bench" feature.

("testsuite-core" also learned "__bench", because fast_path.rs is a
shared file)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-29 13:00:07 +02:00