Commit Graph

122 Commits

Author SHA1 Message Date
Yukino Song
3ae4c8810c Even better frame pacing 2025-03-03 00:44:09 +08:00
Yukino Song
ad9c534ecf Frame limiter v2 - better frame pacing 2025-02-28 23:57:08 +08:00
Yukino Song
93028a823a Merge remote-tracking branch 'sunshine/master' 2025-02-15 04:32:32 +08:00
Utkarsh Dalal
ffccc1af9b fix: add missing strings for max_bitrate setting, and improved logging for bitrate (#3656) 2025-02-11 09:11:12 -05:00
Utkarsh Dalal
3a88ddc639 feat: Add Max Bitrate option (#3628) 2025-02-09 15:00:29 -05:00
Yukino Song
137845f8e5 Use Sunshine encoder hang workaround 2025-02-07 21:31:29 +08:00
Yukino Song
72ffbc0509 Merge remote-tracking branch 'sunshine/master' 2025-02-07 21:25:35 +08:00
Cameron Gutman
265a00793c feat(nvenc): implement async encode and hang recovery (#3629)
* feat(nvenc): implement async encode

* fix(video): allow NVENC to complete teardown asynchronously
2025-02-06 22:22:00 -06:00
Yukino Song
fd059e36f0 Merge remote-tracking branch 'origin/master' 2025-02-06 09:14:18 +08:00
Yukino Song
23dd06b344 Implement input only mode w/ double framerate for virtual display 2025-02-05 06:54:30 +08:00
Yukino Song
6d8d063454 Terminate early when hang in encoder is detected 2025-02-03 03:28:52 +08:00
Lukas Senionis
23e131439f fix(video): allow encoder probing when there are no devices at all (#3594) 2025-01-27 12:19:47 -05:00
Lukas Senionis
0631472533 fix(video): prevent encoder probing with no active displays (#3592) 2025-01-26 18:21:15 -05:00
Yukino Song
791b25400a Fix output_name not working 2025-01-20 20:13:28 +08:00
ReenigneArcher
c2420427b1 style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
Yukino Song
d19906b7a5 Actually follow user's choice for broadcasting encoder support when first connecting with headless mode 2025-01-02 03:55:23 +08:00
Yukino Song
2619132570 Merge remote-tracking branch 'origin/master' 2024-12-14 19:02:11 +08:00
Lukas Senionis
1543f584ab feat(display)!: Add libdisplaydevice dependency and output name mapping (#2894) 2024-12-11 14:17:44 -05:00
Yukino Song
021f6a635b Merge remote-tracking branch 'origin/master' 2024-12-02 02:11:15 +08:00
Cameron Gutman
9e52ac426d feat(vaapi): add option to enable strict enforcement of frame size (#3332)
* feat(vaapi): add option to enable strict enforcement of frame size

* Eliminate the QP fallback code that was only required for VAAPI
2024-11-01 12:36:25 -05:00
Yukino Song
46bd39623f Merge remote-tracking branch 'origin/master' 2024-10-30 22:08:40 +08:00
Cameron Gutman
79ada18b49 fix(nvenc): disable filler data in AV1 bitstream (#3336) 2024-10-28 23:54:50 -05:00
Yukino Song
4350d8e43d Merge remote-tracking branch 'origin/master' 2024-10-26 21:04:50 +08:00
Cameron Gutman
bd2e1dc8c0 fix(video): encode at least one frame before capture reinit (#3300) 2024-10-14 20:34:22 -05:00
Yukino Song
e8862ad77b Merge remote-tracking branch 'origin/master' 2024-10-09 02:24:15 +08:00
Cameron Gutman
011a872c88 build(deps): update to FFmpeg 7.1 (#3263) 2024-10-06 19:15:53 -05:00
Yukino Song
19630a9cb5 Pin current display when monitors are added/removed 2024-08-24 16:40:19 +08:00
Yukino Song
0f6d9ba66e Merge remote-tracking branch 'origin/master' into vdisplay 2024-08-20 19:27:45 +08:00
ns6089
170f4dd181 fix(win/qsv): skip unsupported 4:4:4 codecs (#3029) 2024-08-19 08:30:13 -04:00
ns6089
25919a9a89 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-17 01:52:36 +08:00
ns6089
bfdfcebc80 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-16 13:41:27 -04:00
Yukino Song
8b746ab570 Merge remote-tracking branch 'origin/master' 2024-08-10 00:21:20 +08:00
ns6089
b6b8e681cb fix: print encoder name to info log during creation (#2965) 2024-08-08 16:09:51 -04:00
Yukino Song
a8e1ecde6e Capture the last used display when restoring a stream 2024-07-30 23:51:03 +08:00
Cameron Gutman
38c13c8fe1 Fix rate control for AMD cards using VAAPI (#2821) 2024-07-08 15:05:35 +00:00
ReenigneArcher
1dd4b68e1c docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
ReenigneArcher
722e5600c6 feat: add min_fps_target setting (#1043) 2024-06-19 00:09:23 +00:00
Vithorio Polten
ff54ab2852 fix(macos): fix broken streaming on MacOS (#2485) 2024-05-14 14:14:40 -04:00
Gilles Schintgen
0a595dc7d2 fix(linux): add frame processing latency and logging improvements (#2502) 2024-05-12 18:55:43 -04:00
Conn O'Griofa
ae71a6ad83 AMF: rate control improvements (#2251) 2024-03-29 21:07:24 -04:00
ReenigneArcher
7534fa1023 refactor(video): move encoder declarations to header (#2185) 2024-03-16 09:04:29 -04:00
Cameron Gutman
e430f51e2f Add friendly message when encoder detection fails 2024-02-29 18:35:30 -06:00
Cameron Gutman
4252f5df7c Add option to allow HEVC usage on older Intel GPUs without low-power encoding 2024-02-29 18:35:30 -06:00
ReenigneArcher
8689469ea8 refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
ReenigneArcher
0aa4f06c39 refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
Cameron Gutman
8373a8b947 Avoid recreating the display when no display parameters have changed 2024-02-06 20:00:24 -06:00
Cameron Gutman
aee88f336a Don't fall back to undefined ref frame count on HEVC/AV1 if H.264 succeded with ref frame count specified
I don't think there are any encoders out there that support this for some codecs and not others.
2024-02-06 20:00:24 -06:00
Cameron Gutman
38d45b39ae Don't populate QP rate control fallbacks for encoders guaranteed to support CBR/VBR
It just needlessly slows down encoder probing when the encoder or codec is not supported.
2024-02-06 20:00:24 -06:00
Cameron Gutman
ff8c8ce3ab Skip encoder reprobing if no GPU changes have occurred 2024-02-06 20:00:24 -06:00
Cameron Gutman
3b11bc86b0 Rewrite software scaling to use new multi-threaded swscale API 2024-01-27 21:32:29 -06:00