Added a simple linear scale for tonemapped HDR to SDR surface conversion

This commit is contained in:
Sam Lantinga 2024-02-01 10:34:59 -08:00
parent fc35b7e121
commit 19dde63e7c
2 changed files with 57 additions and 24 deletions

View file

@ -232,6 +232,7 @@ extern DECLSPEC void SDLCALL SDL_DestroySurface(SDL_Surface *surface);
* cd/m2 or nits) of the entire playback sequence. MaxFALL is calculated by
* averaging the decoded luminance values of all the pixels within a frame.
* MaxFALL is usually much lower than MaxCLL.
* - `SDL_PROP_SURFACE_TONEMAP_OPERATOR_STRING`: the tone mapping operator used when converting between different colorspaces. Currently this supports the form "*=N", where N is a floating point scale factor applied in linear space.
*
* \param surface the SDL_Surface structure to query
* \returns a valid property ID on success or 0 on failure; call
@ -247,6 +248,7 @@ extern DECLSPEC SDL_PropertiesID SDLCALL SDL_GetSurfaceProperties(SDL_Surface *s
#define SDL_PROP_SURFACE_COLORSPACE_NUMBER "SDL.surface.colorspace"
#define SDL_PROP_SURFACE_MAXCLL_NUMBER "SDL.surface.maxCLL"
#define SDL_PROP_SURFACE_MAXFALL_NUMBER "SDL.surface.maxFALL"
#define SDL_PROP_SURFACE_TONEMAP_OPERATOR_STRING "SDL.surface.tonemap"
/**
* Set the colorspace used by a surface.