Decode to the desired format, instead of converting from BgrX to the
DecodedImage format (typically RgbA) when applying the tile / drawing.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
It's unclear where the RGB_BUFFER was coming from, it's better to use
the one from the spec, like the YCBCR buffers.
Unfortunately, we don't match with the reference data after conversion.
This doesn't seem a big issue in practice.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
In theory, this could help the compiler to unroll loops.. doesn't seem
to be the case though, but it allows to drop the assert_eq!() at least.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Instead of directly depending on the unmaintained rdp-rs to decompress
RLE tiles dynamically, a few snapshots are saved to test against.
The benefit is to remove a lot of outdated dependencies from our
(developement) dependency graph.
FastPath pointer messages handling:
- Add pointer messages handling in `ironrdp-session`, `ironrdp-client` and `ironrdp-web`
- Supported bpp's: 1, 16, 24, 32 (8bpp is not supported yet, palette messages handling
should be added first)
- Alpha blending is supported, and done via software-based compositing
- Inverted cursor pixels are supported (FreeRDP do not support them correctly)
- Large pointers are supported (FreeRDP crashes on them)
- Cursor caching is supported
- Add new CLI argument to enable/disable pointer rendering (--no-server-pointer)
- `session`/`client` refactoring to facilitate multiple types of session output updates besides
framebuffer update (e.g. request to hide/show system pointer on client)
- Minor changes in web client typescript code to hide/show cursor on canvas
Closes#108