XvQueryEncodings

名前
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)