---
name: "SDL_Overlay"
section: "3"
platform: "linux"
package: "libsdl1.2-dev"
version: "1.2.15+dfsg2-8"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_Overlay"
---

# SDL\_Overlay(3)

YUV video overlay

## NAME

SDL\_Overlay - YUV video overlay

## STRUCTURE DEFINITION

```
typedef struct{
  Uint32 format;
  int w, h;
  int planes;
  Uint16 *pitches;
  Uint8 **pixels;
  Uint32 hw_overlay:1;
} SDL_Overlay;
```

## STRUCTURE DATA

- **format**

  Overlay format (see below)

- **w, h**

  Width and height of overlay

- **planes**

  Number of planes in the overlay. Usually either 1 or 3

- **pitches**

  An array of pitches, one for each plane. Pitch is the length of a row in bytes.

- **pixels**

  An array of pointers to teh data of each plane. The overlay should be locked before these pointers are used.

- **hw\_overlay**

  This will be set to 1 if the overlay is hardware accelerated.

## DESCRIPTION

A **SDL\_Overlay** is similar to a **SDL\_Surface** except it stores a YUV overlay. All the fields are read only, except for **pixels** which should be *locked* before use. The **format** field stores the format of the overlay which is one of the following:

```
#define SDL_YV12_OVERLAY  0x32315659  /* Planar mode: Y + V + U */
#define SDL_IYUV_OVERLAY  0x56555949  /* Planar mode: Y + U + V */
#define SDL_YUY2_OVERLAY  0x32595559  /* Packed mode: Y0+U0+Y1+V0 */
#define SDL_UYVY_OVERLAY  0x59565955  /* Packed mode: U0+Y0+V0+Y1 */
#define SDL_YVYU_OVERLAY  0x55595659  /* Packed mode: Y0+V0+Y1+U0 */
```

 More information on YUV formats can be found at *http://www.webartz.com/fourcc/indexyuv.htm (link to URL http://www.webartz.com/fourcc/indexyuv.htm)* .

## SEE ALSO

**SDL\_CreateYUVOverlay**, **SDL\_LockYUVOverlay**, **SDL\_UnlockYUVOverlay**, **SDL\_FreeYUVOverlay**
