XvGetStill -
ドロウアブルから動画を
1 フレーム取り込む
include Xvlib.h
XvGetStill(dpy, port, d, gc, vx, vy, vw, vh, dx, dy, dw, dh)
register Display *dpy;
XvPortID port;
Drawable d;
GC gc;
int vx, vy, dx, dy;
unsigned int vw, vh;
unsigned int dw, dh;
引き数¶
- dpy
- Xv サーバが Xv
クライアントからのリクエストを受け付けるディスプレイ画面
を指定する。ディスプレイを指定するオプションが指定されていなければ、Xv
は DISPLAY
環境変数で指定されているディスプレイを使う。ディスプレイ
指定オプションは「ホスト名:番号」という形式である。コロン
1 つ(:)でな く、コロン 2
つ(::)を使った場合には、トランスポート層で
DECnet を使う
ことが指定される。
- port
- 静止画が出力されるポートを定義する。
- d
- 静止画を取り込むドロウアブルを定義する。
現在はピックスマップはサポートされていない。
- gc
- グラフィックスコンテクスト(GC)を定義する。GC
の構成要素は subwindow-mode,
clip-x-origin, clip-y-origin, clip-mask
である。
- vx,vy,vw,vh
- 静止画が書き込まれる先のビデオ領域の位置と大きさを定義する。
vx と vy
はビデオ領域の左上隅の
x 座標と y
座標を定義する。 vw
と vh
はビデオ領域の高さと幅をピクセル単位で定義する。
- dx,dy,dw,dh
- 静止画を取り込むドロウアブルの位置と大きさを定義する。
dx と dy
は、ドロウアブル領域の左上隅の
x 座標と y
座標を定義する。 dw
と dh
は、ドロウアブル領域の幅と高さをピクセル単位で定義する。
は、動画の 1
フレームをドロウアブルから取り込む。出力先(ビデオ)の矩形
領域の位置と大きさは
vx, vy, vw, vh
で指定する。入力先(ドロウアブル)
の位置と大きさは
dx, dy, dw
dh で指定する。
ドロウアブルデータは、ドロウアブルの境界でクリップされ、
要求されたビデオ領域の大きさ(あるいは、サポートされているうちでこれに
最も近い大きさ)に拡大・縮小され、ビデオエンコーディングの境界でクリップされる。
ドロウアブルデータで更新しなかった領域の内容は未定義である。
他のクライアントがポートをグラブしていると、このリクエストは無視され、
詳細な内容として XvBusy
を持つ XvVideoNotify
イベントがそのドロウアブル
に対して生成される。
返り値¶
- [Success]
- XvGetStill(3X)
が正常に終了すると返される。
- [XvBadExtension]
- Xv
機能拡張が使えない場合に返される。
- [XvBadAlloc]
- XvGetStill(3X)
がリクエストを処理するために使うメモリの割り当てに失敗
した場合に返される。
- [XvBadPort]
- 要求されたポートが存在しない場合に生成される。
- [BadDrawable]
- 要求されたドロウアブルが存在しない場合に生成される。
- [BadGC]
- 要求されたグラフィックスコンテクストが存在しない場合に生成される。
- [BadAlloc]
- リクエストを処理するための資源が不十分な場合に生成される。
関連項目¶
XvPutStill(3X), XvGetVideo(3X), XvPutVideo(3X), XvVideoNotify(3X)