feat(egfx): add send_clearcodec_frame for server-side ClearCodec transmission#1195
Conversation
Add ClearCodec (MS-RDPEGFX 2.2.4.1) codec support across two crates: ironrdp-pdu: Wire-format decode/encode for all ClearCodec layers (residual BGR RLE, bands with V-bar caching, subcodec dispatch including RLEX palette-indexed RLE). Full round-trip test coverage. ironrdp-graphics: ClearCodecDecoder with persistent V-bar and glyph caches. ClearCodecEncoder with residual-only encoding and glyph deduplication for server-side bitmap compression.
…smission Add GraphicsPipelineServer::send_clearcodec_frame() to queue pre-encoded ClearCodec bitmap streams for transmission via WireToSurface1. Follows the same pattern as send_avc420_frame and send_uncompressed_frame with QoE backpressure tracking.
aea5b48 to
16edd05
Compare
#[non_exhaustive] for pre-publish API stability
#1284
|
Closing as superseded by #1175. The 46-line `GraphicsPipelineServer::send_clearcodec_frame()` helper that this PR was opened to add is already present byte-for-byte in #1175 at `crates/ironrdp-egfx/src/server.rs`, alongside the client-side ClearCodec decode dispatch the same #1175 introduces. Both PRs were authored on 2026-04-01 and the helper landed in both copies; this one never got closed after the consolidation. #1175 currently sits on the amended #1174 head (`6e142c37`) with the dimension-cap / overflow / alpha-contract hardening fixes applied from earlier today, plus the RLEX stop_index validation and the glyph-dimension check added during its own review cycle. Nothing in this PR is missing from #1175. No code change to land; just a closure. |
Depends on #1174.
Summary
Add
GraphicsPipelineServer::send_clearcodec_frame()to queue pre-encoded ClearCodec bitmap streams for transmission viaWireToSurface1. Follows the same pattern assend_avc420_frameandsend_uncompressed_framewith QoE backpressure tracking.Changes
1 file, 46 lines in
ironrdp-egfx/src/server.rs.Test plan