XvGetStill(3)

Name
XvGetStill - capture a single frame of video from a drawable

Syntax
#include <X11/extensions/Xvlib.h>

XvGetStill(Display *dpy, XvPortID port, Drawable d, GC gc,
           int vx, int vy, unsigned int vw, unsigned int vh,
           int dx, int dy, unsigned int dw, unsigned int dh);

Arguments

dpy Specifies the connection to the X server.

port
    Defines the port to which the still is output'd.

d   Defines the drawable from which the still is to be captured. Pixmaps are currently not supported.

gc  Defines the graphical context. GC components are: subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.

vx,vy,vw,vh
    Define the location and size of the destination video region into which the still is to be written. vx and vy define the x and y coordinates of the upper-left corner of the video region; vw and vh define the width and height, in pixels, of the video region.

dx,dy,dw,dh
    Define the location and size of the source drawable from which the still image is to be captured. dx and dy define the x and y coordinates of the upper-left corner of the drawable region; dw and dh define the width and height, in pixels, of the drawable region.

Description
captures a single frame of video from a drawable. The position and size of the destination (video) rectangle is specified by vx, vy, vw, and vh. The position and size of the source (drawable) rectangle is specified by dx, dy, dw, and dh.

Drawable data is clipped to the bounds of the drawable, scaled to the requested video region size (or the closest size supported) and clipped to the bounds of the video encoding. The contents of any region not updated with drawable data is undefined.

If the port is grabbed by another client, this request is ignored, and an XvVideoNotify event with detail XvBusy is generated for the drawable.

Returned Values

[Success]
    Returned if XvGetStill(3) completed successfully.

[XvBadExtension]
    Returned if the Xv extension is unavailable.

[XvBadAlloc]
    Returned if XvGetStill(3) failed to allocate memory to process the request.

Diagnostics

[XvBadPort]
    Generated if the requested port does not exist.

[BadDrawable]
    Generated if the requested drawable does not exist.

[BadGC]
    Generated if the requested graphics context does not exist.

[BadAlloc]
    Generated if there were insufficient resources to process the request.

See Also
XvPutStill(3), XvGetVideo(3), XvPutVideo(3), XvVideoNotify(3)