共用方式為


H.264 影片解碼器

Media Foundation H.264 影片解碼器是一種 媒體基礎轉換 ,可支援解碼基準、主要和高設定檔,最高層級為 5.1。

H.264 影片解碼器會公開下列介面。

若要建立解碼器的實例,請執行下列其中一項:

輸入類型

輸入類型至少必須包含下列兩個屬性:

屬性 描述
MF_MT_MAJOR_TYPE MFMediaType_Video
MF_MT_SUBTYPE MFVideoFormat_H264 或MFVideoFormat_H264_ES

 

如果輸入類型只包含這兩個屬性,解碼器會提供預設輸出類型,做為預留位置。 當解碼器收到足夠的輸入樣本來產生輸出框架時,它會從IMFTransform::P rocessOutput傳回MF_E_TRANSFORM_STREAM_CHANGE來發出格式變更訊號。 如需處理格式變更的詳細資訊,請參閱 ProcessOutput 檔。

若要避免初始格式變更,請盡可能在輸入類型中提供更多資訊,包括:

屬性 描述
MF_MT_FRAME_RATE 畫面播放速率。
MF_MT_FRAME_SIZE 框架尺寸。
MF_MT_INTERLACE_MODE 交錯模式。 注意: 在 H.264 影片中,交錯結構可以動態變更,因此此屬性的建議值 MFVideoInterlace_MixedInterlaceOrProgressive。 視訊基礎資料流程中的交錯資訊優先于媒體類型。 如需詳細資訊,請參閱 影片交錯
MF_MT_PIXEL_ASPECT_RATIO 圖元外觀比例。

 

輸入類型必須在輸出類型之前設定。 在設定輸入類型之前,編碼器的 IMFTransform::SetOutputType 方法會傳回 MF_E_TRANSFORM_TYPE_NOT_SET

輸出型別

解碼器支援下列輸出子類型:

  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

如需這些子類型的詳細資訊,請參閱 影片子類型 GUID

轉換屬性

H.264 解碼器會實作 IMFTransform::GetAttributes 方法。 應用程式可以使用這個方法來取得或設定下列屬性。

屬性 描述
CODECAPI_AVDecVideoAcceleration_H264 啟用或停用硬體加速。
CODECAPI_AVDecVideoThumbnailGenerationMode 啟用或停用縮圖產生模式。
MF_SA_D3D_AWARE 表示解碼器支援 DirectX 影片加速 (DXVA) 。 將 視為唯讀。

 

在 Windows 8 中,H.264 解碼器也支援下列屬性。

屬性 描述
CODECAPI_AVLowLatencyMode 啟用或停用低延遲解碼模式。
CODECAPI_AVDecNumWorkerThreads 設定解碼器所使用的背景工作執行緒數目。
CODECAPI_AVDecVideoMaxCodedWidth 設定解碼器將接受做為輸入類型的圖片寬度上限。
CODECAPI_AVDecVideoMaxCodedHeight 設定解碼器將接受做為輸入類型的最大圖片高度。
MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT 指定輸出樣本數目上限。
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER 指定解碼器是否公開 IYUV/I420 輸出類型, (適合在其他格式之前轉碼) 。

 

在 Windows 8 中,H.264 解碼器支援 ICodecAPI 介面。 此介面提供替代 API 來設定下列編解碼器屬性。

格式條件約束

解碼器支援下列格式:

設定 格式
設定檔/層級 基準、主要和高設定檔,最高層級為 5.1。 (如需詳細資訊,請參閱 )
Chroma 格式 4:2:0 chroma 或 monochrome
最小解析度 48 × 48 圖元
最大解析度 4096 × 2304 圖元
DXVA 加速的最大保證解析度為 1920 × 1088 圖元;在更高的解析度上,如果基礎硬體支援解碼,則會使用 DXVA 進行解碼,否則會使用軟體進行解碼。
注意: 在 Windows 7 中,軟體與 DXVA 解碼的最大支援解析度為 1920 × 1088 圖元。
DXVA 解碼器支援 DXVA 第 2 版,但不支援 DXVA 第 1 版。 DXVA 解碼僅支援主要相容基準、主要和高設定檔位流。 (主要相容的基準位元流定義為 profile_idc=66 和 constrained_set1_flag=1.)

 

輸入資料必須符合 ISO/IEC 14496-10 的附錄 B。 資料必須包含開始程式碼。 解碼器會略過位元組,直到它在位元組資料流程中找到有效的序列參數集 (SPS) 和圖片參數集 (PPS) 。

解碼器不支援電影粒紋技術。

注意

舊版的檔錯誤指出 Windows Server 2008 R2 上支援解碼器。

 

如果已安裝適用于 Windows Vista 的平臺更新補充,H.264 視訊解碼器可在 Windows Vista 上使用,但只能使用 來源讀取器在 Windows Vista 上存取。

規格需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
都不支援
DLL
Msmpeg2vdec.dll

另請參閱

編解碼器物件

媒體基礎中的 MPEG-4 支援

媒體基礎中支援的媒體格式

視訊媒體類型