視訊處理器 MFT
視訊處理器 MFT 是一種 Microsoft Media Foundation 轉換 (MFT),可執行色彩空間轉換、視訊重設大小、取消關聯、幀速率轉換、旋轉、裁剪、空間左右檢視解除封裝,以及鏡像。
CLSID
CLSID_VideoProcessorMFT
介面
輸入格式
- MFVideoFormat_ARGB32
- MFVideoFormat_AYUV
- MFVideoFormat_I420
- MFVideoFormat_IYUV
- MFVideoFormat_NV11
- MFVideoFormat_NV12
- MFVideoFormat_RGB24
- MFVideoFormat_RGB32
- MFVideoFormat_RGB555
- MFVideoFormat_RGB565
- MFVideoFormat_RGB8
- MFVideoFormat_UYVY
- MFVideoFormat_v410
- MFVideoFormat_Y216
- MFVideoFormat_Y41P
- MFVideoFormat_Y41T
- MFVideoFormat_Y42T
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
- MFVideoFormat_YVYU
輸出格式
- MFVideoFormat_ARGB32
- MFVideoFormat_AYUV
- MFVideoFormat_I420
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_RGB24
- MFVideoFormat_RGB32
- MFVideoFormat_RGB555
- MFVideoFormat_RGB565
- MFVideoFormat_UYVY
- MFVideoFormat_Y216
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
不支援輸入和輸出格式的每個組合。 若要測試是否支持轉換,請設定輸入類型,然後呼叫IMFTransform::GetOutputAvailableType。
如需這些格式的詳細資訊,請參閱 影片子類型 GUID。
備註
視訊處理器的實例可以透過下列其中一種方式建立:
- 藉由呼叫 MFTEnumEx。 視訊處理器會在 MFT_CATEGORY_VIDEO_PROCESSOR 類別下註冊。
- 藉由呼叫 COM 函式 CoCreateInstance 來傳遞 CLSID CLSID_VideoProcessorMFT。
下列備註與使用影片處理器 MFT 中的來源矩形和目的地矩形有關。 來源和目的地矩形會設定為 IMFVideoProcessorControl::SetDestinationRectangle 和 SetSourceRectangle,有時使用 IMFMediaEngineEx::UpdateVideoStream。
- 來源矩形應對齊並四捨五入,以符合輸入至視訊處理器之畫面的色彩格式需求。 這很重要,因為 420 和 422 等格式對於可建立和存取的維度和位移有需求。 例如,當輸入格式為 420 時,{1,0,319,240}(左、上、右、下)的來源矩形會四捨五入為 {2,0,320,240}。
- 目的地和來源矩形一律會固定以符合其各自的框架,來源矩形到來源框架和目的地矩形。 這表示負值沒有意義,它們一律會限制為 0。
- 來源矩形位於目的框架的座標系統中,減去任何目的矩形。 這表示輪替等轉換在來源矩形上「復原」。 因此,您不需要知道影片是否已旋轉或解壓縮 3D。 例如,您可以在視訊標記的頂端繪製矩形、採用相對座標(相對於視訊標記)、正規化它們(範圍 0 到 1),並將它們當做來源矩形傳遞,即使視訊正在旋轉,它們也應該如預期般運作。
影片處理器支援使用 Microsoft Direct3D 11 的 GPU 加速視訊處理。 如需詳細資訊,請參閱 MF_SA_D3D11_AWARE。
立體視訊
影片處理器支援 3D 視訊畫面上的檢視解除封裝作業:
如果輸入畫面包含封裝在相同畫面中的兩個檢視,視訊處理器可以將檢視分割成不同的緩衝區,或擷取基底檢視並捨棄第二個檢視。 若要啟用檢視解除封裝,請將 MF_ENABLE_3DVIDEO_OUTPUT 屬性設定為 MF3DVideoOutputType_Stereo 或 MF3DVideoOutputType_BaseView。
需求
需求 | 值 |
---|---|
頁首 |
|
另請參閱