Update a rectangle within a planar YV12 or IYUV texture with new pixel data.
Defined in <SDL3/SDL_render.h>
bool SDL_UpdateYUVTexture(SDL_Texture *texture,
const SDL_Rect *rect,
const Uint8 *Yplane, int Ypitch,
const Uint8 *Uplane, int Upitch,
const Uint8 *Vplane, int Vpitch);
SDL_Texture * | texture | the texture to update. |
const SDL_Rect * | rect | a pointer to the rectangle of pixels to update, or NULL to update the entire texture. |
const Uint8 * | Yplane | the raw pixel data for the Y plane. |
int | Ypitch | the number of bytes between rows of pixel data for the Y plane. |
const Uint8 * | Uplane | the raw pixel data for the U plane. |
int | Upitch | the number of bytes between rows of pixel data for the U plane. |
const Uint8 * | Vplane | the raw pixel data for the V plane. |
int | Vpitch | the number of bytes between rows of pixel data for the V plane. |
(bool) Returns true on success or false on failure; call SDL_GetError() for more information.
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.
This function should only be called on the main thread.
This function is available since SDL 3.1.3.