Commit Graph

320 Commits

Author SHA1 Message Date
ns6089
7f2b96b3e0 Refactor shaders 2023-10-05 23:06:40 -05:00
ns6089
2086cad96e Support #include in dx shader compiler 2023-10-05 23:06:40 -05:00
Cameron Gutman
a29978d3de Don't start the session monitor window when launched in command mode 2023-10-05 21:50:48 -05:00
Cameron Gutman
a08e2b3de6 Add comments clarifying AVBufferRef usage and ownership 2023-10-04 22:36:16 -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
e535706a09 Fix CVPixelBuffer/CMSampleBuffer ownership issues 2023-10-04 22:36:16 -05:00
Cameron Gutman
ca041f2934 Use AVVideoScalingModeResizeAspect instead of abusing extended pixels
This not only eliminates the hand-rolled aspect ratio correction (which didn't actually handle scaling),
but it also avoids us having to write to the GPU frames to add padding which improves performance.
2023-10-04 22:36:16 -05:00
Cameron Gutman
a29d2e11ea Fix only capturing a single frame on 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
ed95b50f7a Automatically treat launcher-type apps as detached 2023-10-04 17:59:36 -05:00
Elia Zammuto
cfd78b5ce7
Fix shutdown when called from tray callback (#1691) 2023-10-04 11:25:38 -04: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
Cameron Gutman
3e477647ff Use a render node to create our VADisplay
Since libva 2.20, vaInitialize() will fail if we pass a primary node and
lack permission to authenticate. Since we don't actually need to have a
primary node fd to encode, let's use a render node instead.
2023-10-02 17:33:17 -05:00
Cameron Gutman
1303defb67 Fix crash during UDP segmentation due to stack garbage
CMSG_NXTHDR() tries to read the _next_ message to check if it fits in
the provided control buffer length. If that part of the stack has some
large value stored in the uninitialized cmsg_len there, CMSG_NXTHDR()
will return NULL and we will crash.
2023-10-02 00:13:47 -05:00
ReenigneArcher
f76879eb0d
feat(ui): add port mapping table (#1681) 2023-09-30 13:52:56 -04:00
Arthur Kasimov
17a320bfa5
Install icons to hicolor theme on Linux (#1669) 2023-09-23 23:20:46 -04:00
Chase Payne
376bb76409
Fix Command Failure on cold starts with Desktop (#1652) 2023-09-18 10:29:34 -04:00
Chase Payne
e3bd932ff6
Allow Desktop Streams if Prep Commands fail due to user not being logged in (#1207) 2023-09-17 15:36:04 -04:00
Elia Zammuto
dc967ccc7b
Event Ballons and Tray Icon improvements (#1561)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-15 20:48:51 -04:00
ns6089
e98d7577bb
Support capturing rotated displays on Windows (#1602) 2023-09-13 10:34:26 -04:00
ns6089
646a569210 nvenc: add option to disable realtime hags 2023-09-07 18:03:19 -05:00
ns6089
cadb45ec3d msvc: misplaced calling convention 2023-09-07 18:03:19 -05:00
ns6089
dfd6eaefcb Don't use rounded refresh rate in info log 2023-09-07 18:03:19 -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
ns6089
dad7bb41d9 nvenc: rename format setters that don't do av1 2023-09-05 21:32:37 -05:00
ns6089
4094fef67a Bind constant buffers where you define them
And remove possible slot collisions.
2023-09-05 21:32:37 -05:00
ns6089
f2ed4bece9 nvenc: add chroma potition flag to vui 2023-09-05 21:32:37 -05:00
Cameron Gutman
9543bc77d8 Fix pen tilt angle calculation 2023-09-02 11:12:59 -05:00
Cameron Gutman
f1452d25ad Implement UPnP IPv6 firewall control 2023-08-27 18:12:02 -05:00
Cameron Gutman
95c573e767 Switch to using Boost classes for IPv4/IPv6 ranges 2023-08-27 18:12:02 -05:00
Cameron Gutman
62a5cd959a Implement IPv6 support 2023-08-27 18:12:02 -05:00
ns6089
7662fe8616 Don't accumulate errors in capture frame pacing 2023-08-27 13:13:43 -05:00
ns6089
b494d06f89 Adjust capture rate to better match display 2023-08-27 13:13:43 -05:00
ns6089
6683ea2ac1 Rework capture sleeps for better frame stability 2023-08-27 13:13:43 -05:00
ns6089
42a77b247e Release duplication frame after snapshot 2023-08-27 13:13:43 -05:00
ns6089
730fce4b1c Move client frame interval to local variable 2023-08-27 13:13:43 -05:00
ns6089
d2a634ee09 Don't check AccumulatedFrames
AMF doesn't do it and MSDN is unclear about it.
2023-08-27 13:13:43 -05:00
ns6089
d81e2cecaa Add high_precision_sleep() method 2023-08-27 13:13:43 -05:00
ns6089
8dc51a21df Remove DwmFlush() 2023-08-27 13:13:43 -05:00
Cameron Gutman
ebb6a7c9a9
Specify the source address for outbound audio and video traffic (#1569) 2023-08-26 16:37:04 -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
f9a00f3ed4 Fix FFmpeg logging going to stdout rather than our log file 2023-08-24 18:24: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