Cameron Gutman
4bbe571f5f
Fix build without FFmpeg and with older EGL 1.5 headers
2020-05-16 13:25:10 -07:00
Cameron Gutman
c58d21375c
EGL 1.4 doesn't have EGLAttrib either
2020-05-16 12:20:52 -07:00
Cameron Gutman
ed128c558f
Add support for EGLRenderer on EGL 1.4
2020-05-16 12:13:00 -07:00
Cameron Gutman
42ced309d3
Restore the original GL attributes after EGLRenderer is destroyed
2020-05-15 20:22:11 -07:00
Cameron Gutman
1fcd306879
Fix EGLRenderer when SDL isn't built with X11 or Wayland backends
2020-05-15 20:01:22 -07:00
Cameron Gutman
26c9ad7f06
Use eglGetProcAddress() for all GLES 2.0 extensions
2020-05-15 19:39:41 -07:00
Cameron Gutman
4b7b01ce0a
Fix EGL build
2020-05-15 17:54:45 -07:00
Cameron Gutman
6632154906
Remove some unnecessary headers and definitions
2020-05-15 16:59:29 -07:00
Cameron Gutman
a1b74e1220
Fix vaExportSurfaceHandle() detection with i965 VAAPI driver
2020-05-14 20:56:24 -07:00
Cameron Gutman
01f6188824
Add VAAPI_FORCE_DIRECT and VAAPI_FORCE_INDIRECT env vars to control rendering technique
2020-05-13 19:45:30 -07:00
Cameron Gutman
283f31a734
Test if vaExportSurfaceHandle() works before claiming EGL export is supported
2020-05-13 19:39:45 -07:00
Cameron Gutman
b800ce9ebe
Allow use of VA drivers without VAEntrypointVideoProc
2020-05-13 19:31:25 -07:00
Cameron Gutman
eb9d54465c
Don't use EGLRenderer if not built with SDL 2.0.10+
2020-05-13 19:19:11 -07:00
Cameron Gutman
eb9e1f81d4
Enable the EGLRenderer to use the render thread
2020-05-13 19:09:20 -07:00
Cameron Gutman
51e9ab83ad
Send a null AVFrame to indicate end of stream to allow renderers to do render thread cleanup
2020-05-13 18:55:21 -07:00
Cameron Gutman
5ed7e03b2e
Merge pull request #365 from xdbob/wayland_for_upstream
...
Introduce a new FFMPEG frontend renderer: EGLRenderer
2020-05-13 18:39:18 -07:00
Cameron Gutman
b4548c1af2
Flush all window events after SDL_CreateRenderer()
2020-05-12 18:41:36 -07:00
Antoine Damhet
0a396f3112
Introduce a new FFMPEG frontend renderer: EGLRenderer
...
Right now this renderer works on X11 & Wayland with VAAPI as a backend.
Some rendering latency benchmarks on my `i7-10510U` (with
`intel-media-driver` 20.1.1 which cause a *huge* regression with the
SDL_Renderer):
| | X11 | Wayland |
| Before | 6.78ms | 22.50ms |
| EGLRenderer | 0.76ms | 00.77ms |
Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
2020-05-12 11:11:35 +02:00
Cameron Gutman
514a8575a2
Use the viewport size for computing the overlay position
2020-05-07 18:56:53 -07:00
Cameron Gutman
f30c11ddf4
Properly fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on macOS VTRenderer
2020-05-06 22:20:21 -07:00
Cameron Gutman
dfa63297fc
Fix incorrectly scaled output from the SDL renderer on macOS
2020-05-04 17:48:32 -07:00
Cameron Gutman
1852f74e8b
Add missing return statement
2020-04-26 20:42:01 -07:00
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
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
956e6e3638
Avoid slicing for hardware decoders that use SDL as the renderer
2020-01-26 14:13:42 -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
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
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
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
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
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
99d9de35de
Add NV21 pixel format support to SDL renderer
2019-05-02 22:51:28 -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
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
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
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
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
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
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
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
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
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
1f972b1828
Require several consecutive long render times to drop a frame
2019-01-21 17:58:42 -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
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
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
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
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
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
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
0c18bcdd5e
Fix DXVA 2 regression on Windows
2018-08-02 22:28:59 -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
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
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
a89cadc520
Separate FFmpeg decoder from the Session class ( #4 )
2018-07-17 20:00:16 -07:00