Media Foundation H.265 ビデオ エンコーダーは、H.265/HEVC 形式へのコンテンツのエンコードをサポートする Media Foundation Transform です。 エンコーダーでは、次のプロファイルがサポートされています。
- メイン プロファイル
H.265 ビデオ エンコーダーは、次のインターフェイスを公開します。
入力の種類
入力メディアの種類には、次のいずれかのサブタイプが必要です。
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
これらのサブタイプの詳細については、「 ビデオ サブタイプ GUID」を参照してください。
出力の種類は、入力型の前に設定する必要があります。 出力の種類が設定されるまで、エンコーダーの IMFTransform::SetInputType メソッドは MF_E_TRANSFORM_TYPE_NOT_SETを返します。
出力の種類
エンコーダーでは、1 つの出力サブタイプがサポートされています。
- MFVideoFormat_H265
出力メディアの種類に次の属性を設定します。
属性 | 説明 |
---|---|
MF_MT_MAJOR_TYPE | メジャーの種類。 MFMediaType_Videoする必要があります。 |
MF_MT_SUBTYPE | ビデオ サブタイプ。 MFVideoFormat_HEVCする必要があります。 |
MF_MT_AVG_BITRATE | エンコードされた平均ビット レート (1 秒あたりのビット数)。 0 より大きくなければなりません。 |
MF_MT_FRAME_RATE | フレーム レート。 |
MF_MT_FRAME_SIZE | フレーム サイズ。 |
MF_MT_INTERLACE_MODE | インターレース モード。 |
MF_MT_VIDEO_PROFILE | H.265 エンコード プロファイル。 サポートされる値は
|
MF_MT_MPEG2_LEVEL | コード化されたビデオのレベルを指定します。 プロファイルとレベルの制約の詳細については、ITU-T H.265 の付録 A を参照してください。 |
MF_MT_PIXEL_ASPECT_RATIO | 省略可能。 ピクセルの縦横比を指定します。 既定値は 1:1 です。 |
出力の種類が設定されると、ビデオ エンコーダーは MF_MT_MPEG_SEQUENCE_HEADER 属性を追加して型を更新します。 この属性にはシーケンス ヘッダーが含まれています。
サポートされている IMFTransform メソッド
IMFTransform インターフェイスの次のメソッドは、H.265/HEVC エンコーダーでサポートされています。
- GetAttributes
- GetInputAvailableType
- GetInputCurrentType
- GetInputStatus
- GetInputStreamInfo
- GetOutputAvailableType
- GetOutputCurrentType
- GetOutputStatus
- GetOutputStreamInfo
- GetStreamCount
- GetStreamLimits
- ProcessEvent
- Processmessage
- ProcessInput
- ProcessOutput
- SetInputType
- SetOutputType
- SetOutputBounds
その他のすべての IMFTransform メソッドは、エラー E_NOTIMPLを返します。
サポートされている ICodecAPI メソッド
H.265/HEVC エンコーダーでは、 ICodecAPI インターフェイスの次のメソッドがサポートされています。
その他のすべての ICodecAPI メソッドは、エラー E_NOTIMPLを返します。
コーデックのプロパティ
H.265 エンコーダーは、エンコード パラメーターを設定するための ICodecAPI インターフェイスを実装します。 次のプロパティがサポートされています。
HCK エンコーダー認定のコーデック要件については、以下の 「認定ハードウェア エンコーダー 」セクションを参照してください。
プロパティ | 説明 |
---|---|
CODECAPI_AVEncCommonRateControlMode | レート制御モードを設定します。 サポートされているモードは次のとおりです。
これはVT_UI4値です。 |
CODECAPI_AVEncCommonMeanBitRate | エンコードされたビット ストリームの平均ビット レートを 1 秒あたりのビット数で設定します。 有効な範囲は [1 ...2 ²–1] これはVT_UI4値です。 |
CODECAPI_AVEncCommonBufferSize | 定数ビット レート (CBR) エンコードのバッファー サイズをバイト単位で設定します。 有効な範囲は [1 ...2 ²–1] これはVT_UI4値です。 |
CODECAPI_AVEncCommonMaxBitRate | ピーク ビットレートを許可するレート制御モードの最大ビットレートを設定します。 有効な範囲は [1 ...2 ²–1] これはVT_UI4値です。 |
CODECAPI_AVEncMPVGOPSize | 1 つの GOP ヘッダーから次の GOP ヘッダーまでの画像の数を設定します(先頭のアンカーを含みますが、次のアンカーは含まれません)。 有効な範囲は [0 ...2 ²–1] 0 の場合、エンコーダーは GOP サイズを選択します。 既定値はゼロです。 これはVT_UI4値です。 |
CODECAPI_AVLowLatencyMode | 待機時間の短いモードを有効または無効にします。 これはVT_BOOL値です。 |
CODECAPI_AVEncCommonQualityVsSpeed | 品質/速度のトレードオフを設定します。 この値は、エンコーダーがモーション補正などのさまざまなエンコード操作を実行する方法に影響します。 より複雑なレベルでは、エンコーダーの実行速度は遅くなりますが、同じビット レートでより優れた品質が生成されます。 有効な範囲は 0 ~ 100 です。 内部的には、この値は、エンコーダーでサポートされている品質/速度レベルの小さなセットにマップされます。 これはVT_UI4値です。 |
CODECAPI_AVEncVideoForceKeyFrame | エンコーダーで次のフレームをキー フレームとして強制的にコーディングします。 これはVT_UI4値です。 |
CODECAPI_AVEncVideoEncodeQP | このプロパティを設定すると、エンコーダーは、指定された QP を使用して、新しい QP が指定されるまで、次のフレームと後続のすべてのフレームをエンコードします。 有効な範囲: 0 から 51(両端を含む) |
CODECAPI_AVEncVideoMinQP | このプロパティは、CBR レート制御中にエンコーダーが使用できる最小 QP に制限を設定します。 これはVT_UI4値です。 |
CODECAPI_AVEncVideoMaxQP | このプロパティは、CBR レート制御中にエンコーダーが使用できる最大 QP に制限を設定します。 これはVT_UI4値です。 |
CODECAPI_VideoEncoderDisplayContentType | ビデオのウィンドウが小さい場合やビデオがまったくない画面コンテンツとは対照的に、コンテンツが全画面表示のビデオであるかどうかを設定します。 これはVT_UI4値です。 |
CODECAPI_AVEncNumWorkerThreads | 圧縮操作の実行に使用するスレッドの数を設定します。 エンコーダーは、スレッドの数がタイルの数と等しくなるように、フレームをタイルに分割します。
|
認定ハードウェア エンコーダー
認定されたハードウェア エンコーダーが存在する場合は、通常、Media Foundation 関連のシナリオの受信トレイ システム エンコーダーの代わりに使用されます。 認定エンコーダーは、特定の ICodecAPI プロパティのセットをサポートするために必要であり、必要に応じて別のプロパティ セットをサポートできます。 認定プロセスでは、必要なプロパティが適切にサポートされていること、および省略可能なプロパティがサポートされている場合は、そのプロパティも適切にサポートされていることを保証する必要があります。
エンコーダーが HCK エンコーダー認定に合格するために必要な ICodecAPI プロパティと省略可能な ICodecAPI プロパティのセットを次に示します。
- CODECAPI_AVEncCommonRateControlMode
- CODECAPI_AVEncCommonQuality
- CODECAPI_AVEncCommonMeanBitRate
- CODECAPI_AVEncCommonBufferSize
- CODECAPI_AVEncMPVGOPSize
- CODECAPI_AVEncVideoEncodeQP
- CODECAPI_AVEncVideoForceKeyFrame
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 10 [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
サポートなし |
[DLL] |
|
こちらもご覧ください