Sam Lantinga
5bf6bc4d7d
Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty()
...
This is consistent with the naming for the functions that affect other data types
Fixes https://github.com/libsdl-org/SDL/issues/10241
2024-07-12 10:41:02 -07:00
Ryan C. Gordon
4755055bc3
audio: Separate channel maps out of SDL_AudioSpec.
2024-07-10 15:43:57 -04:00
Sam Lantinga
2ba76dbe80
Simplified SDL_Surface
...
SDL_Surface has been simplified and internal details are no longer in the public structure.
The `format` member of SDL_Surface is now an enumerated pixel format value. You can get the full details of the pixel format by calling `SDL_GetPixelFormatDetails(surface->format)`. You can get the palette associated with the surface by calling SDL_GetSurfacePalette(). You can get the clip rectangle by calling SDL_GetSurfaceClipRect().
SDL_PixelFormat has been renamed SDL_PixelFormatDetails and just describes the pixel format, it does not include a palette for indexed pixel types.
SDL_PixelFormatEnum has been renamed SDL_PixelFormat and is used instead of Uint32 for API functions that refer to pixel format by enumerated value.
SDL_MapRGB(), SDL_MapRGBA(), SDL_GetRGB(), and SDL_GetRGBA() take an optional palette parameter for indexed color lookups.
2024-07-10 00:48:18 -07:00
Ryan C. Gordon
16e7fdc4f2
audio: Add channel remapping to SDL_AudioSpec and SDL_AudioStream.
...
Fixes #8367 .
2024-07-03 14:38:33 -04:00
Sam Lantinga
96f2f23240
Simplified SDL random function names and added thread-safe versions
2024-06-24 11:49:15 -07:00
Sam Lantinga
0dd579d40d
Removed SDL_Keysym
2024-06-21 22:06:08 -07:00
Frank Praznik
2f276a2eea
video: Expose HDR metadata per-window
...
Moves the HDR properties from the display to be per-window, and adds the frog_color protocol to enable HDR under Wayland.
2024-06-20 15:55:07 -04:00
John Kaniarz
8f29f8cae5
Renamed SDL_rand() to SDL_rand_bits() and updated tests
2024-06-19 17:00:58 -07:00
Sam Lantinga
d1d484ddbe
Added SDL_srand(), SDL_rand(), and SDL_rand_r() (thanks @JKaniarz!)
...
These are simple random functions that should not be used for serious random number generation.
Fixes https://github.com/libsdl-org/SDL/issues/4968
2024-06-16 07:41:00 -07:00
Ryan C. Gordon
38f0214e8a
audio: Refer to audio devices to "playback" and "recording".
...
Fixes #9619 .
2024-06-15 01:08:12 -04:00
Sam Lantinga
80a907e0e6
Backed out the viewport and cliprect changes in 9fb5a9ccac
...
This ended up being lots of application code churn without any real benefit in practice.
2024-06-12 19:25:15 -07:00
Sam Lantinga
9fb5a9ccac
Use floating point values for viewport, clip rectangle, and texture sizes
...
These are integer values internally, but the API has been changed to make it easier to mix other render code with querying those values.
Fixes https://github.com/libsdl-org/SDL/issues/7519
2024-06-12 10:18:39 -07:00
Sam Lantinga
a0d1445ccb
Replaced SDL_GetRendererInfo() with SDL_GetRendererName()
...
The texture formats are available via the SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER property
Fixes https://github.com/libsdl-org/SDL/issues/9851
2024-06-03 21:10:58 -07:00
Anonymous Maarten
a919774fe4
Build with -Wfloat-conversion + fix all warnings
2024-06-03 21:33:29 +00:00
Sam Lantinga
df25e4022d
Removed short aliases for 16-bit pixel formats
...
These were potentially misleading in the same way the RGB888/BGR888 aliases were
Fixes https://github.com/libsdl-org/SDL/issues/4994
2024-05-27 07:24:46 -07:00
Sam Lantinga
4609af618a
Updated logging functions for SDL3 naming convention
2024-05-16 10:22:15 -07:00
Sam Lantinga
d51b53ef8f
Add final Vulkan AV1 ext and VVC support
...
Fixes https://github.com/libsdl-org/SDL/issues/9464
2024-04-15 16:15:09 -07:00
Petar Popovic
edb370b8bb
Fixing testffmpeg.c fallthrough warning
2024-04-15 03:27:42 -10:00
Sam Lantinga
a82ed82bc7
SDL_QueryTexture() fills in a pointer to SDL_PixelFormatEnum
2024-04-01 15:45:22 -07:00
Anonymous Maarten
db31367999
testffmpeg: use SDL_free instead of free
2024-03-15 21:26:40 +01:00
Anonymous Maarten
f8c2ec5462
testffmpeg: use Uint64 instead of __u64
2024-03-15 21:26:40 +01:00
Ryan C. Gordon
fc7afa9cbf
rwops: Renamed SDL_RWops to SDL_IOStream, and other related symbols.
2024-03-14 19:38:12 -04:00
Sam Lantinga
41b7036f37
testffmpeg: added support for EGL OES frame formats
2024-03-12 16:13:04 -07:00
Sam Lantinga
d78a24a5ce
testffmpeg: added verbose logging of ffmpeg messages
2024-03-11 15:48:52 -07:00
Sam Lantinga
7c5f79e7ea
testffmpeg: removed redundant enumeration of hardware device types
2024-03-11 15:31:47 -07:00
Susko3
641b911d38
Update some internal files to use SDL_WindowFlags
2024-03-06 15:08:12 -08:00
Sam Lantinga
fb87f8f15c
testffmpeg: fixed mismatch between frame size and frame texture size
...
The AVHWFramesContext associated with the frame has the texture size, and the frame width and height are the displayed size and can be smaller than the texture size
2024-03-04 11:17:42 -08:00
Sam Lantinga
2d4105ba8b
testffmpeg: only enable AV_PIX_FMT_VULKAN if we have a Vulkan renderer
2024-03-04 11:17:42 -08:00
Sam Lantinga
97f97109d1
testffmpeg: fixed Vulkan validation errors
...
The semaphores need to be submitted in order
2024-03-04 09:29:36 -08:00
Sam Lantinga
dbec2150d0
testffmpeg: added support for Vulkan rendering
2024-03-04 09:29:36 -08:00
Robert Edmonds
a4d7ff6751
testffmpeg: Use EGL_EXT_image_dma_buf_import_modifiers extension
...
If the `EGL_EXT_image_dma_buf_import_modifiers` extension is available, propagate the DRM format modifier from the AVDRMObjectDescriptor to eglCreateImage() on Linux. Some hardware will decode video into a non-linear DRM surface, and passing the DRM format modifier to eglCreateImage() is required in order to display something useful.
Fixes https://github.com/libsdl-org/SDL/issues/9075
2024-03-03 15:18:56 -08:00
Sam Lantinga
7f9ff6277c
Don't assume HDR headroom for HDR10 surfaces
...
Applications that support HDR will set the correct values for their content.
2024-03-02 15:02:17 -08:00
Sam Lantinga
24e021c67e
testffmpeg: refactored texture creation properties into a single function
2024-02-26 16:01:23 -08:00
Sam Lantinga
ff18d7cfa0
testffmpeg: added pixel format mapping for NV12 and NV21
2024-02-26 15:52:21 -08:00
Sam Lantinga
f99143f437
Don't quit testffmpeg when alt-tabbing away
2024-02-26 15:21:26 -08:00
Sam Lantinga
3a796c9722
Allow specifying the render driver in the environment for testffmpeg
2024-02-26 15:13:10 -08:00
Sam Lantinga
dc9a3c83e2
Use the mastering display metadata to do proper tone mapping for HDR content
2024-02-26 14:20:34 -08:00
Sam Lantinga
4ba6aeee9d
A second take on HDR support with an SDR white point and HDR headroom
...
This better reflects how HDR content is actually used, e.g. most content is in the SDR range, with specular highlights and bright details beyond the SDR range, in the HDR headroom.
This more closely matches how HDR is handled on Apple platforms, as EDR.
This also greatly simplifies application code which no longer has to think about color scaling. SDR content is rendered at the appropriate brightness automatically, and HDR content is scaled to the correct range for the display HDR headroom.
2024-02-21 19:25:49 -08:00
Sam Lantinga
202886f873
Make use of the HDR light range when playing HDR video
2024-02-16 20:05:11 -08:00
Sam Lantinga
d451fcd7a7
Fixed HDR video content being too bright on Apple platforms
...
This probably isn't the exact formula that we need, but it's much closer to correct.
2024-02-15 16:39:13 -08:00
Sam Lantinga
c09daf8388
Removed unused variables
2024-02-15 14:11:04 -08:00
Sam Lantinga
1c4c29b7ad
Fixed a swap chain leak and a double-free in testffmpeg.c
...
Also added more debug logging to the direct3d11 renderer
2024-02-06 21:33:57 -08:00
Sam Lantinga
8afba41aef
Added support for HDR10 video on Apple platforms
2024-02-06 15:40:47 -08:00
Sam Lantinga
2039c46d2c
Added support for creating an SDL texture from a CVPixelBufferRef
2024-02-06 15:40:47 -08:00
Sam Lantinga
30e176d6ba
Added HDR display properties and related event
...
Also added an HDR calibration stage to testcolorspace
2024-02-06 02:48:05 -08:00
Sam Lantinga
d4caef5b89
Generalize SDR white level handling into a color scale
...
This gives applications better control over how and when light levels are adjusted when working with HDR content and display.
2024-02-06 02:48:05 -08:00
Sam Lantinga
e74171b1ae
Added support for HDR10 video playback on direct3d11
...
Fixes https://github.com/libsdl-org/SDL/issues/8053
2024-02-05 09:45:39 -08:00
Sam Lantinga
50a805cdd1
Use YUV colorspaces instead of a global YUV conversion mode
...
Fixes https://github.com/libsdl-org/SDL/issues/8669
2024-02-03 07:36:18 -08:00
Sam Lantinga
3b55c7d1f4
Shortened SDL property names
2024-01-27 13:00:50 -08:00
Anonymous Maarten
31d133db40
Define SDL_PLATFORM_* macros instead of underscored ones ( #8875 )
2024-01-24 01:40:51 +00:00