diff --git a/include/SDL3/SDL_pixels.h b/include/SDL3/SDL_pixels.h index 1ac325b9ae..94bd873c61 100644 --- a/include/SDL3/SDL_pixels.h +++ b/include/SDL3/SDL_pixels.h @@ -364,7 +364,7 @@ typedef enum SDL_PackedLayout ((format) == SDL_PIXELFORMAT_UYVY) || \ ((format) == SDL_PIXELFORMAT_YVYU) || \ ((format) == SDL_PIXELFORMAT_P010) || \ - ((format) == SDL_PIXELFORMAT_P416)) ? 2 : 1) : (((format) >> 0) & 0xFF)) + ((format) == SDL_PIXELFORMAT_I4FL)) ? 2 : 1) : (((format) >> 0) & 0xFF)) /** @@ -672,12 +672,12 @@ typedef enum SDL_PixelFormat /* SDL_DEFINE_PIXELFOURCC('N', 'V', '1', '2'), */ SDL_PIXELFORMAT_NV21 = 0x3132564eu, /**< YUV 4:2:0 8-bit planar mode: Y + V/U interleaved (2 planes) */ /* SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'), */ + SDL_PIXELFORMAT_I444 = 0x34343449u, /**< YUV 4:4:4 8-bit planar mode: Y + U + V (3 planes) */ + /* SDL_DEFINE_PIXELFOURCC('I', '4', '4', '4'), */ SDL_PIXELFORMAT_P010 = 0x30313050u, /**< YUV 4:2:0 16-bit planar mode: Y + U/V interleaved (2 planes) */ /* SDL_DEFINE_PIXELFOURCC('P', '0', '1', '0'), */ - SDL_PIXELFORMAT_P408 = 0x38303450u, /**< YUV 4:4:4 8-bit planar mode: Y + U + V (3 planes) */ - /* SDL_DEFINE_PIXELFOURCC('P', '4', '0', '8'), */ - SDL_PIXELFORMAT_P416 = 0x36313450u, /**< YUV 4:4:4 16-bit planar mode: Y + U + V (3 planes) */ - /* SDL_DEFINE_PIXELFOURCC('P', '4', '0', '8'), */ + SDL_PIXELFORMAT_I4FL = 0x4c463449u, /**< YUV 4:4:4 16-bit planar mode: Y + U + V (3 planes) */ + /* SDL_DEFINE_PIXELFOURCC('I', '4', 'F', 'L'), */ SDL_PIXELFORMAT_EXTERNAL_OES = 0x2053454fu, /**< Android video texture format */ /* SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ') */ diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index 8b8a5487f2..bd0c2eb6fc 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -2497,9 +2497,9 @@ bool SDL_UpdateYUVTexture(SDL_Texture *texture, const SDL_Rect *rect, CHECK_PARAM(texture->format != SDL_PIXELFORMAT_YV12 && texture->format != SDL_PIXELFORMAT_IYUV && - texture->format != SDL_PIXELFORMAT_P408 && - texture->format != SDL_PIXELFORMAT_P416) { - return SDL_SetError("Texture format must be YV12, IYUV, P408, or P416"); + texture->format != SDL_PIXELFORMAT_I444 && + texture->format != SDL_PIXELFORMAT_I4FL) { + return SDL_SetError("Texture format must be YV12, IYUV, I444, or I4FL"); } real_rect.x = 0; diff --git a/src/render/SDL_yuv_sw.c b/src/render/SDL_yuv_sw.c index 97d8b0b59f..02fb98afa9 100644 --- a/src/render/SDL_yuv_sw.c +++ b/src/render/SDL_yuv_sw.c @@ -35,8 +35,8 @@ SDL_SW_YUVTexture *SDL_SW_CreateYUVTexture(SDL_PixelFormat format, SDL_Colorspac switch (format) { case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: case SDL_PIXELFORMAT_YUY2: case SDL_PIXELFORMAT_UYVY: case SDL_PIXELFORMAT_YVYU: @@ -82,8 +82,8 @@ SDL_SW_YUVTexture *SDL_SW_CreateYUVTexture(SDL_PixelFormat format, SDL_Colorspac swdata->planes[1] = swdata->planes[0] + swdata->pitches[0] * h; swdata->planes[2] = swdata->planes[1] + swdata->pitches[1] * ((h + 1) / 2); break; - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: swdata->pitches[0] = w * SDL_BYTESPERPIXEL(format); swdata->pitches[1] = swdata->pitches[0]; swdata->pitches[2] = swdata->pitches[1]; @@ -171,8 +171,8 @@ bool SDL_SW_UpdateYUVTexture(SDL_SW_YUVTexture *swdata, const SDL_Rect *rect, } } break; - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: if (rect->x == 0 && rect->y == 0 && rect->w == swdata->w && rect->h == swdata->h && pitch == swdata->pitches[0]) { SDL_memcpy(swdata->pixels, pixels, (size_t)(swdata->h * pitch * 3)); @@ -294,8 +294,8 @@ bool SDL_SW_UpdateYUVTexturePlanar(SDL_SW_YUVTexture *swdata, const SDL_Rect *re // Copy the U plane src = Uplane; - if (swdata->format == SDL_PIXELFORMAT_P408 || - swdata->format == SDL_PIXELFORMAT_P416) { + if (swdata->format == SDL_PIXELFORMAT_I444 || + swdata->format == SDL_PIXELFORMAT_I4FL) { dst = swdata->pixels + swdata->h * swdata->pitches[0]; dst += rect->y * swdata->pitches[1] + rect->x * bpp; length = rect->w * bpp; @@ -322,8 +322,8 @@ bool SDL_SW_UpdateYUVTexturePlanar(SDL_SW_YUVTexture *swdata, const SDL_Rect *re // Copy the V plane src = Vplane; - if (swdata->format == SDL_PIXELFORMAT_P408 || - swdata->format == SDL_PIXELFORMAT_P416) { + if (swdata->format == SDL_PIXELFORMAT_I444 || + swdata->format == SDL_PIXELFORMAT_I4FL) { dst = swdata->pixels + swdata->h * swdata->pitches[0] + swdata->h * swdata->pitches[1]; dst += rect->y * swdata->pitches[2] + rect->x * bpp; length = rect->w * bpp; @@ -390,12 +390,12 @@ bool SDL_SW_LockYUVTexture(SDL_SW_YUVTexture *swdata, const SDL_Rect *rect, switch (swdata->format) { case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: if (rect && (rect->x != 0 || rect->y != 0 || rect->w != swdata->w || rect->h != swdata->h)) { - return SDL_SetError("YV12, IYUV, P408, P416, NV12, NV21 textures only support full surface locks"); + return SDL_SetError("YV12, IYUV, I444, I4FL, NV12, NV21 textures only support full surface locks"); } break; default: diff --git a/src/render/direct3d/SDL_render_d3d.c b/src/render/direct3d/SDL_render_d3d.c index c06ec7998a..ed5e4130df 100644 --- a/src/render/direct3d/SDL_render_d3d.c +++ b/src/render/direct3d/SDL_render_d3d.c @@ -223,7 +223,7 @@ static D3DFORMAT PixelFormatToD3DFMT(Uint32 format) case SDL_PIXELFORMAT_IYUV: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: return D3DFMT_L8; default: for (int i = 0; i < SDL_arraysize(d3d_format_map); i++) { @@ -629,7 +629,7 @@ static bool D3D_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, } #ifdef SDL_HAVE_YUV if (texturedata->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { // Skip to the correct offset into the next texture pixels = (const void *)((const Uint8 *)pixels + rect->h * pitch); if (!D3D_UpdateTextureRep(data->device, &texturedata->utexture, rect->x, rect->y, rect->w, rect->h, pixels, pitch)) { @@ -708,7 +708,7 @@ static bool D3D_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_ return SDL_SetError("Unsupported YUV colorspace"); } } - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { texturedata->yuv = true; if (!D3D_CreateTextureRep(data->device, &texturedata->utexture, usage, texture->format, PixelFormatToD3DFMT(texture->format), texture->w, texture->h)) { @@ -772,7 +772,7 @@ static bool D3D_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, if (!D3D_UpdateTextureRep(data->device, &texturedata->texture, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch)) { return false; } - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { if (!D3D_UpdateTextureRep(data->device, &texturedata->utexture, rect->x, rect->y, rect->w, rect->h, Uplane, Upitch)) { return false; } @@ -2045,7 +2045,7 @@ static bool D3D_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P if (caps.MaxSimultaneousTextures >= 3 && data->shaders[SHADER_YUV]) { SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); } #endif diff --git a/src/render/direct3d11/SDL_render_d3d11.c b/src/render/direct3d11/SDL_render_d3d11.c index 0128ff793a..6a541a36fe 100644 --- a/src/render/direct3d11/SDL_render_d3d11.c +++ b/src/render/direct3d11/SDL_render_d3d11.c @@ -266,14 +266,14 @@ static DXGI_FORMAT SDLPixelFormatToDXGITextureFormat(Uint32 format, Uint32 outpu case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: return DXGI_FORMAT_R8_UNORM; case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: return DXGI_FORMAT_NV12; case SDL_PIXELFORMAT_P010: return DXGI_FORMAT_P010; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: return DXGI_FORMAT_R16_UNORM; default: for (int i = 0; i < SDL_arraysize(dxgi_format_map); i++) { @@ -1311,8 +1311,8 @@ static bool D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD return SDL_SetError("Unsupported YUV colorspace"); } } - if (texture->format == SDL_PIXELFORMAT_P408 || - texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || + texture->format == SDL_PIXELFORMAT_I4FL) { textureData->yuv = true; @@ -1344,7 +1344,7 @@ static bool D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD } SDL_SetPointerProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER, textureData->mainTextureV); - const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_P408) ? 8 : 16; + const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_I444) ? 8 : 16; textureData->YCbCr_matrix = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace, texture->w, texture->h, bits_per_pixel); if (!textureData->YCbCr_matrix) { return SDL_SetError("Unsupported YUV colorspace"); @@ -1603,7 +1603,7 @@ static bool D3D11_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, return D3D11_UpdateTextureNV(renderer, texture, rect, plane0, Ypitch, plane1, UVpitch); } else if (textureData->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { const Uint8 *plane0 = (const Uint8 *)srcPixels; const Uint8 *plane1 = plane0 + rect->h * srcPitch; const Uint8 *plane2 = plane1 + rect->h * srcPitch; @@ -1653,7 +1653,7 @@ static bool D3D11_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, if (!D3D11_UpdateTextureInternal(rendererData, textureData->mainTexture, SDL_BYTESPERPIXEL(texture->format), rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch)) { return false; } - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { if (!D3D11_UpdateTextureInternal(rendererData, textureData->mainTextureU, SDL_BYTESPERPIXEL(texture->format), rect->x, rect->y, rect->w, rect->h, Uplane, Upitch)) { return false; } @@ -2216,7 +2216,7 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC break; case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_SRGB; break; @@ -2232,7 +2232,7 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC constants->texture_type = TEXTURETYPE_NV12; constants->input_type = INPUTTYPE_HDR10; break; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_HDR10; break; @@ -3075,11 +3075,11 @@ static bool D3D11_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_INDEX8); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P416); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I4FL); return true; } diff --git a/src/render/direct3d12/SDL_render_d3d12.c b/src/render/direct3d12/SDL_render_d3d12.c index b6e7c2ef8b..daff2f13a9 100644 --- a/src/render/direct3d12/SDL_render_d3d12.c +++ b/src/render/direct3d12/SDL_render_d3d12.c @@ -328,14 +328,14 @@ static DXGI_FORMAT SDLPixelFormatToDXGITextureFormat(SDL_PixelFormat format, Uin case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: return DXGI_FORMAT_R8_UNORM; case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: return DXGI_FORMAT_NV12; case SDL_PIXELFORMAT_P010: return DXGI_FORMAT_P010; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: return DXGI_FORMAT_R16_UNORM; default: for (int i = 0; i < SDL_arraysize(dxgi_format_map); i++) { @@ -1741,8 +1741,8 @@ static bool D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD } } - if (texture->format == SDL_PIXELFORMAT_P408 || - texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || + texture->format == SDL_PIXELFORMAT_I4FL) { textureData->yuv = true; if (!GetTextureProperty(create_props, SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER, &textureData->mainTextureU)) { @@ -1783,7 +1783,7 @@ static bool D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD textureData->mainResourceStateV = D3D12_RESOURCE_STATE_COPY_DEST; SDL_SetPointerProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER, textureData->mainTextureV); - const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_P408) ? 8 : 16; + const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_I444) ? 8 : 16; textureData->YCbCr_matrix = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace, texture->w, texture->h, bits_per_pixel); if (!textureData->YCbCr_matrix) { return SDL_SetError("Unsupported YUV colorspace"); @@ -2071,7 +2071,7 @@ static bool D3D12_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, } #ifdef SDL_HAVE_YUV if (textureData->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { // Skip to the correct offset into the next texture srcPixels = (const void *)((const Uint8 *)srcPixels + rect->h * srcPitch); if (!D3D12_UpdateTextureInternal(rendererData, textureData->mainTextureU, 0, rect->x, rect->y, rect->w, rect->h, srcPixels, srcPitch, &textureData->mainResourceStateU)) { @@ -2136,7 +2136,7 @@ static bool D3D12_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, if (!D3D12_UpdateTextureInternal(rendererData, textureData->mainTexture, 0, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch, &textureData->mainResourceState)) { return false; } - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { if (!D3D12_UpdateTextureInternal(rendererData, textureData->mainTextureU, 0, rect->x, rect->y, rect->w, rect->h, Uplane, Upitch, &textureData->mainResourceStateU)) { return false; } @@ -2676,7 +2676,7 @@ static void D3D12_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC break; case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_SRGB; break; @@ -2692,7 +2692,7 @@ static void D3D12_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC constants->texture_type = TEXTURETYPE_NV12; constants->input_type = INPUTTYPE_HDR10; break; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_HDR10; break; @@ -3681,11 +3681,11 @@ bool D3D12_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Proper SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_INDEX8); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P416); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I4FL); return true; } diff --git a/src/render/gpu/SDL_render_gpu.c b/src/render/gpu/SDL_render_gpu.c index 5a5b7aa5e4..db065138f6 100644 --- a/src/render/gpu/SDL_render_gpu.c +++ b/src/render/gpu/SDL_render_gpu.c @@ -288,13 +288,13 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_ case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: format = SDL_GPU_TEXTUREFORMAT_R8_UNORM; break; case SDL_PIXELFORMAT_P010: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: format = SDL_GPU_TEXTUREFORMAT_R16_UNORM; break; default: @@ -328,8 +328,8 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_ // Need to add size for the U and V planes size += 2 * ((texture->h + 1) / 2) * ((data->pitch + 1) / 2); } - if (texture->format == SDL_PIXELFORMAT_P408 || - texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || + texture->format == SDL_PIXELFORMAT_I4FL) { // Need to add size for the U and V planes size += 2 * texture->h * data->pitch; } @@ -411,8 +411,8 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_ return SDL_SetError("Unsupported YUV colorspace"); } } - if (texture->format == SDL_PIXELFORMAT_P408 || - texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || + texture->format == SDL_PIXELFORMAT_I4FL) { data->yuv = true; data->textureU = SDL_GetPointerProperty(create_props, SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER, NULL); @@ -437,7 +437,7 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_ } SDL_SetPointerProperty(props, SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER, data->textureU); - const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_P408) ? 8 : 16; + const int bits_per_pixel = (texture->format == SDL_PIXELFORMAT_I444) ? 8 : 16; data->YCbCr_matrix = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace, texture->w, texture->h, bits_per_pixel); if (!data->YCbCr_matrix) { return SDL_SetError("Unsupported YUV colorspace"); @@ -581,7 +581,7 @@ static bool GPU_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, cons retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureNV, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, UVplane, UVpitch); } else if (data->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { const Uint8 *Yplane = (const Uint8 *)pixels; const Uint8 *Uplane = Yplane + rect->h * pitch; const Uint8 *Vplane = Uplane + rect->h * pitch; @@ -625,7 +625,7 @@ static bool GPU_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, SDL_GPUCommandBuffer *cbuf = renderdata->state.command_buffer; SDL_GPUCopyPass *cpass = SDL_BeginGPUCopyPass(cbuf); retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->texture, bpp, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch); - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureU, bpp, rect->x, rect->y, rect->w, rect->h, Uplane, Upitch); retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureV, bpp, rect->x, rect->y, rect->w, rect->h, Vplane, Vpitch); } else { @@ -928,7 +928,7 @@ static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_R break; case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_SRGB; break; @@ -944,7 +944,7 @@ static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_R constants->texture_type = TEXTURETYPE_NV12; constants->input_type = INPUTTYPE_HDR10; break; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: constants->texture_type = TEXTURETYPE_YUV; constants->input_type = INPUTTYPE_HDR10; break; @@ -1908,11 +1908,11 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_INDEX8); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P416); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I4FL); SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, 16384); diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m index 0f6389d45b..14b9853e3f 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -755,14 +755,14 @@ static bool METAL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD break; case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: pixfmt = MTLPixelFormatR8Unorm; break; case SDL_PIXELFORMAT_P010: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: pixfmt = MTLPixelFormatR16Unorm; break; case SDL_PIXELFORMAT_RGBA64_FLOAT: @@ -806,12 +806,12 @@ static bool METAL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD SDL_SetPointerProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_METAL_TEXTURE_POINTER, (__bridge void *)mtltexture); #ifdef SDL_HAVE_YUV - BOOL yuv = (texture->format == SDL_PIXELFORMAT_IYUV || texture->format == SDL_PIXELFORMAT_YV12 || texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416); + BOOL yuv = (texture->format == SDL_PIXELFORMAT_IYUV || texture->format == SDL_PIXELFORMAT_YV12 || texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL); BOOL nv12 = (texture->format == SDL_PIXELFORMAT_NV12 || texture->format == SDL_PIXELFORMAT_NV21 || texture->format == SDL_PIXELFORMAT_P010); if (yuv) { mtltexdesc.pixelFormat = pixfmt; - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { mtltexdesc.width = texture->w; mtltexdesc.height = texture->h; } else { @@ -1004,7 +1004,7 @@ static bool METAL_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, id secondplane = texture->format == SDL_PIXELFORMAT_YV12 ? texturedata.mtltextureU : texturedata.mtltextureV; int UVpitch; SDL_Rect UVrect; - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { UVpitch = pitch; UVrect = *rect; } else { @@ -1055,7 +1055,7 @@ static bool METAL_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, @autoreleasepool { SDL3METAL_TextureData *texturedata = (__bridge SDL3METAL_TextureData *)texture->internal; SDL_Rect UVrect; - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { UVrect = *rect; } else { UVrect.x = rect->x / 2; @@ -1516,8 +1516,8 @@ static void SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderCommand break; case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: constants->texture_type = TEXTURETYPE_YUV; break; case SDL_PIXELFORMAT_NV12: @@ -2618,11 +2618,11 @@ static bool METAL_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_INDEX8); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P416); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I4FL); #if defined(SDL_PLATFORM_MACOS) || TARGET_OS_MACCATALYST data.mtllayer.displaySyncEnabled = NO; diff --git a/src/render/opengl/SDL_render_gl.c b/src/render/opengl/SDL_render_gl.c index 4ae3ec8ad4..b56e325612 100644 --- a/src/render/opengl/SDL_render_gl.c +++ b/src/render/opengl/SDL_render_gl.c @@ -435,7 +435,7 @@ static bool convert_format(Uint32 pixel_format, GLint *internalFormat, GLenum *f case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: *internalFormat = GL_LUMINANCE; @@ -594,7 +594,7 @@ static bool GL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_P // Need to add size for the U and V planes size += 2 * ((texture->h + 1) / 2) * ((data->pitch + 1) / 2); } - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { // Need to add size for the U and V planes size += 2 * texture->h * data->pitch; } @@ -729,7 +729,7 @@ static bool GL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_P SDL_SetNumberProperty(props, SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER, data->vtexture); } - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { data->yuv = true; data->utexture = (GLuint)SDL_GetNumberProperty(create_props, SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER, 0); @@ -841,7 +841,7 @@ static bool GL_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, pixels); #ifdef SDL_HAVE_YUV if (data->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { // Skip to the correct offset into the next texture pixels = (const void *)((const Uint8 *)pixels + rect->h * pitch); renderdata->glBindTexture(textype, data->utexture); @@ -916,7 +916,7 @@ static bool GL_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, rect->h, data->format, data->formattype, Yplane); - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { renderdata->glPixelStorei(GL_UNPACK_ROW_LENGTH, Upitch); renderdata->glBindTexture(textype, data->utexture); renderdata->glTexSubImage2D(textype, 0, rect->x, rect->y, rect->w, rect->h, @@ -2037,7 +2037,7 @@ static bool GL_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Pr data->num_texture_units >= 3) { SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); } else { SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "OpenGL YUV not supported"); } diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c index 44ff3eac63..dbaa0bc6f3 100644 --- a/src/render/opengles2/SDL_render_gles2.c +++ b/src/render/opengles2/SDL_render_gles2.c @@ -1245,7 +1245,7 @@ static bool SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, v #ifdef SDL_HAVE_YUV case SDL_PIXELFORMAT_IYUV: case SDL_PIXELFORMAT_YV12: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: sourceType = GLES2_IMAGESOURCE_TEXTURE_YUV; break; case SDL_PIXELFORMAT_NV12: @@ -1284,7 +1284,7 @@ static bool SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, v #ifdef SDL_HAVE_YUV case SDL_PIXELFORMAT_IYUV: case SDL_PIXELFORMAT_YV12: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: sourceType = GLES2_IMAGESOURCE_TEXTURE_YUV; break; case SDL_PIXELFORMAT_NV12: @@ -1747,7 +1747,7 @@ static bool GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD #ifdef SDL_HAVE_YUV case SDL_PIXELFORMAT_IYUV: case SDL_PIXELFORMAT_YV12: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: #endif @@ -1786,7 +1786,7 @@ static bool GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD data->pixel_format = format; data->pixel_type = type; #ifdef SDL_HAVE_YUV - data->yuv = ((texture->format == SDL_PIXELFORMAT_IYUV) || (texture->format == SDL_PIXELFORMAT_YV12) || (texture->format == SDL_PIXELFORMAT_P408)); + data->yuv = ((texture->format == SDL_PIXELFORMAT_IYUV) || (texture->format == SDL_PIXELFORMAT_YV12) || (texture->format == SDL_PIXELFORMAT_I444)); data->nv12 = ((texture->format == SDL_PIXELFORMAT_NV12) || (texture->format == SDL_PIXELFORMAT_NV21)); #endif data->texture_scale_mode = texture->scaleMode; @@ -1801,7 +1801,7 @@ static bool GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD #ifdef SDL_HAVE_YUV if (data->yuv) { // Need to add size for the U and V planes - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { size += 2 * texture->h * data->pitch; } else { size += 2 * ((texture->h + 1) / 2) * ((data->pitch + 1) / 2); @@ -1829,7 +1829,7 @@ static bool GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SD #ifdef SDL_HAVE_YUV if (data->yuv) { int yuv_texture_w, yuv_texture_h; - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { yuv_texture_w = texture->w; yuv_texture_h = texture->h; } else { @@ -2031,7 +2031,7 @@ static bool GLES2_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, co #ifdef SDL_HAVE_YUV if (tdata->yuv) { - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { // Skip to the correct offset into the next texture pixels = (const void *)((const Uint8 *)pixels + rect->h * pitch); data->glBindTexture(tdata->texture_type, tdata->texture_u); @@ -2121,7 +2121,7 @@ static bool GLES2_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture, data->drawstate.texture = NULL; // we trash this state. - if (texture->format == SDL_PIXELFORMAT_P408) { + if (texture->format == SDL_PIXELFORMAT_I444) { data->glBindTexture(tdata->texture_type, tdata->texture_v); GLES2_TexSubImage2D(data, tdata->texture_type, rect->x, rect->y, @@ -2468,7 +2468,7 @@ static bool GLES2_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL #ifdef SDL_HAVE_YUV SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); #endif diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index f4645580f0..80086fb271 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -478,14 +478,14 @@ static VkFormat SDLPixelFormatToVkTextureFormat(SDL_PixelFormat format, Uint32 o case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: return VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM; - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: return VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM; case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: return VK_FORMAT_G8_B8R8_2PLANE_420_UNORM; case SDL_PIXELFORMAT_P010: return VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: return VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM; default: for (int i = 0; i < SDL_arraysize(vk_format_map); i++) { @@ -2661,11 +2661,11 @@ static bool VULKAN_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, S // YUV textures must have even width and height. Also create Ycbcr conversion if (texture->format == SDL_PIXELFORMAT_YV12 || texture->format == SDL_PIXELFORMAT_IYUV || - texture->format == SDL_PIXELFORMAT_P408 || + texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_NV12 || texture->format == SDL_PIXELFORMAT_NV21 || texture->format == SDL_PIXELFORMAT_P010 || - texture->format == SDL_PIXELFORMAT_P416) { + texture->format == SDL_PIXELFORMAT_I4FL) { const uint32_t YUV_SD_THRESHOLD = 576; // Check that we have VK_KHR_sampler_ycbcr_conversion support @@ -2676,8 +2676,8 @@ static bool VULKAN_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, S VkSamplerYcbcrConversionCreateInfoKHR samplerYcbcrConversionCreateInfo = { 0 }; samplerYcbcrConversionCreateInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR; - if (texture->format != SDL_PIXELFORMAT_P408 && - texture->format != SDL_PIXELFORMAT_P416) { + if (texture->format != SDL_PIXELFORMAT_I444 && + texture->format != SDL_PIXELFORMAT_I4FL) { // Pad width/height to multiple of 2 width = (width + 1) & ~1; height = (height + 1) & ~1; @@ -3000,7 +3000,7 @@ static bool VULKAN_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, } else if (numPlanes == 3) { // YUV data - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { const Uint8 *plane0 = (const Uint8 *)srcPixels; const Uint8 *plane1 = plane0 + rect->h * srcPitch; const Uint8 *plane2 = plane1 + rect->h * srcPitch; @@ -3044,7 +3044,7 @@ static bool VULKAN_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture if (!VULKAN_UpdateTextureInternal(rendererData, textureData->mainImage.image, textureData->mainImage.format, 0, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch, &textureData->mainImage.imageLayout)) { return false; } - if (texture->format == SDL_PIXELFORMAT_P408 || texture->format == SDL_PIXELFORMAT_P416) { + if (texture->format == SDL_PIXELFORMAT_I444 || texture->format == SDL_PIXELFORMAT_I4FL) { if (!VULKAN_UpdateTextureInternal(rendererData, textureData->mainImage.image, textureData->mainImage.format, 1, rect->x, rect->y, rect->w, rect->h, Uplane, Upitch, &textureData->mainImage.imageLayout)) { return false; } @@ -3491,13 +3491,13 @@ static void VULKAN_SetupShaderConstants(SDL_Renderer *renderer, const SDL_Render switch (texture->format) { case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: constants->input_type = INPUTTYPE_SRGB; break; case SDL_PIXELFORMAT_P010: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: constants->input_type = INPUTTYPE_HDR10; break; default: @@ -4718,11 +4718,11 @@ static bool VULKAN_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SD if (rendererData->supportsKHRSamplerYCbCrConversion) { SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P408); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I444); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P416); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_I4FL); } #endif diff --git a/src/video/SDL_pixels.c b/src/video/SDL_pixels.c index a38bb371c1..e9d4250576 100644 --- a/src/video/SDL_pixels.c +++ b/src/video/SDL_pixels.c @@ -215,8 +215,8 @@ const char *SDL_GetPixelFormatName(SDL_PixelFormat format) CASE(SDL_PIXELFORMAT_NV12) CASE(SDL_PIXELFORMAT_NV21) CASE(SDL_PIXELFORMAT_P010) - CASE(SDL_PIXELFORMAT_P408) - CASE(SDL_PIXELFORMAT_P416) + CASE(SDL_PIXELFORMAT_I444) + CASE(SDL_PIXELFORMAT_I4FL) CASE(SDL_PIXELFORMAT_EXTERNAL_OES) CASE(SDL_PIXELFORMAT_MJPG) @@ -856,7 +856,7 @@ SDL_Colorspace SDL_GetDefaultColorspaceForFormat(SDL_PixelFormat format) if (SDL_ISPIXELFORMAT_FOURCC(format)) { if (format == SDL_PIXELFORMAT_MJPG) { return SDL_COLORSPACE_SRGB; - } else if (format == SDL_PIXELFORMAT_P010 || format == SDL_PIXELFORMAT_P416) { + } else if (format == SDL_PIXELFORMAT_P010 || format == SDL_PIXELFORMAT_I4FL) { return SDL_COLORSPACE_HDR10; } else { return SDL_COLORSPACE_YUV_DEFAULT; diff --git a/src/video/SDL_yuv.c b/src/video/SDL_yuv.c index a97796f3fd..732351e152 100644 --- a/src/video/SDL_yuv.c +++ b/src/video/SDL_yuv.c @@ -29,7 +29,7 @@ #ifdef SDL_HAVE_YUV static bool IsPlanar1x1Format(SDL_PixelFormat format) { - return format == SDL_PIXELFORMAT_P408 || format == SDL_PIXELFORMAT_P416; + return format == SDL_PIXELFORMAT_I444 || format == SDL_PIXELFORMAT_I4FL; } static bool IsPlanar2x2Format(SDL_PixelFormat format) @@ -105,8 +105,8 @@ bool SDL_CalculateYUVSize(SDL_PixelFormat format, int w, int h, size_t *size, si switch (format) { case SDL_PIXELFORMAT_YV12: /**< Planar mode: Y + V + U (3 planes) */ case SDL_PIXELFORMAT_IYUV: /**< Planar mode: Y + U + V (3 planes) */ - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: if (pitch) { *pitch = w * SDL_BYTESPERPIXEL(format); @@ -250,8 +250,8 @@ static bool GetYUVPlanes(int width, int height, SDL_PixelFormat format, const vo planes[0] = (const Uint8 *)yuv; planes[1] = planes[0] + pitches[0] * height; break; - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: pitches[0] = yuv_pitch; pitches[1] = pitches[0]; pitches[2] = pitches[1]; @@ -272,8 +272,8 @@ static bool GetYUVPlanes(int width, int height, SDL_PixelFormat format, const vo *uv_stride = pitches[1]; break; case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: *y = planes[0]; *y_stride = pitches[0]; *v = planes[2]; @@ -538,7 +538,7 @@ static bool yuv_rgb_std( } } - if (src_format == SDL_PIXELFORMAT_P408) { + if (src_format == SDL_PIXELFORMAT_I444) { switch (dst_format) { case SDL_PIXELFORMAT_RGBX8888: @@ -635,10 +635,10 @@ static bool yuv_rgb_std( } } - if (src_format == SDL_PIXELFORMAT_P416) { + if (src_format == SDL_PIXELFORMAT_I4FL) { switch (dst_format) { case SDL_PIXELFORMAT_RGB48: - yuvp416_rgb48_std(width, height, (const uint16_t *)y, (const uint16_t *)u, (const uint16_t *)v, y_stride, uv_stride, rgb, rgb_stride, yuv_type); + yuvi4fl_rgb48_std(width, height, (const uint16_t *)y, (const uint16_t *)u, (const uint16_t *)v, y_stride, uv_stride, rgb, rgb_stride, yuv_type); return true; default: break; @@ -702,7 +702,7 @@ bool SDL_ConvertPixels_YUV_to_RGB(int width, int height, return result; } - if (src_format == SDL_PIXELFORMAT_P416 && dst_format != SDL_PIXELFORMAT_RGB48) { + if (src_format == SDL_PIXELFORMAT_I4FL && dst_format != SDL_PIXELFORMAT_RGB48) { bool result; void *tmp; int tmp_pitch = (width * 3 * sizeof(Uint16)); @@ -859,7 +859,7 @@ static bool SDL_ConvertPixels_XRGB8888_to_YUV(int width, int height, const void switch (dst_format) { case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: { @@ -932,7 +932,7 @@ static bool SDL_ConvertPixels_XRGB8888_to_YUV(int width, int height, const void plane_u += uv_skip; plane_v += uv_skip; } - } else if (dst_format == SDL_PIXELFORMAT_P408) { + } else if (dst_format == SDL_PIXELFORMAT_I444) { // Write UV planes, not interleaved uv_skip = (uv_stride - width); for (j = 0; j < height; j++) { diff --git a/src/video/yuv2rgb/yuv_rgb_std.c b/src/video/yuv2rgb/yuv_rgb_std.c index 41b7017a81..ea08d7a156 100644 --- a/src/video/yuv2rgb/yuv_rgb_std.c +++ b/src/video/yuv2rgb/yuv_rgb_std.c @@ -175,7 +175,7 @@ static uint16_t clamp16(int32_t v) #undef YUV_BITS #define YUV_BITS 16 -#define STD_FUNCTION_NAME yuvp416_rgb48_std +#define STD_FUNCTION_NAME yuvi4fl_rgb48_std #define YUV_FORMAT YUV_FORMAT_444 #define RGB_FORMAT RGB_FORMAT_RGB48 #include "yuv_rgb_std_func.h" diff --git a/src/video/yuv2rgb/yuv_rgb_std.h b/src/video/yuv2rgb/yuv_rgb_std.h index 5e27ecfb8b..0c01a0f02b 100644 --- a/src/video/yuv2rgb/yuv_rgb_std.h +++ b/src/video/yuv2rgb/yuv_rgb_std.h @@ -159,7 +159,7 @@ void yuvp010_xbgr2101010_std( uint8_t *rgb, uint32_t rgb_stride, YCbCrType yuv_type); -void yuvp416_rgb48_std( +void yuvi4fl_rgb48_std( uint32_t width, uint32_t height, const uint16_t *y, const uint16_t *u, const uint16_t *v, uint32_t y_stride, uint32_t uv_stride, uint8_t *rgb, uint32_t rgb_stride, diff --git a/test/testautomation_pixels.c b/test/testautomation_pixels.c index 0ad4a646ac..d5d8b9d912 100644 --- a/test/testautomation_pixels.c +++ b/test/testautomation_pixels.c @@ -52,7 +52,7 @@ static const SDL_PixelFormat g_AllFormats[] = { SDL_PIXELFORMAT_YVYU, SDL_PIXELFORMAT_NV12, SDL_PIXELFORMAT_NV21, - SDL_PIXELFORMAT_P408 + SDL_PIXELFORMAT_I444 }; static const int g_numAllFormats = SDL_arraysize(g_AllFormats); @@ -100,7 +100,7 @@ static const char *g_AllFormatsVerbose[] = { "SDL_PIXELFORMAT_YVYU", "SDL_PIXELFORMAT_NV12", "SDL_PIXELFORMAT_NV21", - "SDL_PIXELFORMAT_P408" + "SDL_PIXELFORMAT_I444" }; static const SDL_PixelFormat g_AllLargeFormats[] = { @@ -632,22 +632,22 @@ SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P010_ARRAY, !SDL_ISPIXELFORMAT_ARRAY(SDL SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P010_10BIT, !SDL_ISPIXELFORMAT_10BIT(SDL_PIXELFORMAT_P010)); SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P010_FLOAT, !SDL_ISPIXELFORMAT_FLOAT(SDL_PIXELFORMAT_P010)); SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P010_ALPHA, !SDL_ISPIXELFORMAT_ALPHA(SDL_PIXELFORMAT_P010)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_FORMAT, SDL_PIXELFORMAT_P408 == SDL_DEFINE_PIXELFOURCC('P', '4', '0', '8')); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_FOURCC, SDL_ISPIXELFORMAT_FOURCC(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_INDEXED, !SDL_ISPIXELFORMAT_INDEXED(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_PACKED, !SDL_ISPIXELFORMAT_PACKED(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_ARRAY, !SDL_ISPIXELFORMAT_ARRAY(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_10BIT, !SDL_ISPIXELFORMAT_10BIT(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_FLOAT, !SDL_ISPIXELFORMAT_FLOAT(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P408_ALPHA, !SDL_ISPIXELFORMAT_ALPHA(SDL_PIXELFORMAT_P408)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_FORMAT, SDL_PIXELFORMAT_P416 == SDL_DEFINE_PIXELFOURCC('P', '4', '1', '6')); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_FOURCC, SDL_ISPIXELFORMAT_FOURCC(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_INDEXED, !SDL_ISPIXELFORMAT_INDEXED(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_PACKED, !SDL_ISPIXELFORMAT_PACKED(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_ARRAY, !SDL_ISPIXELFORMAT_ARRAY(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_10BIT, !SDL_ISPIXELFORMAT_10BIT(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_FLOAT, !SDL_ISPIXELFORMAT_FLOAT(SDL_PIXELFORMAT_P416)); -SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_P416_ALPHA, !SDL_ISPIXELFORMAT_ALPHA(SDL_PIXELFORMAT_P416)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_FORMAT, SDL_PIXELFORMAT_I444 == SDL_DEFINE_PIXELFOURCC('I', '4', '4', '4')); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_FOURCC, SDL_ISPIXELFORMAT_FOURCC(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_INDEXED, !SDL_ISPIXELFORMAT_INDEXED(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_PACKED, !SDL_ISPIXELFORMAT_PACKED(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_ARRAY, !SDL_ISPIXELFORMAT_ARRAY(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_10BIT, !SDL_ISPIXELFORMAT_10BIT(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_FLOAT, !SDL_ISPIXELFORMAT_FLOAT(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I444_ALPHA, !SDL_ISPIXELFORMAT_ALPHA(SDL_PIXELFORMAT_I444)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_FORMAT, SDL_PIXELFORMAT_I4FL == SDL_DEFINE_PIXELFOURCC('I', '4', 'F', 'L')); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_FOURCC, SDL_ISPIXELFORMAT_FOURCC(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_INDEXED, !SDL_ISPIXELFORMAT_INDEXED(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_PACKED, !SDL_ISPIXELFORMAT_PACKED(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_ARRAY, !SDL_ISPIXELFORMAT_ARRAY(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_10BIT, !SDL_ISPIXELFORMAT_10BIT(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_FLOAT, !SDL_ISPIXELFORMAT_FLOAT(SDL_PIXELFORMAT_I4FL)); +SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_I4FL_ALPHA, !SDL_ISPIXELFORMAT_ALPHA(SDL_PIXELFORMAT_I4FL)); SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_EXTERNAL_OES_FORMAT, SDL_PIXELFORMAT_EXTERNAL_OES == SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')); SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_EXTERNAL_OES_FOURCC, SDL_ISPIXELFORMAT_FOURCC(SDL_PIXELFORMAT_EXTERNAL_OES)); SDL_COMPILE_TIME_ASSERT(SDL_PIXELFORMAT_EXTERNAL_OES_INDEXED, !SDL_ISPIXELFORMAT_INDEXED(SDL_PIXELFORMAT_EXTERNAL_OES)); diff --git a/test/testyuv.c b/test/testyuv.c index 9c2ba97aaa..ba70a52a8a 100644 --- a/test/testyuv.c +++ b/test/testyuv.c @@ -15,7 +15,7 @@ #include "testyuv_cvt.h" #include "testutils.h" -/* 422 (YUY2, etc) and P416 formats are the largest */ +/* 422 (YUY2, etc) and I4FL formats are the largest */ #define MAX_YUV_SURFACE_SIZE(W, H, P) ((H + 1) * ((W + 1) + P) * 3 * 2) /* Return true if the YUV format is packed pixels */ @@ -109,7 +109,7 @@ static bool run_automated_tests(int pattern_size, int extra_pitch) const Uint32 formats[] = { SDL_PIXELFORMAT_YV12, SDL_PIXELFORMAT_IYUV, - SDL_PIXELFORMAT_P408, + SDL_PIXELFORMAT_I444, SDL_PIXELFORMAT_NV12, SDL_PIXELFORMAT_NV21, SDL_PIXELFORMAT_YUY2, @@ -165,7 +165,7 @@ static bool run_automated_tests(int pattern_size, int extra_pitch) /* Verify conversion between YUV formats */ for (i = 0; i < SDL_arraysize(formats); ++i) { for (j = 0; j < SDL_arraysize(formats); ++j) { - if (formats[i] != formats[j] && (formats[i] == SDL_PIXELFORMAT_P408 || formats[j] == SDL_PIXELFORMAT_P408)) { + if (formats[i] != formats[j] && (formats[i] == SDL_PIXELFORMAT_I444 || formats[j] == SDL_PIXELFORMAT_I444)) { // Converting between 444 and 420 formats is lossy and not currently supported continue; } @@ -195,7 +195,7 @@ static bool run_automated_tests(int pattern_size, int extra_pitch) continue; } - if (formats[i] != formats[j] && (formats[i] == SDL_PIXELFORMAT_P408 || formats[j] == SDL_PIXELFORMAT_P408)) { + if (formats[i] != formats[j] && (formats[i] == SDL_PIXELFORMAT_I444 || formats[j] == SDL_PIXELFORMAT_I444)) { // Converting between 444 and 420 formats is lossy and not currently supported continue; } @@ -469,7 +469,7 @@ static bool create_textures(SDL_Renderer *renderer, SDL_Surface *original, SDL_P SDL_free(plane0); SDL_free(plane1); SDL_free(plane2); - } else if (planar && (yuv_format == SDL_PIXELFORMAT_P408 || yuv_format == SDL_PIXELFORMAT_P416)) { + } else if (planar && (yuv_format == SDL_PIXELFORMAT_I444 || yuv_format == SDL_PIXELFORMAT_I4FL)) { const int rows = original->h; const Uint8 *src_plane0 = (const Uint8 *)raw_yuv; const Uint8 *src_plane1 = src_plane0 + rows * pitch; @@ -644,7 +644,7 @@ static bool run_all_format_test(SDL_Window *window, const char *requested_render const SDL_PixelFormat yuv_formats[] = { SDL_PIXELFORMAT_YV12, SDL_PIXELFORMAT_IYUV, - SDL_PIXELFORMAT_P408, + SDL_PIXELFORMAT_I444, SDL_PIXELFORMAT_YUY2, SDL_PIXELFORMAT_UYVY, SDL_PIXELFORMAT_YVYU, @@ -906,8 +906,8 @@ int main(int argc, char **argv) } else if (SDL_strcmp(argv[i], "--iyuv") == 0) { yuv_format = SDL_PIXELFORMAT_IYUV; consumed = 1; - } else if (SDL_strcmp(argv[i], "--p408") == 0) { - yuv_format = SDL_PIXELFORMAT_P408; + } else if (SDL_strcmp(argv[i], "--i444") == 0) { + yuv_format = SDL_PIXELFORMAT_I444; consumed = 1; } else if (SDL_strcmp(argv[i], "--yuy2") == 0) { yuv_format = SDL_PIXELFORMAT_YUY2; @@ -929,8 +929,8 @@ int main(int argc, char **argv) rgb_format = SDL_PIXELFORMAT_XBGR2101010; SetYUVConversionMode(YUV_CONVERSION_BT2020); consumed = 1; - } else if (SDL_strcmp(argv[i], "--p416") == 0) { - yuv_format = SDL_PIXELFORMAT_P416; + } else if (SDL_strcmp(argv[i], "--i4fl") == 0) { + yuv_format = SDL_PIXELFORMAT_I4FL; rgb_format = SDL_PIXELFORMAT_XBGR2101010; SetYUVConversionMode(YUV_CONVERSION_BT2020); consumed = 1; @@ -981,7 +981,7 @@ int main(int argc, char **argv) if (consumed <= 0) { static const char *options[] = { "[--jpeg|--bt601|--bt709|--auto]", - "[--yv12|--iyuv|--p408|--yuy2|--uyvy|--yvyu|--nv12|--nv21|--p010|--p416]", + "[--yv12|--iyuv|--i444|--yuy2|--uyvy|--yvyu|--nv12|--nv21|--p010|--i4fl]", "[--rgb555|--rgb565|--rgb24|--argb|--abgr|--rgba|--bgra]", "[--monochrome] [--luminance N%] [--planar]", "[--automated] [--colorspace-test] [--renderer NAME]", diff --git a/test/testyuv_cvt.c b/test/testyuv_cvt.c index d634d36111..3d9d2ba3c1 100644 --- a/test/testyuv_cvt.c +++ b/test/testyuv_cvt.c @@ -237,10 +237,10 @@ static void ConvertRGBtoPlanar1x1(Uint32 format, Uint8 *src, int pitch, Uint8 *o U = (Y + h * w * yuv_bytes_per_pixel); V = (U + h * w * yuv_bytes_per_pixel); switch (format) { - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: yuv_bits = 8; break; - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: yuv_bits = 16; break; default: @@ -252,7 +252,7 @@ static void ConvertRGBtoPlanar1x1(Uint32 format, Uint8 *src, int pitch, Uint8 *o for (x = 0; x < w; ++x) { RGBtoYUV(rgb, 8, yuv, yuv_bits, mode, monochrome, luminance); rgb += 3; - if (format == SDL_PIXELFORMAT_P408) { + if (format == SDL_PIXELFORMAT_I444) { *Y = (Uint8)yuv[0]; *U = (Uint8)yuv[1]; *V = (Uint8)yuv[2]; @@ -564,8 +564,8 @@ static void ConvertRGBtoPacked4(Uint32 format, Uint8 *src, int pitch, Uint8 *out bool ConvertRGBtoYUV(Uint32 format, Uint8 *src, int pitch, Uint8 *out, int w, int h, YUV_CONVERSION_MODE mode, int monochrome, int luminance) { switch (format) { - case SDL_PIXELFORMAT_P408: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I444: + case SDL_PIXELFORMAT_I4FL: ConvertRGBtoPlanar1x1(format, src, pitch, out, w, h, mode, monochrome, luminance); return true; case SDL_PIXELFORMAT_P010: @@ -591,11 +591,11 @@ int CalculateYUVPitch(Uint32 format, int width) { switch (format) { case SDL_PIXELFORMAT_P010: - case SDL_PIXELFORMAT_P416: + case SDL_PIXELFORMAT_I4FL: return width * 2; case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: - case SDL_PIXELFORMAT_P408: + case SDL_PIXELFORMAT_I444: case SDL_PIXELFORMAT_NV12: case SDL_PIXELFORMAT_NV21: return width;