Sam Lantinga
f2cd361e25
testyuv: added validation of P010 YUV format
...
Also added conversion between RGB and P010, using XRGB2101010 as a bridging format in PQ space
2024-03-01 20:26:52 -08:00
Sam Lantinga
47be24d225
testyuv: added --monochrome and --luminance options for interactive mode
2024-03-01 07:42:34 -08:00
Sam Lantinga
991ad27de8
testyuv: added GetColorspaceForYUVConversionMode()
2024-03-01 07:42:34 -08:00
Ryan C. Gordon
1e8b006d43
stdlib: qsort and bsearch changes.
...
- Always use internal qsort and bsearch implementation.
- add "_r" reentrant versions.
The reasons for always using the internal versions is that the C runtime
versions' callbacks are not mark STDCALL, so we would have add bridge
functions for them anyhow, The C runtime qsort_r/qsort_s have different
orders of arguments on different platforms, and most importantly: qsort()
isn't a stable sort, and isn't guaranteed to give the same ordering for
two objects marked as equal by the callback...as such, Visual Studio and
glibc can give different sort results for the same data set...in this
sense, having one piece of code shared on all platforms makes sense here,
for reliabillity.
bsearch does not have a standard _r version at all, and suffers from the
same SDLCALL concern. Since the code is simple and we would have to work
around the C runtime, it's easier to just go with the built-in function
and remove all the CMake C runtime tests.
Fixes #9159 .
2024-03-01 08:28:12 -05:00
Sam Lantinga
039144350c
Be more precise about what we're testing in testyuv
2024-02-28 17:15:47 -08:00
Sam Lantinga
b30ba1c5d4
Updated RGBtoYUV() to use the full YCbCr conversion formula
2024-02-28 16:58:39 -08:00
Sam Lantinga
353e76b40b
Use the correct colorspace for yuv conversion tests
2024-02-28 10:03:18 -08:00
Sam Lantinga
fb3bf1dcbd
Fixed device queue initialization when render and present queue families are different
2024-02-28 08:55:56 -08:00
Anonymous Maarten
0a961915dc
cmake: testffmpeg requires link to EGL library for EGL feature
2024-02-27 12:28:06 +01: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
141497b14f
Added an automated test to verify clip rect functionality
2024-02-25 09:44:41 -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
Anonymous Maarten
cbf0b1ce81
testcamera: create window and renderer through test library
2024-02-21 00:49:15 +01:00
Ryan C. Gordon
f59c66a97f
testcamera: Allow app to flip between a front and back camera.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
b1ed49772c
camera: Replace testcamera.c with testcameraminimal.c
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
47313bba32
camera: SDL_GetCameraDevices should not report "no devices" like an error.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
0b8617f71d
test: Fixed CMake to build testcameraminimal correctly on WinRT.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
67708f9110
camera: Emscripten support!
...
This also adds code to deal with waiting for the user to approve camera
access, reworks testcameraminimal to use main callbacks, etc.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
87e7046fca
camera: Public API functions should say "Format" not "Spec" to match audio.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
d3e6ef3cc6
camera: Massive code reworking.
...
- Simplified public API, simplified backend interface.
- Camera device hotplug events.
- Thread code is split up so it backends that provide own threads can use it.
- Added "dummy" backend.
Note that CoreMedia (Apple) and Android backends need to be updated, as does
the testcamera app (testcameraminimal works).
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
cb10c80aaf
camera: Reworked to operate with a driver interface, like other subsystems.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
7ae955ce68
camera: Renamed everything from "video capture" to "camera", wired to CMake.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
f49ce4a15d
camera: Renamed "video_capture" files to "camera" and moved to own subdir.
2024-02-20 15:56:26 -05:00
Sam Lantinga
ed615e92b7
Updated automated test now that getting an invalid property isn't an error
2024-02-17 09:30:50 -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
cb38649490
Added SDL_PROP_DISPLAY_HDR_WHITE_LEVEL_FLOAT
2024-02-16 19:50:41 -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
2f7c24e4be
Removed SDL_HINT_RENDER_SCALE_QUALITY
...
Textures now default to linear filtering, use SDL_SetTextureScaleMode(texture, SDL_SCALEMODE_NEAREST) if you want nearest pixel mode instead.
2024-02-12 09:54:33 -08:00
Sam Lantinga
7cb1ca60ec
Removed SDL_HINT_RENDER_OPENGL_SHADERS
...
Shaders are always used if they are available.
2024-02-12 09:54:33 -08:00
Sam Lantinga
a538936821
Renamed SDL_HINT_LINUX_JOYSTICK_DEADZONES to SDL_HINT_JOYSTICK_LINUX_DEADZONES
2024-02-12 09:54:33 -08:00
Sam Lantinga
9ce7fe2848
Removed SDL_HINT_ACCELEROMETER_AS_JOYSTICK
...
Sensors are a first-class object in SDL and we haven't gotten any feedback that this feature is useful these days.
Closes https://github.com/libsdl-org/SDL/pull/7879
2024-02-12 09:54:33 -08:00
Sam Lantinga
cacac6cc34
Updated structure and field names for consistency
...
Type names are camel case and field names are snake case except for fields ending in id, which are capitalized.
Fixes https://github.com/libsdl-org/SDL/issues/6955
2024-02-11 08:27:56 -08:00
Sam Lantinga
f6b92c9b88
Re-added a simplified version of SDL_SetWindowShape()
...
In order to handle mouse click transparency this needs to be implemented inside SDL
2024-02-09 16:04:46 -08:00
Sam Lantinga
1143bdc351
Greatly simplified the shape example
2024-02-09 03:04:40 -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
3158342441
Use SDL_Color for SDL_RenderGeometryRaw() and add SDL_RenderGeometryRawFloat()
...
Eventually we can re-add a fast path for that data down to the individual renderers. Setting color scale would still require converting to float, and most hardware accelerated renderers prefer to consume colors as float, so this requires some thought and performance testing.
Fixes https://github.com/libsdl-org/SDL/issues/9009
2024-02-06 18:16:41 -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
ba074acad4
Implemented scRGB colorspace and HDR support on macOS
2024-02-06 12:29:44 -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
meyraud705
f85535b4b6
Use functions from SDL instead of libc
2024-02-05 09:01:28 -05:00
Sam Lantinga
ec322bee1c
Fixed testyuv help message
2024-02-04 13:09:40 -08:00
Sam Lantinga
327b976bc4
SDL_COLORSPACE_JPEG is the default YUV colorspace
2024-02-04 13:09:40 -08:00