IAMTimelineGroup::SetSmartRecompressFormat
SetSmartRecompressFormat メソッドは、スマート再圧縮で使うビデオ圧縮フォーマットを指定する。
スマート再圧縮は、オーディオ グループに対してはサポートされない。
構文
HRESULT SetSmartRecompressFormat(
long *pFormat
);
パラメータ
pFormat
圧縮フォーマットを記述する構造体へのポインタ。現在は、SCompFmt0 構造体のみが有効である。この引数は、long 型のポインタにキャストしなければならない。
戻り値
次のいずれかの HRESULT 値を返す。
戻りコード | 説明 |
S_OK | 成功。 |
E_POINTER | NULL ポインタ引数。 |
E_INVALIDARG | 無効な引数。 |
注意
このメソッドを呼び出す前に、同じグループの IAMTimelineGroup::SetMediaType メソッドを呼び出して非圧縮フォーマットを指定すること。
SetSmartRecompressFormat メソッドが成功した場合は、スマート レンダリング エンジンを使って圧縮ビデオ ストリームを出力できる。圧縮ビデオの幅、高さ、フレーム レートは、pFormat 引数で指定した値になる。これらの値は、SetMediaType メソッドで非圧縮フォーマットに指定された値をオーバーライドする。ただし、スマート再圧縮を活用するには、2 つのフォーマットが一致している必要がある。つまり、圧縮フォーマットと非圧縮フォーマットは、幅、高さ、およびフレーム レートが同じでなければならない。
スマート レンダリング エンジンが圧縮フォーマットを生成できない場合、代わりに非圧縮ビデオ ストリームを生成する。そうなった場合、スマート レンダリング エンジンは、IRenderEngine::ConnectFrontEnd メソッドの実行中に DEX_IDS_CANT_FIND_COMPRESSOR レンダリング エラーをレポートする。アプリケーションは、IAMErrorLog::LogError メソッドの実行中にこのエラーを捕捉できる。(詳細については、「エラーのログ」および「レンダリング エラー」を参照すること。)
スマート再圧縮フォーマットは、永続的ではない。アプリケーションでスマート再圧縮を使う場合、プロジェクト ファイルをロードするときに必ず再圧縮フォーマットを設定しなければならない。
要件
ヘッダー : Qedit.h をインクルードする。このヘッダー ファイルは、バージョン 7 以降の Microsoft® Direct3D® のヘッダーとは互換性がない。
ライブラリ : strmiids.lib を使用。
参照