---
name: "XvQueryEncodings"
section: "3"
platform: "linux"
package: "libxv"
version: "1.0.13-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XvQueryEncodings"
---

# XvQueryEncodings(3)

return list of encodings for an adaptor

## NAME

XvQueryEncodings - return list of encodings for an adaptor

## SYNOPSIS

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

```
int XvQueryEncodings(Display *dpy, XvPortID port,
                     unsigned int *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**(3)](/XvQueryEncodings/3.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.

## RETURN VALUES

- \[Success\]

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

- \[XvBadExtension\]

  Returned if the Xv extension is unavailable.

- \[XvBadAlloc\]

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

## DIAGNOSTICS

- \[XvBadPort\]

  Generated if the requested port does not exist.

## SEE ALSO

[**XvFreeEncodingInfo**(3)](/XvFreeEncodingInfo/3.md)
