1#![cfg_attr(doc, doc = include_str!("../README.md"))]
2#![doc(html_logo_url = "https://cdnweb.devolutions.net/images/projects/devolutions/logos/devolutions-icon-shadow.svg")]
3#![allow(clippy::arithmetic_side_effects)] pub mod color_conversion;
6pub mod diff;
7pub mod dwt;
8pub mod image_processing;
9pub mod pointer;
10pub mod quantization;
11pub mod rdp6;
12pub mod rectangle_processing;
13pub mod rle;
14pub mod rlgr;
15pub mod subband_reconstruction;
16pub mod zgfx;
17
18mod utils;
19
20pub fn rfx_encode_component(
24 input: &mut [i16],
25 output: &mut [u8],
26 quant: &ironrdp_pdu::codecs::rfx::Quant,
27 mode: ironrdp_pdu::codecs::rfx::EntropyAlgorithm,
28) -> Result<usize, rlgr::RlgrError> {
29 assert_eq!(input.len(), 64 * 64);
30
31 let mut temp = [0; 64 * 64]; dwt::encode(input, temp.as_mut_slice());
34 quantization::encode(input, quant);
35 subband_reconstruction::encode(&mut input[4032..]);
36 rlgr::encode(mode, input, output)
37}