Provided by: libxv-dev_1.0.6-2build1_amd64 bug

Name

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

Syntax

       #include <X11/extensions/Xvlib.h>

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

Arguments

       dpy     Specifies the connection to the X server.

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

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

Description

       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;

       id      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.

       type    XvRGB or XvYUV.

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

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

       bits_per_pixel
               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_.

       format  XvPacked or XvPlanar.

       num_planes
               The number of planes in planar formats.

       depth   Significant bits per pixel.

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

       ?_sample_bits
               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).

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

       scanline_order
               XvTopToBottom or XvBottomToTop.

Notes

       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.

Diagnostics

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

See Also

       XvCreateImage(3), XvCreateShmImage(3)