RustDesk/libs
21pages bc6f98bc30 Use CQP rate control for "Best" image quality to improve visual fidelity
When image quality is set to "Best", switch hardware encoders (nvenc/qsv/amf)
  to Constant QP (CQP) mode and VPX to Constrained Quality (CQ) mode, instead
  of the default CBR. This gives the encoder direct quantization control for
  consistently higher image quality at the cost of variable bitrate.

changes:
  - Add unified QP model: piecewise-linear interpolation mapping bitrate ratio
    to QP/qmin/qmax (working range 18-44), shared across all encoder backends
  - Upgrade hwcodec to 0.8.0 with dynamic QP reconfigure support
  - Add ffmpeg patches for nvenc dynamic constQP and amfenc dynamic QP/qmin/qmax
    reconfiguration
  - Replace EncoderApi::bitrate() with rc_state() to expose full rate control
    state (bitrate, qp, qp_min, qp_max, qp_mode)
  - Add rc_changed() to detect rate control mode switch, triggering encoder
    re-creation when user toggles image quality
  - Adapt QoS: in CQP mode, limit QP decrease to 1 step per adjustment period;
    hide target bitrate in quality monitor when not applicable

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-02-28 17:48:10 +08:00
..
clipboard feat: clipboard files, audit (#12730) 2025-08-25 22:29:53 +08:00
enigo fix(install): linux xdo (#14096) 2026-01-21 20:43:15 +08:00
hbb_common@900077a2c2 fix(install): linux xdo (#14096) 2026-01-21 20:43:15 +08:00
libxdo-sys-stub fix(install): linux xdo (#14096) 2026-01-21 20:43:15 +08:00
portable keep-awake-during-incoming-sessions (#14082) 2026-01-21 16:25:57 +08:00
remote_printer Allow non_snake_case identifiers in src/setup/mod.rs for libs/remote_printer. (#13384) 2025-11-02 21:19:13 +08:00
scrap Use CQP rate control for "Best" image quality to improve visual fidelity 2026-02-28 17:48:10 +08:00
virtual_display refact: remove unnecessary printing (#12000) 2025-06-06 14:52:01 +08:00