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
ns6089
8b40fa6dd5
nvenc: new config page
2023-09-07 18:03:19 -05:00
Cameron Gutman
11ebb47b3e
Evaluate log_to_dbg value at encoder init
2023-09-05 22:37:44 -05:00
Cameron Gutman
24e7bd20fd
Allow displays to avoid probing HEVC or AV1 codecs even when H.264 is supported
...
This is the case for AMF which requires certain versions for HEVC Main10 and AV1 support.
2023-08-26 12:38:24 -05:00
Cameron Gutman
728a9cc66f
Treat codec modes as soft requirements
2023-08-26 12:38:24 -05:00
Cameron Gutman
ef2279d627
Allow the display to reject unsupported codecs
2023-08-26 12:38:24 -05:00
Cameron Gutman
9d79018e9d
Fix AMF debug logging to be conditional based on configured log level
2023-08-24 18:24:24 -05:00
Cameron Gutman
4f748c5343
Disable libsvtav1 due to showstopping bugs
2023-08-19 18:36:48 -05:00
Cameron Gutman
625214776e
Print an error if the encoder doesn't produce an IDR frame on demand
2023-08-19 18:36:48 -05:00
Cameron Gutman
8b05674290
Turn off AMF filler data to match other encoders
2023-08-19 18:36:48 -05:00
Cameron Gutman
69e720b44b
Implement AV1 support
2023-08-19 18:36:48 -05:00
ns6089
68fa43a61c
Add standalone NVENC encoder
2023-08-13 07:01:09 -05:00
Casey Korver
b1ffa8a6c5
Correct typos in comments
2023-07-08 18:56:27 -05:00
Cameron Gutman
8090fb496b
Fix software encoding defaulting to HEVC instead of H.264
...
Regression introduced by d973e5bbc7
2023-05-28 19:29:07 -05:00
Cameron Gutman
0fa406dbb7
Remove unnecessary moves in return statements
2023-05-11 20:52:44 -05:00
Cameron Gutman
ff046bb707
Fix and enable -Wmissing-braces
2023-05-11 20:52:44 -05:00
Cameron Gutman
8db0ad0cc6
Fix and enable -Wmaybe-uninitialized
2023-05-11 20:52:44 -05:00
Cameron Gutman
f08ba0fd7c
Fix missing override specifier on set_frame()
2023-05-11 20:52:44 -05:00
istori1
9e23b39634
Add NO_RC_BUF_LIMIT vaapi
2023-05-11 18:59:13 -05:00
ReenigneArcher
4ca6dc6c8e
docs: update file level doxygen blocks ( #1258 )
2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60
docs: improvements to source code documentation ( #1236 )
2023-05-07 15:01:44 -04:00
Cameron Gutman
10ea67719e
Fix crash if capture is stopped before completing startup
2023-05-05 17:42:59 -05:00
ns6089
bd533dc31b
Extend packet header with frame processing latency
2023-05-02 23:41:13 -05:00
Cameron Gutman
18ab7dcf6c
Remove 3-byte NALU prefix fixup
...
The bug in Moonlight that required it has been fixed since the middle of last year.
2023-04-28 22:20:09 -05:00
Cameron Gutman
d33bd00bb4
Fix HEVC mode if the encoder changes
2023-04-16 15:53:02 -05:00
Cameron Gutman
006a6984c3
Use a faster probe for launch-time encoders that weren't available before
2023-04-16 15:53:02 -05:00
Cameron Gutman
d973e5bbc7
Avoid unnecessary encoder probing during startup and launch
2023-04-16 15:53:02 -05:00
Cameron Gutman
8f74c3b482
Leave reference frames unspecified if REF_FRAMES_RESTRICT is not supported
...
FFmpeg codecs specify their own defaults that we shouldn't override.
2023-04-16 15:53:02 -05:00
ns6089
7b11b48317
Delayed capture buffer trim
2023-04-15 14:37:23 -05:00
Cameron Gutman
6467e10def
Reprobe encoders each time streaming begins
...
Available encoders can change due to driver updates, GPU hotplugging, primary monitor changes, etc.
2023-04-11 20:21:18 -05:00
ns6089
ae7ae8a870
Raise capture buffer normal size to 2
...
Temporal measure until dynamic resize is merged.
2023-04-11 18:17:48 -05:00
ns6089
eed27d3c0a
Decrease normal capture buffer to single image
2023-04-11 18:17:48 -05:00
Cameron Gutman
036aa2e470
Free dummy images when they are no longer needed
2023-04-08 15:15:02 -05:00
Cameron Gutman
bd443395c6
Don't test HDR encoding with H.264
...
It doesn't work on any GPU, and even if it did, Moonlight doesn't support it.
2023-04-06 22:37:05 -05:00
ReenigneArcher
21eb4eb6dd
clang: adjust formatting rules ( #1015 )
2023-03-27 21:45:29 -04:00
ReenigneArcher
31885434f2
docs: add doxygen ( #1004 )
2023-03-07 20:26:03 -05:00
Conn O'Griofa
55a225d21c
AMF: add missing encoder tunables ( #902 )
2023-02-13 09:23:29 -05:00
Cameron Gutman
592f3a70a3
Display initialization and frame ownership fixes ( #850 )
2023-01-28 23:15:37 -06:00
Conn O'Griofa
8b507d2b30
Fix image leak of hardware parallel encoder on display reinit ( #823 )
2023-01-26 12:12:49 -05:00
Cameron Gutman
bcd5188ac5
Implement HDR support for Windows ( #825 )
2023-01-25 19:48:55 -06:00
Cameron Gutman
9181028bcf
HDR prep work ( #808 )
2023-01-23 20:54:08 -06:00
Cameron Gutman
1fbbab9df7
QSV performance optimization and HEVC hang fix ( #786 )
2023-01-17 18:12:14 -06:00
Cameron Gutman
4fc444b5b3
Intel QuickSync support for Windows ( #758 )
2023-01-14 16:23:49 -05:00