Commit Graph

45 Commits

Author SHA1 Message Date
Jonathan Gilbert a903f710ea Eliminate build warnings from the Scrap crate (#13383)
* Updated build.rs to tell RustC that dxgi, quartz and x11 are expected configurations.
Added lifetime annotations to various methods in common/aom.rs and common/vpxcodec.rs.
Updated common/vpx.rs to allow unused_imports in the generated bindings.
Updated dxgi/mag.rs to allow non_snake_case identifiers like "dwFilterMode".

* Added lifetime annotations to methods in common/hwcodec.rs and common/vram.rs.

* Switched syntax for the rustc-check-cfg directive emitted by build.rs in the scrap crate to use syntax compatible with Rust toolchain version 1.75. The double-colon syntax requires 1.77 or newer, but the older single-colon syntax works fine on newer versions for this directive.

* Update libs/scrap/build.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert apparently-erroneous AI suggestion. It's usually pretty good, but not always right it seems. :-)

This reverts commit bf862b13f6f97347249918aa5b1836d70f66483c.

* Removed redundant configuration directives from libs/scrap/build.rs.

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-04 10:19:13 +08:00
21pages 5fa8c25e65 opt qos (#10459)
* Adjust bitrate and fps based on TestDelay messages.
* Bitrate is adjusted every 3 seconds, fps is adjusted every second and when receiving test lag.
* Latency optimized at high resolutions. However, when the network is poor, the delay when just connecting or sliding static pages is still obvious.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-01-20 17:59:36 +08:00
21pages f559e9c74a disable hardware encoding if encoding fails too many times (#8327)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-12 23:37:51 +08:00
21pages 036d10cfbe android: for software encoding and screen size > 1200, display size reduced to half (#8167)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-28 12:43:13 +08:00
21pages a7499c2de8 add ffmpeg mediacodec h264/h265 encode (#8028)
* Check available when app start from kotlin via get codec info
* For latency free, repeat encode 10 frame at most when capture return WouldBlock
* For changing quality, kotlin support but jni doesn't support, rerun video service when quality is manualy
  changed
* 3 or 6 times bitrate for mediacodec because its quality is poor

Signed-off-by: 21pages <pages21@163.com>
2024-05-13 12:39:04 +08:00
21pages 98df2b111e hwcodec uses one repository (#7701)
* update hwcodec, gpucodec repo is merged to hwcodec

Signed-off-by: 21pages <pages21@163.com>

* rename gpucodec.rs to vram.rs

Signed-off-by: 21pages <pages21@163.com>

* rename all gpucodec to vram, because vram is a feature of hwcodec

Signed-off-by: 21pages <pages21@163.com>

* use one check process and one config file

* set check encode image size to 720p

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-12 17:26:24 +08:00
21pages 89150317e1 add zero copy mode hareware codec for windows (#6778)
Signed-off-by: 21pages <pages21@163.com>
2024-01-02 16:58:10 +08:00
RustDesk ebb14af488 Revert "use fullrange by default for yuv420p if supported (#6655)" (#6656)
This reverts commit 80afa98d66.
2023-12-11 22:46:32 +08:00
21pages 80afa98d66 use fullrange by default for yuv420p if supported (#6655)
1. Explicitly specify the color space as bt601
2. Use fullrange by default for yuv420p if supported
3. Use the pix_fmt space range format to identify codec capabilities, make i444 proto field deprecated, and cause the non-release version of 444 true color to fail.

Signed-off-by: 21pages <pages21@163.com>
2023-12-11 22:31:01 +08:00
21pages 9847fc5c77 fix exceeding max allowed thread count, thread count <= available memory / 2
Signed-off-by: 21pages <pages21@163.com>
2023-11-19 11:36:23 +08:00
21pages 534bfad50f opt codec
1. use src width/height to convert yuv
2. align dst yuv to avoid illegal memory access
3. init yuvfmt when new codec
4. move remote reset calls from empty conns judge to emtpy remote conns
   judge

Signed-off-by: 21pages <pages21@163.com>
2023-11-03 11:52:41 +08:00
21pages f05f86dc80 444
Signed-off-by: 21pages <pages21@163.com>
2023-10-30 18:46:56 +08:00
dignow 013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
21pages 9905695699 enable keyframe interval when recording
Signed-off-by: 21pages <pages21@163.com>
2023-08-07 21:32:36 +08:00
21pages 029e6a015e minisize vpx/aom q_min for bitrate 200%
Signed-off-by: 21pages <pages21@163.com>
2023-07-27 18:29:46 +08:00
21pages 31b3c5d721 codec thread count depending on cpu condition
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 20:00:52 +08:00
21pages 2133f91089 codec set quality seperately and refactor network delay
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 19:54:42 +08:00
21pages 633c80d5e4 Revert "vpx use webrtc parameter"
This reverts commit d23fd902d7.
2023-07-23 19:54:42 +08:00
21pages 22ca7177a6 Revert "fix ci"
This reverts commit a0e09d3e33.
2023-07-23 19:54:42 +08:00
21pages a0e09d3e33 fix ci
Signed-off-by: 21pages <pages21@163.com>
2023-05-23 10:41:56 +08:00
21pages d23fd902d7 vpx use webrtc parameter
Signed-off-by: 21pages <pages21@163.com>
2023-05-23 09:42:36 +08:00
21pages 1ae2ebaa8c allow set config err for android
Signed-off-by: 21pages <pages21@163.com>
2023-05-21 17:28:43 +08:00
21pages a11dee30ae merge vpx/aom code
Signed-off-by: 21pages <pages21@163.com>
2023-05-21 16:29:52 +08:00
fufesou fc50a3e49d set fmt and stride to private in ImageRgb
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-28 12:35:46 +08:00
fufesou 6b1645f44d set width,height,stride together with the rgba data for rendering
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-28 11:44:52 +08:00
21pages c842650c11 vp8
Signed-off-by: 21pages <pages21@163.com>
2023-04-03 12:22:36 +08:00
RustDesk 83b7518897 Revert "vp8" 2023-04-01 10:13:39 +08:00
21pages 78748271ac vp8
Signed-off-by: 21pages <pages21@163.com>
2023-03-31 22:32:34 +08:00
rustdesk b763ec3080 revert #560 for #3748 2023-03-23 14:31:50 +08:00
rustdesk 876fb26a67 fix #3424 2023-03-03 15:34:57 +08:00
RustDesk 29abda56df Revert "Fix/macos texture stride align" 2023-03-03 13:18:34 +08:00
fufesou c419819c0f rename all stride_align to stride
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-03-03 10:58:48 +08:00
fufesou 5aa97faedd Fix stride align
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-03-03 10:01:58 +08:00
fufesou 77c4a14845 flutter texture render, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-02-23 17:06:51 +08:00
21pages 8e1545b432 portable service
Signed-off-by: 21pages <pages21@163.com>
2022-11-15 17:05:10 +08:00
21pages 42d17f9d2b fix audio no sound, add missing VideoFrame timestamp
move get_time to hbb_common

Signed-off-by: 21pages <pages21@163.com>
2022-09-13 09:10:04 +08:00
tom efa6b5972d update bytes(protobuf types) mapping, from Vec<u8> to bytes:Byte
issues:958
2022-07-16 00:45:23 +08:00
21pages ce89e7fd8c Merge branch 'hwcodec' into hwcodec 2022-07-06 10:39:00 +08:00
csf 5bd08bf0a7 client side handle codec format 2022-07-05 22:17:34 +08:00
21pages 76e1ca91df unify the protobuf message of vp9/h264/h265
Signed-off-by: 21pages <pages21@163.com>
2022-07-05 16:16:08 +08:00
csf 5a7dca72c8 fix custom_image_qulity and android 2022-06-30 20:48:29 +08:00
csf eaaeefd90b sync codec format 2022-06-30 00:03:17 +08:00
csf 085356c0b3 Merge branch 'abr' into hwcodec 2022-06-27 15:21:31 +08:00
21pages 399ddc8bef scrap: rename coder.rs to codec.rs
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00
21pages 6677fc9b30 scrap: rename codec.rs to vpxcodec.rs
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00