Cameron Gutman
a093a0ae59
Restore AVSampleDisplayLayer renderer for dGPU/eGPU systems
...
These sometimes have issues importing decoded frames for Metal rendering.
2024-03-24 17:47:29 -05:00
Cameron Gutman
2a05b890d8
Enable transparent resizing and display changes for supported renderers
2023-12-17 21:15:40 -06:00
Cameron Gutman
d4050f3a4f
Add HDR metadata to each AVFrame
2023-12-16 17:02:53 -06:00
Cameron Gutman
333d97160e
Add opt-in for Vulkan rendering for SDR content with PREFER_VULKAN=1
2023-12-13 01:03:27 -06:00
Cameron Gutman
aac5ad3fd0
Add a libplacebo-based Vulkan renderer for HDR and Vulkan video decoding support
...
Vulkan H.264/HEVC video decoding isn't supported with Fedora's Mesa binaries due to
patent issues, so only the VAAPI/DRM-PRIME import path was tested locally with ANV.
HDR video is getting tonemapped to my SDR monitor reasonably, so HDR output probably
works with GameScope but I haven't confirmed yet.
See #1117
2023-12-12 23:54:23 -06:00
Cameron Gutman
9cba449092
Add config option to allow EGL usage when built with MMAL
2023-10-15 13:03:47 -05:00
Cameron Gutman
2127e1d90b
Allow h264_v4l2m2m to be used in RPi builds if manually specified
2023-10-05 18:37:14 -05:00
Cameron Gutman
9d73aa6b4a
Fix DrmRenderer not falling back to swframes if DRM PRIME is available
2023-10-05 18:13:52 -05:00
Cameron Gutman
dc556d3c9b
Try to fix Windows build
2023-09-23 13:33:21 -04:00
Cameron Gutman
f7bb4611e9
Replace uses of strcpy() and sprintf()
2023-09-23 11:15:21 -04: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
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
1a2f1ed620
Enable AV1 RFI on all decoders capable of HEVC RFI
2023-08-13 16:41:48 -05:00
ns6089
9764174070
Add host processing latency to ffmpeg stats overlay
2023-07-20 22:30:26 -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
f16b5cd337
Expose glslow config option
2023-03-26 20:27:03 -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
30a5f405f5
Enable HEVC RFI for the FFmpeg software decoder
2022-10-25 23:19:19 -05:00
Cameron Gutman
8465a27a97
Deprioritize VAAPI for Gallium and Nvidia drivers and work around RFI latency bug
2022-10-16 21:51:10 -05:00
Cameron Gutman
a860bd8dd5
Enable HEVC RFI on Tegra
2022-10-14 23:41:09 -05:00
Cameron Gutman
704ce4ff0c
Add environment variable for overriding decoder capabilities
2022-10-14 23:39:49 -05:00
Cameron Gutman
e6c4332445
Revert "Use Rec 2020 colorspace for WCG support even if HDR is off on the host"
...
Rec 2020 conversion causes colors to be blown out in SDR
This reverts commit 472e8ee92e
.
2022-10-13 01:19:49 -05:00
Cameron Gutman
472e8ee92e
Use Rec 2020 colorspace for WCG support even if HDR is off on the host
2022-10-13 00:14:10 -05:00
Cameron Gutman
c55af7fff3
Add a decoder/renderer callback to specify the desired color range
2022-10-12 23:59:01 -05:00
Cameron Gutman
7a39daf179
Implement Rec 601 Full Range support in SDLRenderer
2022-10-12 23:52:29 -05:00
Cameron Gutman
fbbbd5e0b8
Use new LiRequestIdrFrame() API
2022-10-05 00:53:31 -05:00
Cameron Gutman
bc68aad67b
Print the frame number if decoding fails
2022-10-04 23:38:54 -05:00
Cameron Gutman
483a601867
Display SDR/HDR status in performance overlay
2022-09-28 17:44:22 -05:00
Cameron Gutman
ad3ed97472
Fix handling of 3 byte Annex B start sequences
2022-09-05 17:56:42 -05:00
Cameron Gutman
bf4332b9e7
Prefer D3D11VA in non-FSE modes for improved performance
2022-08-21 17:50:56 -05:00
Cameron Gutman
be2f4433db
Avoid hardcoding VIDEO_FORMAT_H265_MAIN10 for HDR/10-bit color
2022-06-26 16:22:05 -05:00
Cameron Gutman
2bb2745f91
Enhance frame pacing logic for HDR renderers
2022-05-07 16:21:17 -05:00
Cameron Gutman
220f50ebe4
Revert "Allow renderers to apply size and display changes seamlessly"
...
This reverts commit c989133d27
.
2022-04-24 16:12:12 -05:00
Cameron Gutman
c989133d27
Allow renderers to apply size and display changes seamlessly
2022-04-24 15:42:08 -05:00
Cameron Gutman
09ed82db65
Fix build with HAVE_MMAL
2022-04-02 16:16:40 -05:00
Cameron Gutman
a56cb0e88a
Don't waste time retrying the same renderer again
2022-04-02 16:14:04 -05:00
Cameron Gutman
9acf5ff0ef
Update workaround to prevent deadlock with h264_mmal
2022-04-02 16:06:39 -05:00
Cameron Gutman
742f1b1283
Prefer hevc_nvv4l2 over hevc_nvmpi
2022-03-26 22:54:54 -05:00
The Great Wizard Azkali
0b127a2f3b
Add support for h264_nvv4l2 and hevc_nvv4l2 ( #745 )
...
* Add support for h264_nvv4l2
A new implementation of nvv4l2 decoder has been made by @CTCaer and will be released in thr next switchroot (Linux for Nintendo Switch) update. This implementation of ffmpeg can also be used by other Jetson boards. A repository will be soon hosted so Jetson users can install it.
Prior to the new implementation distribution, we add it to the project who currently use nvmpi implementation.
* Add support for hevc_nvv4l2
Following previous PR, add hevc support as well.
2022-03-26 22:02:00 -05:00
Cameron Gutman
f256407789
Implement D3D11VA video rendering
2022-02-04 21:51:34 -06:00
Cameron Gutman
67612f607e
WIP: D3D11VA support
...
Overlays work, but drawing the actual video is unimplemented
2022-02-03 19:45:07 -06:00
Cameron Gutman
cf089fdfe9
Add support for HDR with VAAPI using DRM frontend renderer
2022-01-29 18:16:39 -06:00
Cameron Gutman
1cbdd0e675
Display the HDR option if the platform has a decoder that supports it
2022-01-29 00:59:04 -06:00