書式
#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;
引き数
- *dpy
- Xv サーバが Xv クライアントからのリクエストを受け付けるディスプレイ画面 を指定する。ディスプレイを指定するオプションが指定されていなければ、Xv は DISPLAY 環境変数で指定されているディスプレイを使う。ディスプレイ 指定オプションは「ホスト名:番号」という形式である。コロン 1 つ(:)でな く、コロン 2 つ(::)を使った場合には、トランスポート層で DECnet を使う ことが指定される。
- port
- エンコーディングのリストを問い合わせるアダプタを持つポートを指定する。
- p_num_encodings
- アダプタがサポートしているエンコーディングの数へのポインタが書き込まれ る。
- pp_encoding_info
-
返されるエンコーディング情報のリストへのポインタが返される。
XvEncodingInfo は、以下の内容を持つ構造体である:
typedef struct {
XvEncodingID encoding_id;
char *name;
unsigned long width;
unsigned long height;
XvRational rate;
unsigned long num_encodings;
} XvEncodingInfo; - encoding_id
- エンコーディングの ID を指定する。エンコーディング ID は、ポートの エンコーディング属性が変化した時にエンコーディングを識別するために使わ れる。
- name
- エンコーディングを識別するための整形された文字列へのポインタ。この文字 列は "タイミング-シグナルの種類" という形式である。例えば "ntsc-composite" などである。
- width,height
- デコードされるビデオイメージの幅と高さ(ピクセル単位)。
- rate
- デコードされるビデオのフィールドレート。
XvRational 構造体は、分数を指定するために用いる。 これは以下のような構造体である:
typedef struct {
int numerator;
int denominator;
} XvRational;
numerator は分子を表し、denominator は分母を表す。
説明
XvQueryEncodings(3X) はアダプタについてのエンコーディング情報を返す。 それぞれのエンコーディングは、前述の XvEncodingInfo 構造体によって記述 される。エンコーディングはエンコーディング ID によって識別される。この 値を使うとポートのエンコーディング属性の設定や取得を行うことができる。返り値
- [Success]
- XvQueryEncodings(3X) が正常に終了した場合に返される。
- [XvBadExtension]
- Xv 機能拡張が使用できない場合に返される。
- [XvBadAlloc]
- XvQueryEncodings(3X) がリクエストを処理するためのメモリの割り当てに失 敗した場合に返される。
診断
- [XvBadPort]
- 要求されたポートが存在しない場合に生成される。