次の方法で共有


IAMTimelineGroup::SetSmartRecompressFormat メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/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では使用できません。

 

要件

要件
ヘッダー
Qedit.h
ライブラリ
Strmiids.lib

関連項目

IAMTimelineGroup インターフェイス

エラーコードと成功コード

スマート レンダリング エンジン

プロジェクトをファイルに書き込む