XvQueryEncodings -
アダプタが対応しているエンコーディングのリストを返す
#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]
- 要求されたポートが存在しない場合に生成される。
関連項目¶
XvFreeEncodingInfo(3X)