Commit Graph

66 Commits

Author SHA1 Message Date
c56ad91693 Implement zero-copy 8/10 bit encoding for macOS 2023-10-04 22:36:16 -05:00
bee9215805 Fix loading dummy image in the sync encoding path 2023-10-04 22:36:16 -05:00
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
f838069a0e Use new 'remotegaming' scenario setting for QSV 2023-10-02 19:49:29 -05:00
eeb22a3e54 AMF 'preanalysis' property is now named 'preencode'
See f593dc98bf
2023-10-02 19:49:29 -05:00
da5559bf7a Remove usage of deprecated AVFrame key_frame field 2023-10-02 19:49:29 -05:00
8b40fa6dd5 nvenc: new config page 2023-09-07 18:03:19 -05:00
11ebb47b3e Evaluate log_to_dbg value at encoder init 2023-09-05 22:37:44 -05:00
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
728a9cc66f Treat codec modes as soft requirements 2023-08-26 12:38:24 -05:00
ef2279d627 Allow the display to reject unsupported codecs 2023-08-26 12:38:24 -05:00
9d79018e9d Fix AMF debug logging to be conditional based on configured log level 2023-08-24 18:24:24 -05:00
4f748c5343 Disable libsvtav1 due to showstopping bugs 2023-08-19 18:36:48 -05:00
625214776e Print an error if the encoder doesn't produce an IDR frame on demand 2023-08-19 18:36:48 -05:00
8b05674290 Turn off AMF filler data to match other encoders 2023-08-19 18:36:48 -05:00
69e720b44b Implement AV1 support 2023-08-19 18:36:48 -05:00
68fa43a61c Add standalone NVENC encoder 2023-08-13 07:01:09 -05:00
b1ffa8a6c5 Correct typos in comments 2023-07-08 18:56:27 -05:00
8090fb496b Fix software encoding defaulting to HEVC instead of H.264
Regression introduced by d973e5bbc7
2023-05-28 19:29:07 -05:00
0fa406dbb7 Remove unnecessary moves in return statements 2023-05-11 20:52:44 -05:00
ff046bb707 Fix and enable -Wmissing-braces 2023-05-11 20:52:44 -05:00
8db0ad0cc6 Fix and enable -Wmaybe-uninitialized 2023-05-11 20:52:44 -05:00
f08ba0fd7c Fix missing override specifier on set_frame() 2023-05-11 20:52:44 -05:00
9e23b39634 Add NO_RC_BUF_LIMIT vaapi 2023-05-11 18:59:13 -05:00
4ca6dc6c8e docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
979f7f4e60 docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
10ea67719e Fix crash if capture is stopped before completing startup 2023-05-05 17:42:59 -05:00
bd533dc31b Extend packet header with frame processing latency 2023-05-02 23:41:13 -05:00
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
d33bd00bb4 Fix HEVC mode if the encoder changes 2023-04-16 15:53:02 -05:00
006a6984c3 Use a faster probe for launch-time encoders that weren't available before 2023-04-16 15:53:02 -05:00
d973e5bbc7 Avoid unnecessary encoder probing during startup and launch 2023-04-16 15:53:02 -05:00
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
7b11b48317 Delayed capture buffer trim 2023-04-15 14:37:23 -05:00
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
ae7ae8a870 Raise capture buffer normal size to 2
Temporal measure until dynamic resize is merged.
2023-04-11 18:17:48 -05:00
eed27d3c0a Decrease normal capture buffer to single image 2023-04-11 18:17:48 -05:00
036aa2e470 Free dummy images when they are no longer needed 2023-04-08 15:15:02 -05:00
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
21eb4eb6dd clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
31885434f2 docs: add doxygen (#1004) 2023-03-07 20:26:03 -05:00
55a225d21c AMF: add missing encoder tunables (#902) 2023-02-13 09:23:29 -05:00
592f3a70a3 Display initialization and frame ownership fixes (#850) 2023-01-28 23:15:37 -06:00
8b507d2b30 Fix image leak of hardware parallel encoder on display reinit (#823) 2023-01-26 12:12:49 -05:00
bcd5188ac5 Implement HDR support for Windows (#825) 2023-01-25 19:48:55 -06:00
9181028bcf HDR prep work (#808) 2023-01-23 20:54:08 -06:00
1fbbab9df7 QSV performance optimization and HEVC hang fix (#786) 2023-01-17 18:12:14 -06:00
4fc444b5b3 Intel QuickSync support for Windows (#758) 2023-01-14 16:23:49 -05:00
696a11942c Enforce 10 FPS encoding frame rate floor to improve static image quality (#754) 2023-01-11 11:02:53 -05:00
44ad28ebf4 Fix a reference leak of hw_frames_ctx and prepare for QSV (#736) 2023-01-10 14:52:15 -05:00