QTheora (0.9.0) | 2009-09-09 12:00 |
ライブラリ初期化のため、プロセス開始時に一度だけ呼び出す。
x86, MMX, SSE2 拡張ルーチンを使用するかどうかを変更する。使用 CPU によって QT_Initialize() 関数が 自動的に設定するため、テスト以外の用途では呼び出す必要はない。
デコーダーセットアップオブジェクトを作成する。
デコーダーセットアップオブジェクトを解放する。
Theora の Identification header および Setup header を入力して、 デコーダーセットアップを準備する。入力パケットは、Xiph Lacing で区切られる ものとする。(Matroska CODEC Private 準拠) セットアップデーターが不正な場合は、エラーとして、FALSE を返す。
CX, CY フレームバッファーのサイズ
PX, PY, PW, PH フレームバッファー内での有効ピクチャーの領域 (起点座標, サイズ)
FRN, FRD フレームレート
PRN, PRD ピクセルアスペクト比
ビデオフォーマット情報を取得する。
- struct QTheoraDecoder;
- typedef struct QTheoraDecoder QTheoraDecoder_t;
- QTheoraDecoder_t* QT_CreateDecoder(void);
- void QT_ReleaseDecoder(QTheoraDecoder_t* d);
- BOOL QT_SetupDecoder(
- QTheoraDecoder_t* d,
- QTheoraDecoderSetup_t* setup);
- struct QT_Output {
- const UINT8* Plane[3];
- INT32 CX;
- INT32 CY;
- };
- typedef struct QT_Output QT_Output_t;
- BOOL QT_DecodeFrame(
- QTheoraDecoder_t* d,
- const VOID* packet,
- SIZE_T size,
- QT_Output_t* output);
デコーダーオブジェクトを作成する。
デコーダーオブジェクトを解放する。
デコーダーオブジェクトを準備する。
setup には、セットアップオブジェクトを指定する。 単一のセットアップオブジェクトから、複数のデコーダーを準備することも可能である。
1 フレーム分のビットストリームをデコードし、YUV フレームサンプルを返す。
packet, size には、1 フレーム分の入力ビットストリームを指定する。 (1 フレームごとのパケット化は、上位のコンテナフォーマットで処理される。)
output へ、出力結果が返される。
Plane[0] には、Y プレーンデータを返す。
Plane[1] には、U (Cb) プレーンデータを返す。
Plane[2] には、V (Cr) プレーンデータを返す。
CX, CY は、フレームのサイズを返す。UV プレーンのサイズは、それぞれ 1/2 となる。
Theora 仕様により、プレーンのデータは配置は、ボトムアップ型となっている。 表示を行う際は、必要に応じて、上下方向の反転を行うこと。
フレームサンプルのカラーフォーマットは、YUV 4:2:0p のみを想定している。
[ページ情報]
更新日時: 2009-07-15 11:40:42, 更新者: noumiakira
[ライセンス]
クリエイティブ・コモンズ 2.1 表示-継承
[権限]
表示:無制限, 編集:メンバー, 削除/設定:メンバー