---
name: "XvQueryEncodings"
section: "3x"
platform: "linux"
package: "libxv-dev"
version: "1:1.0.2-1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/XvQueryEncodings/3x"
---

# XvQueryEncodings(3x)

return list of encodings for an adaptor

## Name

XvQueryEncodings - return list of encodings for an adaptor

## Syntax

**#include \<X11/extensions/Xvlib.h\>**

**XvQueryEncodings(***dpy, port, p\_num\_encodings, pp\_encoding\_info)*

**register Display** *\*dpy*;\
 **XvPortID** *port*;\
 **unsigned long** *\*p\_num\_encodings*;\
 **XvEncodingInfo** *\*\*pp\_encoding\_info*;

## Arguments

- *\*dpy*

  Specifies the connection to the X server.

- *port*

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

- *p\_num\_encodings*

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

- *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*

  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*

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

- *width,height*

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

- *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

[XvQueryEncodings(3x)](/XvQueryEncodings/3x.md) 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.

## Returned Values

- \[Success\]

  Returned if [XvQueryEncodings(3x)](/XvQueryEncodings/3x.md) completed successfully.

- \[XvBadExtension\]

  Returned if the Xv extension is unavailable.

- \[XvBadAlloc\]

  Returned if [XvQueryEncodings(3x)](/XvQueryEncodings/3x.md) failed to allocate memory to process the request.

## Diagnostics

- \[XvBadPort\]

  Generated if the requested port does not exist.

## See Also

[XvFreeEncodingInfo(3x)](/XvFreeEncodingInfo/3x.md)\
