Commit Graph

65 Commits

Author SHA1 Message Date
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
Cameron Gutman
696a11942c
Enforce 10 FPS encoding frame rate floor to improve static image quality (#754) 2023-01-11 11:02:53 -05:00
Cameron Gutman
44ad28ebf4
Fix a reference leak of hw_frames_ctx and prepare for QSV (#736) 2023-01-10 14:52:15 -05:00
Cameron Gutman
6607062648
Fix divisor for YUV range (#728) 2023-01-08 09:04:07 -05:00