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
Yukino Song
791b25400a
Fix output_name not working
2025-01-20 20:13:28 +08: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
ns6089
fe886632dc
Add new nvenc options to legacy ffmpeg path
2024-01-20 18:28:09 -06:00
Cameron Gutman
8a86678d62
Reenumerate displays when the display is reinitialized or switched
2024-01-18 19:14:45 -06:00
Cameron Gutman
545af98459
Add a fallback to retry codec init with more lenient config options
...
This allows use of low_power=1 for VAAPI to allow more performant
encoding on capable Intel hardware (like we do for QSV).
This also provides a low_power=0 fallback for QSV to allow use
on old/low-end Intel GPUs that don't support low power encoding.
Finally, this also implements a fallback to deal with the AMD
driver regression on pre-RDNA cards that causes H.264 encoding
to fail with AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY.
2024-01-12 19:50:34 -06:00
Cameron Gutman
a9b459cdb1
Use P010 instead of YUV420P10 for 10-bit VAAPI encoding
2024-01-03 16:14:18 -06:00
Cameron Gutman
fe1832cda1
Revert "Use new 'remotegaming' scenario setting for QSV"
...
This causes Kaby Lake iGPUs to generate H.264 bitstreams with multiple
PPS NALUs which lead to some issues in current versions of Moonlight on
iOS and Android platforms.
This option also seems to override our max_dec_frame_buffering option
so it may increase latency on some Android devices too.
This reverts commit f838069a0e .
2023-10-14 01:49:47 -05:00
Cameron Gutman
dcb719ee5f
Set prio_speed=1 on VideoToolbox encoder
...
This can massively improve encoding performance. See b67572c7c7
2023-10-04 22:36:16 -05:00
Cameron Gutman
c56ad91693
Implement zero-copy 8/10 bit encoding for macOS
2023-10-04 22:36:16 -05:00
Cameron Gutman
bee9215805
Fix loading dummy image in the sync encoding path
2023-10-04 22:36:16 -05:00
Cameron Gutman
3246428b7d
Populate color properties on the AVFrame
...
VideoToolbox reads them from the AVFrame instead of the AVCodecContext.
2023-10-04 22:36:16 -05:00
Cameron Gutman
f838069a0e
Use new 'remotegaming' scenario setting for QSV
2023-10-02 19:49:29 -05:00
Cameron Gutman
eeb22a3e54
AMF 'preanalysis' property is now named 'preencode'
...
See f593dc98bf
2023-10-02 19:49:29 -05:00
Cameron Gutman
da5559bf7a
Remove usage of deprecated AVFrame key_frame field
2023-10-02 19:49:29 -05:00