Cameron Gutman
dd6f1c5873
Use hasFrameFormatChanged() in SDLRenderer
2025-11-05 23:51:51 -06:00
Cameron Gutman
fd70865026
Avoid retrying renderer init if we know the error was not transient
2025-02-18 19:02:12 -06:00
Cameron Gutman
351aaa6759
Add an enum type for each renderer
2025-02-18 18:58:04 -06:00
Cameron Gutman
76fd502262
Reintroduce support for FFmpeg 4
...
Some SBCs still depend on patched FFmpeg 4.x builds for hardware acceleration.
2024-08-24 16:50:27 -05:00
Cameron Gutman
bed3a6ecd8
Print the friendly name of the unsupported AVPixelFormat in SDLRenderer
2024-08-19 20:58:45 -05:00
Cameron Gutman
5765c254cd
Add software fallback for YUV444 using libswscale
2024-08-19 19:20:17 -05:00
Cameron Gutman
c707dab70a
Plumb YUV444 logic into additional renderers
2024-07-25 06:36:40 -05:00
Cameron Gutman
d085722911
Don't attempt to use mismatched 8-bit formats with 10-bit codecs
...
In addition to silently truncating the samples, this also tickles
some nasty bugs in the VF2's out-of-tree OMX decoder.
2024-07-06 02:27:46 -05:00
Cameron Gutman
ecfcedad58
Fix window resizing on Windows with software decoding
2024-06-25 23:21:08 -05:00
Cameron Gutman
e76780e105
Add a new prepareToRender() callback for renders to perform their initial window clears
...
This consolidates all the clearing that was strewn across the codebase.
2024-06-25 23:12:18 -05:00
Cameron Gutman
2a05b890d8
Enable transparent resizing and display changes for supported renderers
2023-12-17 21:15:40 -06:00
Cameron Gutman
481f23b6e9
Remove some dependencies on fixed window and frame sizes
2023-12-17 20:39:26 -06: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
ba507d8046
Move hw->sw frame mapping into a separate class
2023-03-26 14:41:02 -05:00
Cameron Gutman
7a39daf179
Implement Rec 601 Full Range support in SDLRenderer
2022-10-12 23:52:29 -05:00
Cameron Gutman
99885f5b4b
Centralize colorspace and color range handling
2022-09-24 12:28:23 -05:00
Cameron Gutman
d39a29759c
Don't draw with test-only renderers
2022-08-21 18:38:09 -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
1b96b18bc0
Fix handling of colorspace changes when using CUDA+SDL
2022-05-28 22:55:55 -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
474591c6a5
Use a separate callback to indicate EOS instead of renderFrame()
2022-04-07 21:30:20 -05:00
Cameron Gutman
31eddd8da0
Remove superfluous colorspace check
2022-01-13 01:19:17 -06:00
Cameron Gutman
abf2a14ee6
Handle colorspace changes in SDL renderer
2022-01-13 01:16:09 -06:00
Cameron Gutman
72065412a3
Don't allow copyback rendering on RPi by default
2022-01-04 20:35:17 -06:00
Cameron Gutman
67c801c4e7
Use av_frame_copy_props() to copy metadata
2022-01-02 17:38:58 -06:00
Cameron Gutman
f7c8ad4c5a
Fail render frame test for unsupported pixel formats
2022-01-02 15:03:49 -06:00
Cameron Gutman
61092b34de
Properly handle mismatched pitch between frame and texture
2022-01-02 14:35:14 -06:00
Cameron Gutman
1e9e96fb8c
Small code cleanup for hwframe code
2022-01-02 13:58:37 -06:00
Cameron Gutman
17d1ced07c
Add support for mapping hwframes
2022-01-02 13:41:36 -06:00
Cameron Gutman
a26ced04ff
Add support for negotiating non-default transfer formats for hwframes
2022-01-01 22:15:43 -06:00
Cameron Gutman
36e0468a99
Optimize CUDA GL interop and provide fallback
2021-12-13 21:41:00 -06:00
Cameron Gutman
3e9aea1f7a
Optimize CUDA support to avoid roundtrip to CPU memory
2021-12-06 18:23:40 -06:00
Cameron Gutman
74bf981f3d
Ensure hwframe read-back works in SDL renderer
2021-03-22 23:15:14 -05:00
Cameron Gutman
2d62d090df
Use a barrier to ensure we don't flush important window events
2021-01-09 17:51:25 -06:00
Cameron Gutman
137454beff
Use SDL_UpdateNVTexture on SDL 2.0.15+
2021-01-08 18:05:27 -06:00
Cameron Gutman
d58837421f
Refactor SDL overlay drawing into OverlayManager for sharing with other renderers
2020-12-13 15:51:50 -06: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
b4548c1af2
Flush all window events after SDL_CreateRenderer()
2020-05-12 18:41:36 -07:00
Cameron Gutman
514a8575a2
Use the viewport size for computing the overlay position
2020-05-07 18:56:53 -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
8cf7f3ac08
Fix absolute mouse positioning on SDL renderer
2020-04-24 19:37:15 -07: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
6230a99360
Fix colorspace conversion with SDL as frontend renderer
2019-12-14 17:17:29 -08:00
Cameron Gutman
8b9b96f422
Only enable slicing when CPU decoding
2019-12-14 15:34:48 -08:00
Cameron Gutman
af6b8c9b88
Update common-c with colorspace configuration support
2019-12-14 14:40:02 -08:00