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
|
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
|
160684f23e
|
Allow decoders to choose a desired colorspace
|
2019-12-14 15:25:56 -08:00 |
|
Cameron Gutman
|
de7b973239
|
Plumb presentation time from server into AVFrame.pts field
|
2019-11-11 18:03:47 -08:00 |
|
Cameron Gutman
|
f8621be5ee
|
Add an HEVC Main10 test frame
|
2019-11-05 17:08:25 -08: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
|
1c225ed04d
|
Use CUDA acceleration if other hwaccels are unavailable
|
2019-06-26 21:54:29 -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
|
dba479774b
|
Add DRM renderer for Rockchip devices
|
2019-04-21 05:22:37 +00: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
|
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
|
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
|
a1956350b1
|
Rename pacing drop to jitter drop to be less confusing for users
|
2019-02-16 23:04:25 -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
|
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
|
22e712af5a
|
Add v-sync text to stats overlay
|
2019-01-22 20:55:58 -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
|
58b77cf589
|
Fix inaccurate pacer drop and network drop percentages and add total FPS stat
|
2019-01-21 17:43:15 -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
|
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
|
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
|
2c068a99a3
|
Allow FFmpeg renderers to enforce V-sync being enabled or disabled
|
2018-09-03 20:57:09 -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
|
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
|
f7d3c10c9d
|
Plumb the ability to disable V-sync through the video renderers
|
2018-08-20 18:19:42 -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
|
345e800abd
|
Always submit frames to Pacer if it's using a frame queue
|
2018-08-16 17:59:33 -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
|
f171588616
|
Pass the maximum frame rate into FFmpeg renderers
|
2018-08-15 20:41:19 -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
|
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
|
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
|
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
|
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 |
|