XvPutVideo - write video into a drawable
#include <X11/extensions/Xvlib.h>
int XvPutVideo(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);
  - dpy
- Specifies the connection to the X server.
- port
- Defines the port from which to get video.
- d
- Defines the drawable (window) into which video is to be written.
- 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 size and location of the source (video) region to be written.
      vx and vy define the upper-left pixel of the region.
      vw and vh define the width and height, in pixels, of the
      region.
- dx,dy,dw,dh
- Define the location and size of the destination (drawable) region into
      which the video image is written. dx and dy define the
      upper-left pixel of the region. dw and dh define the width
      and height, in pixels, of the region.
XvPutVideo writes video into a drawable. The position and size of the source
  (video) rectangle is specified by vx, vy, vw, and
  vh. The position and size of the destination (drawable) rectangle is
  specified by dx, dy, dw, and dh.Video data is clipped to the bounds of the video encoding, scaled
    to the requested drawable region size (or the closest size supported) and
    clipped to the bounds of the drawable.
If video is successfully initiated, an XvVideoNotify event with
    detail XvStarted is generated for the drawable. If the port is already in
    use, its video is preempted, and if the new drawable is different than the
    old, an XvVideoNotify event with detail XvPreempted is generated for the old
    drawable. If the port is grabbed by another client, this request is ignored,
    and an XvVideoNotify event with detail XvBusy is generated for the drawable.
    If the port is not receiving a valid video signal or if the video signal is
    interrupted while video is active a VideoNotify event with detail
    XvHardError is generated for the drawable.
  - [Success]
- Returned if XvPutVideo(3) completed successfully.
- [XvBadExtension]
- Returned if the Xv extension is unavailable.
- [XvBadAlloc]
- Returned if there were insufficient resources to process the request.
  - [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.
XvPutStill(3), XvGetVideo(3), XvVideoNotify(3)