1Xv(3) libXv Functions Xv(3)
2
3
4
6 Xv - X Window System video extension
7
9 The X Video Extension (Xv) extension provides support for video adap‐
10 tors attached to an X display. It takes the approach that a display
11 may have one or more video adaptors, each of which has one or more
12 ports through which independent video streams pass.
13
14 An adaptor may be able to display video in a drawable, capture video
15 from a drawable, or both. It translates between video encoding (NTSC,
16 PAL, SECAM, etc...) and drawable format (depth and visual-id pair). An
17 adaptor may support multiple video encodings and/or multiple drawable
18 formats.
19
20 Clients use Xv(3) to gain access and manage sharing of a display's
21 video resources. Typically, a client will use XvQueryExtension(3) to
22 determine the status of the extension, XvQueryAdaptors(3) to get a
23 description of what video adaptors exist, and XvQueryEncodings(3) to
24 get a description of what video encodings an adaptor supports.
25
26 Once a client has determined what video resources are available, it is
27 free to put video into a drawable or get video from a drawable, accord‐
28 ing the capabilities supported. Clients can select to receive events
29 when video activity changes in a drawable and when port attributes have
30 changed.
31
32 The Xv protocol version 2.2 and later is extended to support client
33 images in alternate colorspaces (XvImages). Xv adaptors which are
34 capable of displaying XvImages will have the XvImageMask field set in
35 the type field of the XvAdaptorInfo. XvImage formats supported by the
36 port may be queried with XvListImageFormats(3). XvImages may be cre‐
37 ated with the help of XvCreateImage(3) or XvShmCreateImage(3); XvImages
38 may be displayed with XvPutImage(3) or XvShmPutImage(3). The Port
39 attributes of the port specified in the Xv(Shm)PutImage command will be
40 valid for the image operation when applicable. There will be a port
41 encoding with the name "XV_IMAGE". The width and height of that encod‐
42 ing will indicate the maximum source image size.
43
45 The following is a summary of Xv library functions and events:
46
47 XvCreateImage(3) - create an XvImage
48
49 XvGetPortAttribute(3) - return current port attribute value
50
51 XvGetStill(3) - capture a single frame of video from a drawable
52
53 XvGetVideo(3) - capture video from a drawable
54
55 XvGrabPort(3) - lock port for exclusive use by client
56
57 XvListImageFormats(3) - return list of image formats for a port
58
59 XvPortNotify(3) - event generated when port attributes change
60
61 XvPutImage(3) - write a XvImage to a drawable
62
63 XvPutStill(3) - write a single frame of video to a drawable
64
65 XvPutVideo(3) - write video into a drawable
66
67 XvQueryAdaptors(3) - return adaptor information for a screen
68
69 XvQueryBestSize(3) - determine the optimum drawable region size
70
71 XvQueryEncodings(3) - return list of encodings for an adaptor
72
73 XvQueryExtension(3) - return version and revision of extension
74
75 XvQueryPortAttributes(3) - return list of attributes of a port
76
77 XvSelectPortNotify(3) - enable or disable XvPortNotify events
78
79 XvSelectVideoNotify(3) - enable or disable XvVideoNotify events
80
81 XvSetPortAttribute(3) - set an attribute for a port
82
83 XvShmCreateImage(3) - create an XvImage in shared memory
84
85 XvShmPutImage(3) - write a XvImage in shared memory to a drawable
86
87 XvStopVideo(3) - stop active video
88
89 XvUngrabPort(3) - release a grabbed port
90
91 XvVideoNotify(3) - event generated for video processing
92
93
94 Each of these functions and events is described in its own Xv man page.
95
96
97
98X Version 11 libXv 1.0.11 Xv(3)