Commit Graph

61 Commits

Author SHA1 Message Date
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
Cameron Gutman 77d3a7e2ab Color conversion fixes and BT.2020 support (#723) 2023-01-07 22:28:47 -05:00
Cameron Gutman 5980e520b9 Improve robustness of encoder selection (#710) 2023-01-05 12:28:40 -05:00
Cameron Gutman 00aa23b342 Fix hang on stream termination if no frames can be captured (#709) 2023-01-05 11:21:38 -05:00
Cameron Gutman c72aeef67b Only increase rc_buffer_size when software encoding with more than one slice (#692) 2023-01-04 11:50:36 -05:00