IAMTimelineGroup::SetSmartRecompressFormat メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
注意
[非推奨。 この API は、Windows の今後のリリースから削除される可能性があります。
メソッドは SetSmartRecompressFormat
、スマート再圧縮に使用するビデオ圧縮形式を指定します。
スマート再圧縮は、オーディオ グループではサポートされていません。
構文
HRESULT SetSmartRecompressFormat(
long *pFormat
);
パラメーター
-
pFormat
-
圧縮形式を記述する構造体へのポインター。 現時点では、 SCompFmt0 構造体のみが有効です。 このパラメーターは long 型のポインターにキャストする必要があります。
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
このメソッドを呼び出す前に、同じグループで IAMTimelineGroup::SetMediaType メソッドを呼び出して、圧縮されていない形式を指定します。
メソッドが SetSmartRecompressFormat
成功した場合は、スマート レンダリング エンジンを使用して圧縮されたビデオ ストリームを出力できます。 圧縮されたビデオの幅、高さ、フレーム レートは、 pFormat パラメーターで指定されています。 これらの値は、 SetMediaType メソッドの圧縮されていない形式に対して指定された値をオーバーライドします。 ただし、スマート再圧縮の利点を得るには、2 つの形式が一致している必要があります。 つまり、圧縮形式と圧縮されていない形式の高さ、幅、フレーム レートは同じである必要があります。
スマート レンダリング エンジンが圧縮形式を生成できない場合は、代わりに圧縮されていないビデオ ストリームが生成されます。 その場合、スマート レンダリング エンジンは IRenderEngine::ConnectFrontEnd メソッド中にDEX_IDS_CANT_FIND_COMPRESSORレンダリング エラーを報告します。 アプリケーションは、 IAMErrorLog::LogError メソッドを使用してこのエラーをキャッチできます。 (詳細については、「エラーとレンダリングエラーのログ記録」を参照してください)。
スマート再圧縮形式は永続的ではありません。 アプリケーションでスマート再圧縮を使用する場合は、プロジェクト ファイルを読み込むたびに再圧縮形式を設定する必要があります。
注意
ヘッダー ファイル Qedit.h は、バージョン 7 より後の Direct3D ヘッダーと互換性がありません。
注意
Qedit.h を入手するには、Windows Vista および .NET Framework 3.0 のMicrosoft Windows SDK Update をダウンロードします。 Qedit.h は、Windows 7 および .NET Framework 3.5 Service Pack 1 のMicrosoft Windows SDKでは使用できません。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目