Returned Values
See Also


XvListImageFormats − return list of image formats supported by a video port


#include <X11/extensions/Xvlib.h>

XvImageFormatValues * XvListImageFormats (Display *dpy,
port, int *p_num_formats);



Specifies the connection to the X server.


Specifies the port whose adaptor is to be queried for its list of attributes.


A pointer to where the number of formats returned in the array is written.


XvListImageFormats(3) returns the XvImageFormatValues supported by the specified port. This list should be freed with XFree(3).

Returned Values

XvImageFormatValues has the following structure:

    typedef struct {
      int id;                      /* Unique descriptor for the format */
      int type;                    /* XvRGB, XvYUV */
      int byte_order;              /* LSBFirst, MSBFirst */
      char guid[16];               /* Globally Unique IDentifier */
      int bits_per_pixel;
      int format;                  /* XvPacked, XvPlanar */
      int num_planes;

      /* for RGB formats */
      int depth;
      unsigned int red_mask;
      unsigned int green_mask;
      unsigned int blue_mask;

      /* for YUV formats */
      unsigned int y_sample_bits;
      unsigned int u_sample_bits;
      unsigned int v_sample_bits;
      unsigned int horz_y_period;
      unsigned int horz_u_period;
      unsigned int horz_v_period;
      unsigned int vert_y_period;
      unsigned int vert_u_period;
      unsigned int vert_v_period;
      char component_order[32];    /* eg. UYVY */
      int scanline_order;          /* XvTopToBottom, XvBottomToTop */
    } XvImageFormatValues;


A unique descriptor for the format. This is often the FOURCC for the format, when applicable. This id is used to describe the format during XvImage creation.




The byte order of the image. It is either LSBFirst or MSBFirst.


The Globally Unique IDentifier (also known as Universally Unique IDentifier). When not applicable, all characters are NULL.


The bits taken up (but not necessarily used) by each pixel. Note that for some planar formats which have fractional bits per pixel (such as IF09) this number may be rounded _down_.


XvPacked or XvPlanar.


The number of planes in planar formats.


Significant bits per pixel.

red_mask, green_mask, blue_mask

The red, green and blue bitmasks (RGB formats only).


The size of each sample in bits (YUV formats only).

horz_?_period, vert_?_period

The period (in pixels) on which samples occur in the horizontal and vertical directions (YUV formats only).


Upper case ascii characters representing the order that samples are stored within packed formats. For planar formats this represents the ordering of the planes.


XvTopToBottom or XvBottomToTop.


Since some formats (particularly some planar YUV formats) may not be completely defined by the parameters above, the guid, when available, should provide the most accurate description of the format.



Generated if the requested port does not exist.

See Also

XvCreateImage(3), XvCreateShmImage(3)


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.