Cameron Gutman
f7bb4611e9
Replace uses of strcpy() and sprintf()
2023-09-23 11:15:21 -04:00
Cameron Gutman
654be492a0
Avoid using LFS64 interfaces with Musl
2023-09-18 20:07:56 -05:00
Cameron Gutman
1df0da4d4a
Also use test frame decoding parameters when creating a test renderer
2023-09-14 18:21:53 -05:00
Cameron Gutman
1dd6cdb567
Use the correct width and height of the test frame when performing the test decode
...
Using the stream resolution instead of the test frame resolution was causing all non-720p streams to fail on the VisionFive 2 board with the wave5 driver.
It also likely fixes a similar interoperability issue with the qcom-venus driver that was reported in #1042
2023-09-14 18:16:45 -05:00
Cameron Gutman
f4b0f4d78f
Functionally revert f60e7241
...
Switching to indirect rendering has a high risk of performance and functionality regressions,
so let's just continue using AVSampleBufferDisplayLayer until we have a Metal renderer
since #973 is fixed.
This isn't an actual revert because we want to still keep the indirect override around.
2023-09-12 18:36:53 -05:00
Cameron Gutman
fd41226cdd
Support fully-planar output in DrmRenderer
2023-09-12 18:08:48 -05:00
Cameron Gutman
64789ea8bc
Destroy the VTRenderer before leaving fullscreen
...
Fixes #973
2023-09-11 21:07:54 -05:00
Cameron Gutman
2ac7176787
Fix a bunch of memory leaks in the VTRenderer
...
It appears the leaked AVSampleBufferDisplayLayer may be causing the hang in #973
2023-09-11 20:49:35 -05:00
Cameron Gutman
c98289a9e7
Use DMA_BUF_IOCTL_SYNC to synchronize swframe copies
2023-09-09 12:19:40 -05:00
Cameron Gutman
3094185cd6
Also skip SDL_RENDERER_PRESENTVSYNC on Wayland
2023-09-09 10:41:33 -05:00
Cameron Gutman
aaff04167b
Only skip SDL_RENDERER_PRESENTVSYNC on Windows
...
macOS can still tear when using the Metal renderer backend.
2023-09-09 08:00:13 -05:00
Cameron Gutman
21bba02e6f
Allow render thread usage with Metal
2023-09-09 07:45:42 -05:00
Cameron Gutman
f60e724167
Default to indirect rendering on Apple Silicon
...
Hopefully the UMA makes the performance impact of reimporting frames negligible
until we can get a proper Metal renderer to replace AVSampleBufferDisplayLayer.
2023-09-09 07:44:11 -05:00
Cameron Gutman
7551e90899
Adjust AV1 surface alignment to match FFmpeg behavior
2023-09-08 23:13:29 -05:00
Cameron Gutman
47d1eff45d
Don't rasterize layers in fullscreen
...
The original artifacting bug didn't manifest in fullscreen anyway.
2023-09-08 19:53:01 -05:00
Cameron Gutman
78ea79b95a
Quiet new -Wswitch warnings
2023-09-05 22:51:08 -05:00
Cameron Gutman
acbe503c12
Fix NVIDIA VAAPI X11 deprioritization check to actually check for X11
2023-09-05 20:46:43 -05:00
Cameron Gutman
0261c41574
Revert "Prefer nvidia-vaapi-driver over VDPAU for AV1"
...
libvdpau 1.5 has supported this for a while and we'll fall
back to VAAPI if VDPAU doesn't work.
This reverts commit 42960b7bf1
.
2023-09-05 20:39:28 -05:00
Cameron Gutman
c8182dfab3
Use BT.709 for DrmRenderer
2023-09-05 19:28:22 -05:00
Cameron Gutman
9ed40b5d9f
Add chroma siting metadata to EGL exported frames
2023-09-05 18:30:01 -05:00
Cameron Gutman
ebc4c71c72
Fix handling of non-standard hwaccel decoders that also set AV_CODEC_CAP_HARDWARE
2023-09-04 23:40:59 -05:00
Cameron Gutman
626fba4a8f
Fix DXVA2 chroma subsampling assuming interlaced content
2023-08-19 18:09:07 -05:00
Cameron Gutman
1a2f1ed620
Enable AV1 RFI on all decoders capable of HEVC RFI
2023-08-13 16:41:48 -05:00
Cameron Gutman
50255dd896
Set Colorspace connector property when streaming HDR
2023-08-09 23:02:43 -05:00
Cameron Gutman
7404e5fce2
Prefer D3D11VA for FSE V-Sync off
2023-08-03 19:41:35 -05:00
Cameron Gutman
dc5414bd0d
Force immediate destruction of the D3D11 swapchain
...
Possible fix for #959
2023-08-03 19:18:07 -05:00
Cameron Gutman
d147d36867
Fix leaking /dev/dri fds on each vaInitialize() failure
2023-08-01 22:53:22 -05:00
Cameron Gutman
7763ec3c5c
Fix mapping frames on RPi with 64-bit kernel and 32-bit userland
2023-08-01 22:01:34 -05:00
ns6089
9764174070
Add host processing latency to ffmpeg stats overlay
2023-07-20 22:30:26 -05:00
Cameron Gutman
42960b7bf1
Prefer nvidia-vaapi-driver over VDPAU for AV1
2023-07-16 16:54:13 -05:00
Cameron Gutman
abc391f32a
Improve AV1 support
2023-07-16 15:38:58 -05:00
Cameron Gutman
ce60a146dc
Move RPi decoder hacks to correct location for new selection logic
2023-07-15 15:22:02 -05:00
Cameron Gutman
cd4a6f3e17
Rewrite FFmpeg decoder selection logic to dynamically discover compatible decoders
...
This avoids having to maintain a hardcoded list of all known H.264/HEVC/AV1 decoders
and ensures new/unknown decoders will just work automatically (assuming we have
a renderer that can process their output pixel format).
2023-07-15 15:12:58 -05:00
Casey Korver
ea06ec0133
Correct spelling mistakes found with Codespell
2023-07-09 13:21:18 -05:00
Cameron Gutman
9055496a19
Add AV1 test frames
2023-07-05 19:47:45 -05:00
Cameron Gutman
a81c6a1c5e
Initial work on AV1 support
2023-07-03 00:45:36 -05:00
Cameron Gutman
68daa90b7e
Refactor non-hwaccel decoders to use a single list of known codec names
2023-04-02 17:31:31 -05:00
Cameron Gutman
fb39ad896e
Add h264_omx and hevc_omx decoders used by the Vision Five 2
2023-04-02 17:17:25 -05:00
Cameron Gutman
a3d1e9a117
Allow negotation of 36 and 48 bit deep color modes
2023-03-27 01:02:50 -05:00
Cameron Gutman
755c7c9895
Set max BPC property when streaming in 10-bit color modes
2023-03-27 00:44:02 -05:00
Cameron Gutman
f16b5cd337
Expose glslow config option
2023-03-26 20:27:03 -05:00
Cameron Gutman
21cda8141d
Always request AV_PIX_FMT_DRM_PRIME to ensure we get it if available
2023-03-26 19:59:12 -05:00
Cameron Gutman
90f26dfa45
Support direct KMSDRM output for platforms with slow GL implementations
2023-03-26 19:46:22 -05:00
Cameron Gutman
ba507d8046
Move hw->sw frame mapping into a separate class
2023-03-26 14:41:02 -05:00
Cameron Gutman
4cd030582d
Allow matching primary planes for direct rendering
2023-03-26 13:28:26 -05:00
Cameron Gutman
a0365c8e1c
Evaluate D3D9 quirks before calling CreateDeviceEx()
2023-03-17 00:53:47 -05:00
Cameron Gutman
38156c9f7f
Default to D3D11VA on multi-GPU systems
2023-03-13 22:56:28 -05:00
Cameron Gutman
5baa8c680a
Add upstreamed NV15 format used by Rockchip devices
2023-03-11 11:44:36 -06:00
Cameron Gutman
5de29928cd
Plumb HDR metadata for VideoToolbox
2023-02-02 19:16:18 -06:00
Cameron Gutman
b3cfdbb835
Fix DRM renderer build
2023-01-17 21:45:02 -06:00