本主題描述設定編解碼器 MFT 的程式。 每個編解碼器都有特定的程式,但這裡會說明所有程式通用的資訊。
設定 MFT 輸入和輸出
每個 MFT 都支援特定的輸入和輸出類型。 您可以藉由重複呼叫IMFTransform::GetInputAvailableType 來擷取支持的輸入類型,以遞增每個呼叫的類型索引。 當您找到適當的類型時,請呼叫 IMFTransform::SetInputType來設定輸入類型。 接著,您可以使用調用 IMFTransform::GetOutputAvailableType 和 IMFTransform::SetOutputType,來重複該輸出類型的過程。 只有在設定輸入類型之後,您才能查詢或設定可用的輸出類型。
配置用於編碼的編解碼器 MFT
所有 Windows 媒體音訊和視訊編解碼器都支援各種不同的編碼功能。 這些功能通常是在 MFT 上,透過使用 IPropertyStore 介面的方法來設定屬性。 某些屬性是使用特製化編解碼器介面來設定。 這些介面會針對 Codec Objects一節中的每個編解碼器列出。
設定編碼 MFT 之作業的一般順序如下:
- 使用 IPropertyStore方法,視需要設定編解碼器功能。
- 如有需要,請使用編解碼器 MFT 介面來設定其他功能。
- 設定輸入和輸出類型。 應該設定型別的順序會因個別編解碼器而異。 如需詳細資訊,請參閱 使用音訊 和 使用視訊。
設定編解碼器 MFT 以進行解碼
譯碼比編碼更簡單,因為支援較少的譯碼器功能。
設定譯碼 MFT 之作業的一般順序如下:
- 使用 IPropertyStore方法來根據需求設定譯碼器的功能。
- 將輸入類型設定為用於編碼器輸出的類型。
- 設定輸出類型。 針對不同的輸入,支持的輸出類型不同。
注意
請務必針對譯碼器輸入使用與編碼器輸出相同的媒體類型。 這是因為 Windows 媒體音訊和視訊編解碼器使用包含額外數據的媒體格式。 如果沒有擴充格式數據,就無法將壓縮的內容譯碼。
相關主題