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
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
1a2f1ed620
Enable AV1 RFI on all decoders capable of HEVC RFI
2023-08-13 16:41:48 -05:00
Cameron Gutman
abc391f32a
Improve AV1 support
2023-07-16 15:38:58 -05:00
Cameron Gutman
5de29928cd
Plumb HDR metadata for VideoToolbox
2023-02-02 19:16:18 -06:00
Cameron Gutman
125738f13d
Cancel overlay update callbacks before destroying VTRenderer
2022-10-14 22:49:33 -05:00
Cameron Gutman
8a224fbae4
Revert "Fix macOS build"
...
This reverts commit 0928d1fab2
.
2022-10-13 01:19:56 -05:00
Cameron Gutman
0928d1fab2
Fix macOS build
2022-10-13 01:11:04 -05:00
Cameron Gutman
f8c7e2ee41
Enable HEVC RFI for VideoToolbox
2022-10-05 00:25:59 -05:00
Cameron Gutman
99885f5b4b
Centralize colorspace and color range handling
2022-09-24 12:28:23 -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
3d7ecf98c2
Fix HEVC Main10 support check on macOS GPUFamily1 GPUs
2022-05-11 22:00:34 -05:00
Cameron Gutman
9790c218dc
Wait on the display link callback before rendering to reduce latency
2022-04-07 22:08:43 -05:00
Cameron Gutman
474591c6a5
Use a separate callback to indicate EOS instead of renderFrame()
2022-04-07 21:30:20 -05: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
Cameron Gutman
af92fe6ad1
Fix Apple silicon CPU check
2022-01-23 13:01:20 -06:00
Cameron Gutman
fcf7ed4faa
Only use the VT rasterization workaround on Apple silicon
2022-01-22 20:25:50 -06:00
Cameron Gutman
a58649fd10
Update Windows and macOS to FFmpeg 5.0
2022-01-22 13:44:05 -06:00
Cameron Gutman
b9a6fb1fe5
Add workaround for AVSampleBufferDisplayLayer colorspace and artifacting issues
...
Fixes #493
2022-01-15 14:44:08 -06:00
Cameron Gutman
4b6194e15e
Add chroma location buffer attachment
2022-01-15 12:17:31 -06:00
lyashenko.v
1046d264d8
Fixed not working frame pacing on macOS
2022-01-06 23:23:00 -06:00
Cameron Gutman
8302187dee
Remove superfluous availability checks
2022-01-06 23:05:18 -06:00
Cameron Gutman
d0df4fa3a0
Fix handling of HDR colorspace transitions in VT renderer
2021-11-19 00:28:15 -06:00
liyu
0a301dd2f9
enables H265 HDR option and adds PQ transforeFunction to render HDR stream on macOS 10.13+
2021-11-18 23:42:44 -06:00
Cameron Gutman
1ebb5fefb1
Address Clazy warnings
2021-03-02 18:14:15 -06:00
Cameron Gutman
8ff9d8123d
Switch VT renderer pacing logic to be enabled by the frame pacing checkbox
2020-12-29 20:26:56 -06:00
Cameron Gutman
d09dd90a73
Fix hardcoded tick unit duration which is incorrect on Apple silicon
2020-08-12 18:07:10 -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
f30c11ddf4
Properly fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on macOS VTRenderer
2020-05-06 22:20:21 -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
529fdf0341
Add decoder options dictionary to prepareDecoderContext()
2020-02-08 17:47:26 -08:00
Cameron Gutman
c20daa8867
Add compatibility checks for HEVC Main10 in VT backend
2019-11-05 18:36:43 -08: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
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
018e8999e2
Add connection status overlay for the VT renderer
2019-03-18 20:56:53 -07: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
aba806bc32
Implement debug overlay for VideoToolbox renderer
2019-02-13 20:55:52 -08:00
Cameron Gutman
cfabaf334e
Add frame pacing toggle
2018-12-25 12:57:00 -08: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
2c068a99a3
Allow FFmpeg renderers to enforce V-sync being enabled or disabled
2018-09-03 20:57:09 -04:00
Cameron Gutman
9be9934b8c
Add reference frame invalidation for the software decoder
2018-08-25 12:38:04 -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