XvQueryEncodings(3) libXv Functions XvQueryEncodings(3)

# [NAME](#NAME)

XvQueryEncodings - return list of encodings for an adaptor

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;X11/extensions/Xvlib.h&gt;**

```
int XvQueryEncodings(Display *dpy, XvPortID port,
                     unsigned int *p_num_encodings,
                     XvEncodingInfo **pp_encoding_info);
```

# [ARGUMENTS](#ARGUMENTS)

[*dpy*](#dpy)

Specifies the connection to the X server.

[*port*](#port)

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

[*p\_num\_encodings*](#p_num_encodings)

A pointer to where the number of encodings supported by the adaptor is written.

[*pp\_encoding\_info*](#pp_encoding_info)

A pointer to where the list of returned encoding information is returned. XvEncodingInfo has the following structure:

```


    typedef struct {


      XvEncodingID encoding_id;


      char *name;


      unsigned long width;


      unsigned long height;


      XvRational rate;


      unsigned long num_encodings;


    } XvEncodingInfo;
    
```

[*encoding\_id*](#encoding_id)

Specifies the encoding-id of the encoding. The encoding-id is used to identify an encoding when a port's encoding attribute is changed.

[*name*](#name)

A pointer to a formatted string that identifies the encoding. The string has the format "*timing*-*signaltype*". For example "ntsc-composite".

[*width,height*](#width,height)

The width and height, in pixels, of the decoded video image.

[*rate*](#rate)

The field rate of the decoded video.

The XvRational structure is used to specify a fractional number. It has the following structure:

```


    typedef struct {


      int numerator;


      int denominator;


    } XvRational;
```

The *numerator* and *denominator* fields specify the appropriate parts of a fractional number.

# [DESCRIPTION](#DESCRIPTION)

[**XvQueryEncodings**(3)](/man/os/libxv/XvQueryEncodings.3) returns encoding information about an adaptor. Each encoding is described by the XvEncodingInfo structure described above. The encodings are identified by an encoding-id, which can be used to set or get the encoding attribute of a port.

# [RETURN VALUES](#RETURN_VALUES)

\[Success]

Returned if [**XvQueryEncodings**(3)](/man/os/libxv/XvQueryEncodings.3) completed successfully.

\[XvBadExtension]

Returned if the Xv extension is unavailable.

\[XvBadAlloc]

Returned if [**XvQueryEncodings**(3)](/man/os/libxv/XvQueryEncodings.3) failed to allocate memory to process the request.

# [DIAGNOSTICS](#DIAGNOSTICS)

\[XvBadPort]

Generated if the requested port does not exist.

# [SEE ALSO](#SEE_ALSO)

[**XvFreeEncodingInfo**(3)](/man/os/libxv/XvFreeEncodingInfo.3)

libXv 1.0.13 X Version 11

---

Document: XvQueryEncodings(3) from libxv 1.0.13-r7 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxv
