Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
X video extension
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Video output mechanism for the X Window System}} {{for|the website with a similar name|XVideos}} {{primary sources|date=March 2013}} {{Infobox software |name = X video extension |logo = |screenshot = |caption = |collapsible = |author = [[X.Org Foundation]] |developer = |released = <!-- {{Start date|YYYY|MM|DD}} --> |latest release version = 2.0 |latest release date = {{Start date and age|1991|7|25}} |latest preview version = |latest preview date = <!-- {{Start date and age|YYYY|MM|DD}} --> |frequently updated = |programming language = |operating system = |platform = |size = |language = |status = |genre = |license = |website = }} The '''X video extension''', often abbreviated as '''XVideo''' or '''Xv''', is a video output mechanism for the [[X Window System]]. The protocol was designed by David Carver; the specification for version 2 of the protocol was written in July 1991.<ref>[http://www.x.org/releases/X11R7.5/doc/videoproto/xv-protocol-v2.txt Official XVideo specification, version 2.0]</ref> It is mainly used today to resize video content in the video controller hardware in order to enlarge a given video or to watch it in full screen mode. Without XVideo, X would have to do this scaling on the main CPU. That requires a considerable amount of processing power, which could slow down or degrade the video stream; video controllers are specifically designed for this kind of computation, so can do it much more cheaply. Similarly, the X video extension can have the video controller perform [[color space]] conversions, and change the contrast, brightness, and hue of a displayed video stream. In order for this to work, three things have to come together: * The video controller has to provide the required functions. * The [[device driver]] software for the video controller and the X [[display server]] program have to implement the XVideo interface. * The video playback software has to make use of this interface. Most modern video controllers provide the functions required for XVideo; this feature is known as ''hardware scaling and [[YUV]] acceleration'' or sometimes as ''2D hardware acceleration''. The [[XFree86]] X display server has implemented XVideo since version 4.0.2. To check whether a given X display server supports XVideo, one can use the utility <code>xdpyinfo</code>. To check whether the video controller provides the required functions and whether the X device driver implements XVideo for any of them, one can use the <code>xvinfo</code> program. Video playback programs that run under the X Window system, such as [[MPlayer]], [[MythTV]] or [[xine]], typically have an option to enable XVideo output. It is very advisable to switch on this option if the system [[graphics processing unit|GPU]] video-hardware and device drivers supports XVideo and more modern rendering systems such as OpenGL and VDPAU are unavailable β the speedup is very noticeable even on a fast [[Central processing unit|CPU]]. While the protocol itself has features for reading and writing of video streams from and to video adapters, in practice today only the functions <code>XvPutImage</code> and <code>XvShmPutImage</code> are used: the client program repeatedly prepares images and passes them on to the graphics hardware to be scaled, converted and displayed.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)