sdlUpdateYuvTexture function
Update a rectangle within a planar YV12 or IYUV texture with new pixel data.
You can use SDL_UpdateTexture() as long as your pixel data is a contiguous block of Y and U/V planes in the proper order, but this function is available if your pixel data is not contiguous.
\param texture the texture to update. \param rect a pointer to the rectangle of pixels to update, or NULL to update the entire texture. \param Yplane the raw pixel data for the Y plane. \param Ypitch the number of bytes between rows of pixel data for the Y plane. \param Uplane the raw pixel data for the U plane. \param Upitch the number of bytes between rows of pixel data for the U plane. \param Vplane the raw pixel data for the V plane. \param Vpitch the number of bytes between rows of pixel data for the V plane. \returns true on success or false on failure; call SDL_GetError() for more information.
\threadsafety This function should only be called on the main thread.
\since This function is available since SDL 3.1.3.
\sa SDL_UpdateNVTexture \sa SDL_UpdateTexture
extern SDL_DECLSPEC bool SDLCALL SDL_UpdateYUVTexture(SDL_Texture *texture, const SDL_Rect *rect, const Uint8 *Yplane, int Ypitch, const Uint8 *Uplane, int Upitch, const Uint8 *Vplane, int Vpitch)
Implementation
bool sdlUpdateYuvTexture(
Pointer<SdlTexture> texture,
Pointer<SdlRect> rect,
Pointer<Uint8> yplane,
int ypitch,
Pointer<Uint8> uplane,
int upitch,
Pointer<Uint8> vplane,
int vpitch) {
final sdlUpdateYuvTextureLookupFunction = libSdl3.lookupFunction<
Uint8 Function(
Pointer<SdlTexture> texture,
Pointer<SdlRect> rect,
Pointer<Uint8> yplane,
Int32 ypitch,
Pointer<Uint8> uplane,
Int32 upitch,
Pointer<Uint8> vplane,
Int32 vpitch),
int Function(
Pointer<SdlTexture> texture,
Pointer<SdlRect> rect,
Pointer<Uint8> yplane,
int ypitch,
Pointer<Uint8> uplane,
int upitch,
Pointer<Uint8> vplane,
int vpitch)>('SDL_UpdateYUVTexture');
return sdlUpdateYuvTextureLookupFunction(
texture, rect, yplane, ypitch, uplane, upitch, vplane, vpitch) ==
1;
}