IAMTimelineGroup::SetSmartRecompressFormat 方法
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
注意
[已被取代。 此 API 可能會從未來的 Windows 版本中移除。]
方法 SetSmartRecompressFormat
會指定要用於智慧重新壓縮的視訊壓縮格式。
音訊群組不支援智慧型重新壓縮。
語法
HRESULT SetSmartRecompressFormat(
long *pFormat
);
參數
-
pFormat
-
描述壓縮格式的結構指標。 目前只有 SCompFmt0 結構有效。 您必須將此參數轉換成 long類型的指標。
傳回值
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
呼叫這個方法之前,請先呼叫相同群組上的 IAMTimelineGroup::SetMediaType 方法,以指定未壓縮的格式。
SetSmartRecompressFormat
如果方法成功,您可以使用智慧轉譯引擎來輸出壓縮的視訊串流。 壓縮的視訊會有 pFormat 參數中指定的寬度、高度和畫面播放速率。 這些值會覆寫 SetMediaType 方法中針對未壓縮格式指定的值。 不過,若要取得智慧型重新壓縮的優點,這兩種格式應該相符。 換句話說,壓縮和未壓縮的格式應該具有相同的高度、寬度和畫面播放速率。
如果智慧轉譯引擎無法產生壓縮格式,則會改為產生未壓縮的視訊串流。 如果發生這種情況,Smart Render Engine 會在 IRenderEngine::ConnectFrontEnd 方法期間報告DEX_IDS_CANT_FIND_COMPRESSOR轉譯錯誤。 應用程式可以透過 IAMErrorLog::LogError 方法攔截此錯誤。 (如需詳細資訊,請參閱 記錄錯誤 和 轉譯錯誤。)
智慧型重新壓縮格式不是持續性格式。 如果應用程式使用智慧型重新壓縮,則必須在載入專案檔時設定重新壓縮格式。
注意
標頭檔 Qedit.h 與 7 版之後的 Direct3D 標頭不相容。
注意
若要取得 Qedit.h,請下載適用于 Windows Vista 的 Microsoft Windows SDK Update 和 .NET Framework 3.0。 Windows 7 和 .NET Framework 3.5 Service Pack 1 Microsoft Windows SDK中無法使用 Qedit.h。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱