XvPutImage(3) libXv Functions XvPutImage(3)

# [NAME](#NAME)

XvPutImage, XvShmPutImage - display an XvImage

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;X11/extensions/Xvlib.h&gt;**

```
int XvPutImage (Display *dpy, XvPortID port,
                Drawable d, GC gc, XvImage *image,
                int src_x, int src_y,
                unsigned int src_w, unsigned int src_h,
                int dest_x, int dest_y,
                unsigned int dest_w, unsigned int dest_h);

int XvShmPutImage (Display *dpy, XvPortID port,
                   Drawable d, GC gc, XvImage *image,
                   int src_x, int src_y,
                   unsigned int src_w, unsigned int src_h,
                   int dest_x, int dest_y,
                   unsigned int dest_w, unsigned int dest_h,
                   Bool send_event);
```

# [ARGUMENTS](#ARGUMENTS)

[*dpy*](#dpy)

Specifies the connection to the X server.

[*port*](#port)

The port id of a port on an XvImage capable adaptor.

[*d*](#d)

[*gc*](#gc)

the graphics context specifying the clip mask to use, if any.

[*image*](#image)

A pointer to the XvImage to be displayed.

[*src\_?*](#src_?)

The portion of the XvImage to be displayed.

[*dest\_?*](#dest_?)

The portion of the destination drawable to be filled by the image.

[*send\_event*](#send_event)

Indicates whether or not an XShmCompletionEvent should be sent. If sent, the event's major\_code and minor\_code fields will indicate the Xv extension's major code and XvShmPutImage's minor code.

# [DESCRIPTION](#DESCRIPTION)

[**XvPutImage**(3)](/man/os/libxv/XvPutImage.3) is similar to [**XPutImage**(3)](/man/os/libxv/XPutImage.3). [**XvShmPutImage**(3)](/man/os/libxv/XvShmPutImage.3) is similar to [**XShmPutImage**(3)](/man/os/libxv/XShmPutImage.3). The library will allocate the XvImage structure and fill out all fields except for *data*. *Width* and *height* may be enlarged in some YUV formats. The size of the data buffer that needs to be allocated will be given in the *data\_size* field in the XvImage. Image data is not allocated by this function. The client may pass a pointer to the preallocated memory as *data* or may allocate the memory and fill in the XvImage structure's data field after the *data\_size* field has been filled out by the server. The XvImage structure may be freed by [**XFree**(3)](/man/os/libxv/XFree.3).

# [DIAGNOSTICS](#DIAGNOSTICS)

\[XvBadPort]

Generated if the requested port does not exist.

\[XvBadAlloc]

Generated if the X server was unable to allocate resources required to complete the operation.

\[BadMatch]

Generated if incompatible arguments were supplied, such as a port that isn't capable of displaying XvImages.

\[BadShmSegCode]

Generated if an invalid shared memory segment is specified.

# [SEE ALSO](#SEE_ALSO)

[**XvListImageFormats**(3)](/man/os/libxv/XvListImageFormats.3), [**XvCreateImage**(3)](/man/os/libxv/XvCreateImage.3), [**XvShmCreateImage**(3)](/man/os/libxv/XvShmCreateImage.3) [**XPutImage**(3)](/man/os/libxv/XPutImage.3), [**XShmPutImage**(3)](/man/os/libxv/XShmPutImage.3)

libXv 1.0.13 X Version 11

---

Document: XvShmPutImage(3) from libxv 1.0.13-r7 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxv
