Cameron Gutman
|
55e3e16860
|
Try radeonsi if other VAAPI drivers fail
|
2020-04-26 20:18:46 -07:00 |
|
Cameron Gutman
|
7cf2a55b43
|
Allow radeonsi to direct render on XWayland
|
2020-04-26 20:13:00 -07:00 |
|
Cameron Gutman
|
c41cbbd2da
|
Allow the radeonsi VAAPI driver on XWayland
|
2020-04-26 20:06:53 -07:00 |
|
Cameron Gutman
|
aaa112c3f3
|
Don't use VAAPI drivers that lack VPP support
intel-media-va-driver (free) is one example of such a driver which
is apparently missing the shaders to perform colorspace conversion.
|
2020-04-26 15:38:05 -07:00 |
|
Cameron Gutman
|
8cf7f3ac08
|
Fix absolute mouse positioning on SDL renderer
|
2020-04-24 19:37:15 -07:00 |
|
Cameron Gutman
|
e56329d05a
|
Don't render with vaPutSurface() on XWayland
|
2020-03-27 19:11:03 -07:00 |
|
Cameron Gutman
|
2452e80e57
|
Add VDPAU driver path fallbacks for AppImage
|
2020-03-26 19:06:24 -07:00 |
|
Cameron Gutman
|
b9019831a9
|
Fix failure to try the default VAAPI driver with the modified LIBVA_DRIVERS_PATH
|
2020-03-26 18:25:52 -07:00 |
|
Cameron Gutman
|
b3b49b440e
|
Add VAAPI driver path fallbacks for AppImage
|
2020-03-24 00:09:03 -07:00 |
|
Cameron Gutman
|
ba2488b6e2
|
Try the iHD VA driver as a fallback to fix Comet Lake and later
|
2020-03-18 18:39:43 -07:00 |
|
Cameron Gutman
|
4e7e0d67e5
|
Add a workaround for Mesa Iris returning the wrong VA driver
|
2020-03-17 17:34:35 -07:00 |
|
Cameron Gutman
|
81221336f4
|
Rec 601 seems to be a bit more accurate on macOS
|
2020-03-10 23:21:00 -07:00 |
|
Cameron Gutman
|
ecfc758ce4
|
Attach colorspace data to CVPixelBuffer. Fixes #323
|
2020-03-10 22:21:09 -07:00 |
|
Cameron Gutman
|
7ee323f0d5
|
Fix deprecation warning on macOS
|
2020-02-29 15:54:10 -08:00 |
|
Cameron Gutman
|
979de190dc
|
Cap resolution options at 1080p on Steam Link and Raspberry Pi due to hardware limitations
|
2020-02-23 00:43:43 -08:00 |
|
Cameron Gutman
|
46bcbda972
|
MMAL is always full-screen
|
2020-02-23 00:25:01 -08:00 |
|
Cameron Gutman
|
43bdc353fb
|
Fix 720p streaming on MMAL
|
2020-02-23 00:22:44 -08:00 |
|
Cameron Gutman
|
57a1c5eb76
|
Disable the window mode options for always full-screen renderers
|
2020-02-09 11:35:05 -08:00 |
|
Cameron Gutman
|
77386f8dfc
|
Reduce buffering for MMAL to avoid requiring 128 MB VRAM split
|
2020-02-08 17:56:30 -08:00 |
|
Cameron Gutman
|
529fdf0341
|
Add decoder options dictionary to prepareDecoderContext()
|
2020-02-08 17:47:26 -08:00 |
|
Cameron Gutman
|
4794f44a6d
|
Charge decoders for time spent holding on to frames
|
2020-01-26 20:15:11 -08:00 |
|
Cameron Gutman
|
f0119b1231
|
Add support for the out-of-tree Jetson FFmpeg NVMPI decoders
https://github.com/jocover/jetson-ffmpeg
|
2020-01-26 19:16:03 -08:00 |
|
Cameron Gutman
|
4c579aa826
|
Provide another frame if avcodec_receive_frame() returns EAGAIN
|
2020-01-26 15:36:22 -08:00 |
|
Cameron Gutman
|
b9463b3c0e
|
Allow NV12 and NV21 to be selected for non-hwaccel decoders using the SDL renderer
|
2020-01-26 15:02:29 -08:00 |
|
Cameron Gutman
|
cede6ce8a9
|
Add H264_DECODER_HINT and HEVC_DECODER_HINT envvars to specify a decoder manually
|
2020-01-26 14:40:48 -08:00 |
|
Cameron Gutman
|
956e6e3638
|
Avoid slicing for hardware decoders that use SDL as the renderer
|
2020-01-26 14:13:42 -08:00 |
|
Cameron Gutman
|
2e0bd2ec28
|
Invoke avcodec_receive_frame() during decoder testing
|
2020-01-15 18:09:59 -08:00 |
|
Cameron Gutman
|
a0151fbc04
|
Fix memory leak if 10-bit color is not supported
|
2020-01-15 17:56:11 -08:00 |
|
Cameron Gutman
|
c6638a7154
|
Add support for 10-bit output in full-screen with DXVA2
|
2020-01-14 17:12:55 -08:00 |
|
Cameron Gutman
|
5aed8f928a
|
Add V4L2M2M support using SDL renderer
Note: This requires FFmpeg master to work, since it depends on:
https://github.com/FFmpeg/FFmpeg/commit/d61cf1b1ebc2477749d7d7825a072400ed24af9
|
2020-01-10 20:52:16 -08:00 |
|
Cameron Gutman
|
e1603f0808
|
Explicitly use Rec 601 for VDPAU
|
2019-12-16 18:02:28 -08:00 |
|
Cameron Gutman
|
d4c2350d63
|
Fix DXVA2 rendering with the wrong colorspace on AMD GPUs
|
2019-12-15 13:29:19 -08:00 |
|
Cameron Gutman
|
5e5470ae12
|
Specify video transfer matrix for SLVideo
|
2019-12-15 11:27:47 -08:00 |
|
Cameron Gutman
|
6230a99360
|
Fix colorspace conversion with SDL as frontend renderer
|
2019-12-14 17:17:29 -08:00 |
|
Cameron Gutman
|
801adb6af7
|
Add colorspace support to VAAPI renderer
|
2019-12-14 16:58:04 -08:00 |
|
Cameron Gutman
|
8b9b96f422
|
Only enable slicing when CPU decoding
|
2019-12-14 15:34:48 -08:00 |
|
Cameron Gutman
|
160684f23e
|
Allow decoders to choose a desired colorspace
|
2019-12-14 15:25:56 -08:00 |
|
Cameron Gutman
|
af6b8c9b88
|
Update common-c with colorspace configuration support
|
2019-12-14 14:40:02 -08:00 |
|
Cameron Gutman
|
de7b973239
|
Plumb presentation time from server into AVFrame.pts field
|
2019-11-11 18:03:47 -08:00 |
|
Cameron Gutman
|
c20daa8867
|
Add compatibility checks for HEVC Main10 in VT backend
|
2019-11-05 18:36:43 -08:00 |
|
Cameron Gutman
|
5e57a7d5c0
|
Prevent SDL renderer from trying to render 10-bit output
|
2019-11-05 17:29:21 -08:00 |
|
Cameron Gutman
|
7c8d27700e
|
Add 10-bit output support to VDPAU renderer
|
2019-11-05 17:09:44 -08:00 |
|
Cameron Gutman
|
f8621be5ee
|
Add an HEVC Main10 test frame
|
2019-11-05 17:08:25 -08:00 |
|
Cameron Gutman
|
ca26fa2dd0
|
Add basic HEVC Main10 support in DXVA2 renderer
|
2019-11-04 22:57:12 -08:00 |
|
Cameron Gutman
|
dbf98ce3a6
|
Require keyframes even for software H.264 decoding
|
2019-08-07 22:38:31 -07:00 |
|
Cameron Gutman
|
5db5a088ea
|
Fix NVDEC artifacts if the renderer is delayed for a bit
|
2019-08-01 20:25:58 -07:00 |
|
Cameron Gutman
|
bcbd1a5b4b
|
Fix subsystem print in VAAPI
|
2019-07-07 15:41:26 -07:00 |
|
Cameron Gutman
|
6468efd7e4
|
Add VAAPI DRM support
|
2019-07-07 15:32:38 -07:00 |
|
Cameron Gutman
|
1c225ed04d
|
Use CUDA acceleration if other hwaccels are unavailable
|
2019-06-26 21:54:29 -07:00 |
|
Cameron Gutman
|
612b738968
|
Use the preferred sw_format when reading frames back
|
2019-06-26 21:25:41 -07:00 |
|
Cameron Gutman
|
87356ef594
|
Add CUDA acceleration support
|
2019-06-26 21:02:33 -07:00 |
|
Cameron Gutman
|
4f74fd5354
|
Fix uninitialized variables and a race condition with CVDisplayLinkStart()
|
2019-05-21 09:09:16 -07:00 |
|
Cameron Gutman
|
97fb30cdf1
|
Fix a few bugs in CVDisplayLink integration in VTRenderer
|
2019-05-19 09:52:59 -07:00 |
|
Cameron Gutman
|
c2b12868bb
|
Move DisplayLinkVsyncSource back into VTRenderer to reduce latency
|
2019-05-11 18:33:12 -07:00 |
|
Cameron Gutman
|
53138d7c16
|
Name threads for easier debugging
|
2019-05-03 21:18:58 -07:00 |
|
Cameron Gutman
|
18d1d35104
|
Use QByteArray::reserve() rather than reallocating each time we must resize
|
2019-05-02 22:54:18 -07:00 |
|
Cameron Gutman
|
99d9de35de
|
Add NV21 pixel format support to SDL renderer
|
2019-05-02 22:51:28 -07:00 |
|
Cameron Gutman
|
e6a48481a5
|
Restore the bulk submission optimization for Steam Link
|
2019-05-01 22:31:52 -07:00 |
|
Cameron Gutman
|
477fa8fedf
|
Add logging callbacks for SLAudio and SLVideo
|
2019-04-28 11:01:54 -07:00 |
|
Cameron Gutman
|
4e936193c7
|
Request a test frame for MMAL decoder
|
2019-04-24 21:31:52 -07:00 |
|
Cameron Gutman
|
8878c4a136
|
Use VAAPI decoder for AMD on Wayland
|
2019-04-21 15:33:21 -07:00 |
|
Cameron Gutman
|
00926bac81
|
Fix build warning in SDL renderer
|
2019-04-21 11:09:11 -07:00 |
|
Cameron Gutman
|
dba479774b
|
Add DRM renderer for Rockchip devices
|
2019-04-21 05:22:37 +00:00 |
|
Cameron Gutman
|
5c8a1e632b
|
Add support for rendering NV12 hwframes with SDL
|
2019-04-19 22:16:06 -07:00 |
|
Cameron Gutman
|
d65e29111f
|
Fix some codec selection bugs
|
2019-04-19 20:57:21 -07:00 |
|
Cameron Gutman
|
1dfca525cf
|
Refactor renderer initialization to reduce duplication and inconsistency
|
2019-04-18 20:02:14 -07:00 |
|
Cameron Gutman
|
e51ad1a68a
|
Fix use-after-free due to stale m_FrontendRenderer pointer. Fixes #214
|
2019-04-18 19:26:13 -07:00 |
|
Cameron Gutman
|
9c76700f74
|
Add MMAL renderer for Raspberry Pi
|
2019-04-16 01:20:21 -07:00 |
|
Cameron Gutman
|
773b1af6f1
|
Minor refactoring in preparation for non-hwaccel decoder support
|
2019-04-15 21:56:01 -07:00 |
|
Cameron Gutman
|
b8b633a6cc
|
Use SDL to render on Wayland for VAAPI
|
2019-04-12 22:54:21 -07:00 |
|
Cameron Gutman
|
ada2270bd1
|
Reduce code duplication in renderers
|
2019-04-12 22:12:53 -07:00 |
|
Cameron Gutman
|
25e5175c54
|
Refactor parameter passing to decoders and split backend/decode-only and frontend renderers
|
2019-04-11 22:27:20 -07:00 |
|
Cameron Gutman
|
00a1948b73
|
Treat AV_CODEC_CAP_HARDWARE codecs as hardware accelerated too
|
2019-04-09 21:50:22 -07:00 |
|
Cameron Gutman
|
859a5a5e0c
|
Allow a renderer to opt-out of the render thread and use that for SDL on OGL
|
2019-04-09 21:46:14 -07:00 |
|
Cameron Gutman
|
6783cf57da
|
TTF_OpenFontRW retains the SDL_RWops on success, so we must keep the font data around to back it
|
2019-04-09 21:26:47 -07:00 |
|
Cameron Gutman
|
54383b84ec
|
Fix random deadlocks on window resize with the software decoder due to processing window messages off the render thread
|
2019-04-03 20:44:50 -07:00 |
|
Cameron Gutman
|
2d7dcb495c
|
Remove CAPABILITY_DIRECT_SUBMIT for the video decoder because it can block for significant time periods when D3D9 is reconfiguring display settings (and holding the D3D global lock)
This can cause false reports of packet loss.
|
2019-03-29 23:38:23 -07:00 |
|
Cameron Gutman
|
cabbba2448
|
Move status update overlay to bottom left for SDL
|
2019-03-23 21:14:21 -07:00 |
|
Cameron Gutman
|
c48ed7bb0d
|
Fix undefined variable usage after 2703efedef
|
2019-03-23 20:25:19 -07:00 |
|
Cameron Gutman
|
c313f1a20b
|
Embed our data files inside the binary with QRC
|
2019-03-23 10:45:44 -07:00 |
|
Cameron Gutman
|
2bf3f1b94b
|
Refactor Steam Link support files
|
2019-03-22 22:51:08 -07:00 |
|
Cameron Gutman
|
e95ff989b1
|
Allow DXVA2 renderer blacklists to be bypassed
|
2019-03-21 20:44:30 -07:00 |
|
Cameron Gutman
|
018e8999e2
|
Add connection status overlay for the VT renderer
|
2019-03-18 20:56:53 -07:00 |
|
Cameron Gutman
|
202a643e5a
|
Fix size of the status update overlay on DXVA2
|
2019-03-17 15:12:25 -07:00 |
|
Cameron Gutman
|
c75b9c9221
|
Add connection status overlay for DXVA2 and SDL
|
2019-03-17 15:08:21 -07:00 |
|
Cameron Gutman
|
052194714a
|
Adjust thread priorities based on recent refactoring
|
2019-03-17 00:45:31 -07:00 |
|
Cameron Gutman
|
bf5d43d0cf
|
Use SDL_HINT_OVERRIDE for critical hints
|
2019-03-17 00:18:15 -07:00 |
|
Cameron Gutman
|
f2ac570949
|
Rebuild SDL2 (5dc13016cf) with USE_D3D9EX
|
2019-03-16 23:52:40 -07:00 |
|
Cameron Gutman
|
e5a8b49c93
|
Limit the number of queued frames in Pacer to prevent excessive memory consumption if the renderer gets blocked for a while
|
2019-02-18 12:13:45 -08:00 |
|
Cameron Gutman
|
80a40ac5f9
|
Increase frame drop threshold
|
2019-02-16 23:13:35 -08:00 |
|
Cameron Gutman
|
a1956350b1
|
Rename pacing drop to jitter drop to be less confusing for users
|
2019-02-16 23:04:25 -08:00 |
|
Cameron Gutman
|
ab4127f940
|
Use presence of a frame after rendering rather than render time for frame dropping
|
2019-02-15 22:44:52 -08:00 |
|
Cameron Gutman
|
f03d12b677
|
Use a separate render thread even with a V-Sync source
|
2019-02-15 22:09:50 -08:00 |
|
Cameron Gutman
|
81c6202582
|
Rename renderFrameAtVsync() to renderFrame() in preparation for further refactoring
|
2019-02-15 21:07:02 -08:00 |
|
Cameron Gutman
|
6cab2bec61
|
Don't trust VT to tell us whether decode is supported
|
2019-02-15 19:10:21 -08:00 |
|
Cameron Gutman
|
38b8a59fe5
|
Adjust overlay color for more contrast
|
2019-02-15 18:53:40 -08:00 |
|
Cameron Gutman
|
b1799009b3
|
Use the Path class to lookup ModeSeven.ttf
|
2019-02-15 18:13:36 -08:00 |
|
Cameron Gutman
|
aba806bc32
|
Implement debug overlay for VideoToolbox renderer
|
2019-02-13 20:55:52 -08:00 |
|
Cameron Gutman
|
b1fb3f2391
|
Set FFmpeg log level at debug until first frame is rendered
|
2019-02-13 18:34:59 -08:00 |
|
Cameron Gutman
|
f83853c2fb
|
OverlayManager now manages font size for the overlays
|
2019-02-12 22:36:56 -08:00 |
|
Cameron Gutman
|
46bd8ad83d
|
Add debug overlay for SDL renderer
|
2019-02-12 21:55:15 -08:00 |
|
Cameron Gutman
|
5788fa7204
|
Make OverlayManager own the overlay color setting
|
2019-02-12 20:39:10 -08:00 |
|
Cameron Gutman
|
d077c6450f
|
Split SdlRenderer from renderer.h
|
2019-02-12 19:58:36 -08:00 |
|
Cameron Gutman
|
6ed512e762
|
Provide a renderer callback when the overlay data changes
|
2019-02-12 18:43:38 -08:00 |
|
Cameron Gutman
|
947970e07b
|
Shortcut decoder initialization when only using it for capability testing
|
2019-02-12 18:42:53 -08:00 |
|
Cameron Gutman
|
1fd099db70
|
Log when StretchRect() fails
|
2019-02-09 18:47:57 -08:00 |
|
Cameron Gutman
|
8bb6d4d0d9
|
Fix VDPAU scaling on AMD cards. Fixes #171
|
2019-01-29 20:52:41 -08:00 |
|
Cameron Gutman
|
21aad643f3
|
Use 32 pixel alignment for HEVC to fix Intel green line issue
|
2019-01-28 21:26:27 -08:00 |
|
Cameron Gutman
|
8687448966
|
Use StretchRect() on Intel GPUs or if VideoProcessBlt() fails
|
2019-01-28 19:18:43 -08:00 |
|
Cameron Gutman
|
4471a858db
|
Fix miscounted pacer dropped frames in non-pacing mode
|
2019-01-22 21:21:29 -08:00 |
|
Cameron Gutman
|
22e712af5a
|
Add v-sync text to stats overlay
|
2019-01-22 20:55:58 -08:00 |
|
Cameron Gutman
|
9799b82d53
|
Improve long render time logic
|
2019-01-22 20:55:35 -08:00 |
|
Cameron Gutman
|
78915e0b99
|
Use a separate render thread when not using frame pacing
|
2019-01-22 20:31:31 -08:00 |
|
Cameron Gutman
|
a4edd9d202
|
Submit frame directly from the decoder thread to avoid interference from the main thread
|
2019-01-21 20:27:37 -08:00 |
|
Cameron Gutman
|
7747624c80
|
Revert "Wake up main thread immediately after new frame is pushed"
This reverts commit aab7191a44 .
|
2019-01-21 20:10:13 -08:00 |
|
Cameron Gutman
|
aab7191a44
|
Wake up main thread immediately after new frame is pushed
|
2019-01-21 18:57:14 -08:00 |
|
Cameron Gutman
|
1f972b1828
|
Require several consecutive long render times to drop a frame
|
2019-01-21 17:58:42 -08:00 |
|
Cameron Gutman
|
58b77cf589
|
Fix inaccurate pacer drop and network drop percentages and add total FPS stat
|
2019-01-21 17:43:15 -08:00 |
|
Cameron Gutman
|
c064f87889
|
Drop a frame if the rendering time exceeds the v-sync period
|
2019-01-20 19:59:29 -08:00 |
|
Cameron Gutman
|
d6b4c8e7da
|
Avoid blocking decoding operations during Present calls
|
2019-01-20 14:08:53 -08:00 |
|
Cameron Gutman
|
b19c4bfc5d
|
Add performance overlay for DXVA2 renderer
|
2019-01-19 23:05:56 -08:00 |
|
Cameron Gutman
|
8612e6726d
|
Remove accidentally enabled debug prints
|
2018-12-25 14:05:55 -08:00 |
|
Cameron Gutman
|
cfabaf334e
|
Add frame pacing toggle
|
2018-12-25 12:57:00 -08:00 |
|
Cameron Gutman
|
c054536fab
|
Count Pacer delay in frame stats
|
2018-12-25 12:09:45 -08:00 |
|
Cameron Gutman
|
d5a1189053
|
Avoid VAAPI on AMD drivers due to a bad memory leak
|
2018-10-14 20:37:13 -07:00 |
|
Cameron Gutman
|
4f84843b00
|
Fixup H.264 SPS for VideoToolbox compatibility. Fixes #98
|
2018-10-12 17:59:53 -07:00 |
|
Cameron Gutman
|
9075f309ad
|
Disable annoying stream stats prints
|
2018-10-02 20:12:53 -07:00 |
|
Cameron Gutman
|
a0249b4337
|
Add video stats for performance overlay
|
2018-09-25 00:47:59 -07:00 |
|
Cameron Gutman
|
b1de66d878
|
Directly use the AVBufferSampleDisplayLayer as the rendering view's layer to increase efficiency
|
2018-09-22 18:34:15 -07:00 |
|
Cameron Gutman
|
af9fb0e091
|
Fix GetVideoProcessorCaps() failure handling
|
2018-09-21 17:29:53 -07:00 |
|
Cameron Gutman
|
f96911e1ba
|
Use DXVA2_VideoProcProgressiveDevice since we don't need any fancy image processing or deinterlacing
|
2018-09-21 17:07:28 -07:00 |
|
Cameron Gutman
|
8a0089eb81
|
Print driver information in VDPAU and VAAPI renderers
|
2018-09-20 21:23:16 -07:00 |
|
Cameron Gutman
|
8002c65693
|
Block Intel drivers earlier than 4836 from using HEVC due to artifacting issues. Fixes #32
|
2018-09-14 20:20:47 -07:00 |
|
Cameron Gutman
|
7ca2ca8045
|
Print the GPU driver version on Windows
|
2018-09-13 14:54:30 -07:00 |
|
Cameron Gutman
|
12496e4432
|
Refactor audio rendering into a separate class
|
2018-09-13 06:23:06 -07:00 |
|
Cameron Gutman
|
9dcd856099
|
Blacklist Kepler GPUs for HEVC due to hybrid decode support present in some drivers
|
2018-09-09 10:48:01 -07:00 |
|
Cameron Gutman
|
93c683be3a
|
Allow renderers that force V-sync on to run without it when streaming higher than the display refresh rate
|
2018-09-08 15:27:21 -07:00 |
|
Cameron Gutman
|
c9a7c15f98
|
Improve unsupported FPS options and performance
|
2018-09-08 15:09:46 -07:00 |
|
Cameron Gutman
|
475a39cb73
|
Recreate the decoder when moving to a new display to allow Pacer to get the new refresh rate
|
2018-09-06 19:42:53 -07:00 |
|
Cameron Gutman
|
4dba74e2f9
|
Fix handling of undefined and non-matching refresh rate
|
2018-09-06 19:16:59 -07:00 |
|
Cameron Gutman
|
9aa487418f
|
Force V-Sync enabled for DXVA2 windowed with DWM composition enabled
|
2018-09-03 23:34:15 -07:00 |
|
Cameron Gutman
|
dae21f2638
|
Detect native panel resolution on Retina displays. Fixes #59
|
2018-09-04 00:21:37 -04:00 |
|
Cameron Gutman
|
af6e99cbac
|
Select the highest full-screen refresh rate that our stream FPS evenly divides
|
2018-09-03 22:54:41 -04:00 |
|
Cameron Gutman
|
2c068a99a3
|
Allow FFmpeg renderers to enforce V-sync being enabled or disabled
|
2018-09-03 20:57:09 -04:00 |
|
Cameron Gutman
|
fa93364ddd
|
Ensure the CVDisplayLink is synchronized to the display that our window is on
|
2018-09-03 20:19:24 -04:00 |
|
Cameron Gutman
|
9b1eef3f63
|
Pass AV_HWACCEL_FLAG_IGNORE_LEVEL for VDPAU per FFmpeg documentation recommendation
|
2018-09-03 17:06:21 -04:00 |
|
Cameron Gutman
|
ed6c07fd4b
|
Display all frames even if they are corrupt or missing references (as will happen during reference frame invalidation)
|
2018-09-02 18:45:29 -04:00 |
|
Cameron Gutman
|
b7cbec0b1c
|
Pass RFI flags to decoder
|
2018-08-25 13:36:54 -07:00 |
|
Cameron Gutman
|
9be9934b8c
|
Add reference frame invalidation for the software decoder
|
2018-08-25 12:38:04 -07:00 |
|
Cameron Gutman
|
408f93732b
|
Fix 'invalid VADisplay' errors on renderer destruction
|
2018-08-25 11:21:52 -07:00 |
|
Cameron Gutman
|
7e560aa09e
|
Use MMCSS when streaming with the DXVA renderer
|
2018-08-21 00:53:41 -07:00 |
|
Cameron Gutman
|
7d9478b774
|
Fix FlipEx on Windows 7
|
2018-08-21 00:49:29 -07:00 |
|
Cameron Gutman
|
0fa0ab43c9
|
Fix broken Alt+Tab behavior on Windows
|
2018-08-20 22:48:48 -07:00 |
|
Cameron Gutman
|
9e9fe2a2cf
|
Work around DWM bug on Windows 7 causing horrible performance
|
2018-08-20 21:17:25 -07:00 |
|
Cameron Gutman
|
5bf88cfe96
|
Fix Mac build
|
2018-08-20 18:57:11 -07:00 |
|
Cameron Gutman
|
f7d3c10c9d
|
Plumb the ability to disable V-sync through the video renderers
|
2018-08-20 18:19:42 -07:00 |
|
Cameron Gutman
|
6b395c816f
|
Allow Pacer to wait for frames up until a few ms before v-sync for better smoothness and lower latency
|
2018-08-20 17:53:35 -07:00 |
|
Cameron Gutman
|
d6e7173af0
|
Add a VsyncSource for renderers that already block for V-sync
|
2018-08-20 17:24:47 -07:00 |
|
Cameron Gutman
|
1a60484abc
|
Use hardware vertex processing if available
|
2018-08-19 22:45:17 -07:00 |
|
Cameron Gutman
|
62f765b2b4
|
Switch DXVA2 to IDirect3D9Ex APIs for more detailed control of rendering
|
2018-08-19 21:53:39 -07:00 |
|
Cameron Gutman
|
845e84adb7
|
Avoid the test frame for DXVA2 and VT APIs to address flickering in full-screen on Win7
|
2018-08-19 00:59:04 -07:00 |
|
Cameron Gutman
|
c1b1719914
|
Recreate the VT decoder if the display layer fails. Minor fix to Path class.
|
2018-08-16 23:09:40 -07:00 |
|
Cameron Gutman
|
9fbdd794b9
|
Improve support for full-screen exclusive mode
|
2018-08-16 22:25:14 -07:00 |
|
Cameron Gutman
|
345e800abd
|
Always submit frames to Pacer if it's using a frame queue
|
2018-08-16 17:59:33 -07:00 |
|
Cameron Gutman
|
404eaa44e4
|
Implement frame pacing for Windows using D3DKMTWaitForVerticalBlankEvent
|
2018-08-16 01:29:53 -07:00 |
|
Cameron Gutman
|
8e257ab241
|
Remove unused function
|
2018-08-16 00:04:28 -07:00 |
|
Cameron Gutman
|
fabbad5370
|
Fix build error on Windows and warnings
|
2018-08-16 00:02:43 -07:00 |
|
Cameron Gutman
|
7d61acb2a8
|
Use Pacer to drive all rendering
|
2018-08-15 23:57:03 -07:00 |
|
Cameron Gutman
|
f6a451d6e7
|
Add PoC VsyncSource for Windows using DwmFlush(). Soon to be replaced with D3DKMTWaitForVerticalBlankEvent().
|
2018-08-15 23:20:56 -07:00 |
|
Cameron Gutman
|
e68a15c825
|
Move the Vsync logic from VTRenderer into a VsyncSource
|
2018-08-15 22:02:15 -07:00 |
|
Cameron Gutman
|
f929cffce7
|
Let Pacer know what the display Hz and stream FPS are so it can make better drop decisions
|
2018-08-15 21:10:35 -07:00 |
|
Cameron Gutman
|
f171588616
|
Pass the maximum frame rate into FFmpeg renderers
|
2018-08-15 20:41:19 -07:00 |
|
Cameron Gutman
|
f714a5d0cb
|
Refactor frame pacing from VT renderer into a separate class for sharing with other renderers
|
2018-08-14 19:13:17 -07:00 |
|
Cameron Gutman
|
611d9ac1ba
|
Pass the chroma type to the VDPAU video mixer
|
2018-08-13 20:02:55 -07:00 |
|
Cameron Gutman
|
d3c2f50b20
|
Remove custom VAAPI logging functions
|
2018-08-11 20:32:28 -07:00 |
|
Cameron Gutman
|
f1ee1eeb63
|
Avoid using window systems that SDL wasn't compiled to support
|
2018-08-11 20:19:20 -07:00 |
|
Cameron Gutman
|
bb18519e44
|
WIP Wayland rendering code for VAAPI
|
2018-08-11 19:43:36 -07:00 |
|
Cameron Gutman
|
c61182bcb2
|
Allow FFmpeg decoder to self-heal in cases of UAC dialogs and other unexpected loss of hardware state
|
2018-08-09 18:39:38 -07:00 |
|
Cameron Gutman
|
b6763bb9f0
|
Fix VDPAU rendering at 4K
|
2018-08-05 16:33:08 -07:00 |
|
Cameron Gutman
|
6d9c0c96c9
|
Fix streaming with non-aligned resolutions with DXVA2 on my Quadro P400
|
2018-08-05 15:25:40 -07:00 |
|
Cameron Gutman
|
b04bc5117d
|
Fix scaling logic in the Linux renderers using the new helper function
|
2018-08-04 22:31:14 -07:00 |
|
Cameron Gutman
|
5cbb38091b
|
Create new utility function for scaling with aspect ratio and use it for DXVA2
|
2018-08-04 22:22:15 -07:00 |
|
Cameron Gutman
|
b076744f00
|
Support HEVC software decoding and forcing HEVC without GPU support
|
2018-08-04 16:45:31 -07:00 |
|
Cameron Gutman
|
3117e360f4
|
Retry surface creation to work around transient VDP_STATUS_RESOURCES errors
|
2018-08-03 18:26:55 -07:00 |
|
Cameron Gutman
|
48a770edec
|
Enable HEVC support on NVIDIA GPUs with VDPAU
|
2018-08-03 02:49:43 -07:00 |
|
Cameron Gutman
|
fca402138f
|
Add VDPAU renderer
|
2018-08-03 02:11:44 -07:00 |
|
Cameron Gutman
|
2853e498b0
|
Minor debugging improvements
|
2018-08-02 23:24:44 -07:00 |
|
Cameron Gutman
|
509dba2264
|
Enable ffmpeg logging during codec initialization
|
2018-08-02 22:48:40 -07:00 |
|
Cameron Gutman
|
0c18bcdd5e
|
Fix DXVA 2 regression on Windows
|
2018-08-02 22:28:59 -07:00 |
|
Cameron Gutman
|
624578f286
|
Fix decoder reinitialization after test frame
|
2018-08-02 21:57:16 -07:00 |
|
Cameron Gutman
|
c18e99c9ec
|
Validate that the codec is functional before using it. Fixes streaming failure with VAAPI if hardware lacks codec support
|
2018-08-02 21:37:46 -07:00 |
|
Cameron Gutman
|
e250e08242
|
Fix AMD vendor ID
|
2018-07-31 18:22:10 -07:00 |
|
Cameron Gutman
|
141ee11e2f
|
Avoid HEVC on GPUs using hybrid decoding. Fixes #14
|
2018-07-31 18:09:09 -07:00 |
|
Cameron Gutman
|
df26f731eb
|
Improve debugging messages
|
2018-07-28 16:06:26 -07:00 |
|
Cameron Gutman
|
9e6aadffa1
|
Populate the DXVA2_VideoDesc with format details from the AVFrame
|
2018-07-26 21:04:05 -07:00 |
|
Cameron Gutman
|
0bde932550
|
Prevent HEVC streaming with the software decoder for performance reasons
|
2018-07-26 19:26:22 -07:00 |
|
Cameron Gutman
|
cf3cbd627d
|
Use full-screen windowed mode to avoid having to enable V-Sync on DXVA2
|
2018-07-22 15:42:17 -07:00 |
|
Cameron Gutman
|
ad57a55d12
|
Add (untested) Steam Link video decoding/rendering
|
2018-07-21 20:29:05 -07:00 |
|
Cameron Gutman
|
eb536c2273
|
Overhaul platform and decoder/renderer detection
|
2018-07-21 17:00:09 -07:00 |
|
R. Aidan Campbell
|
c816a6198c
|
fix macos build: for macos, Q_OS_UNIX is also defined
|
2018-07-21 14:31:37 -07:00 |
|
Cameron Gutman
|
399154f5f5
|
Implement VAAPI rendering for X11
|
2018-07-21 00:16:03 -07:00 |
|
Cameron Gutman
|
20288210be
|
Fix VT video centering after transition from windowed to full screen
|
2018-07-20 19:37:54 -07:00 |
|
Cameron Gutman
|
10b5245919
|
Reset the decoder when D3D state is lost
|
2018-07-20 15:31:57 -07:00 |
|
Cameron Gutman
|
faaf9dfa07
|
Fix crashes when restarting streaming with DXVA2 renderer due to leaked surface references
|
2018-07-20 13:10:54 -07:00 |
|
Cameron Gutman
|
e85ca2a6c9
|
Reduce VideoToolbox renderer video latency
|
2018-07-18 22:25:46 -07:00 |
|
Cameron Gutman
|
e32aace443
|
Draw a black background behind the rendering
|
2018-07-18 22:07:43 -07:00 |
|
Cameron Gutman
|
bd8e4a4bce
|
Fix DXVA video centering
|
2018-07-18 21:48:46 -07:00 |
|
Cameron Gutman
|
06501bd4b7
|
Fix video scaling on DXVA2
|
2018-07-18 19:10:14 -07:00 |
|
Cameron Gutman
|
a4ad58d9ec
|
Fix some Clang static analysis warnings
|
2018-07-18 18:39:33 -07:00 |
|
Cameron Gutman
|
1b85dcc829
|
Improve frame pacing on VideoToolbox renderer
|
2018-07-18 00:11:17 -07:00 |
|
Cameron Gutman
|
c97e298b80
|
Use the queueFrame() helper
|
2018-07-17 20:05:59 -07:00 |
|
Cameron Gutman
|
a89cadc520
|
Separate FFmpeg decoder from the Session class (#4)
|
2018-07-17 20:00:16 -07:00 |
|