KS_H264VIDEOINFO 構造体 (ksmedia.h)
KS_H264VIDEOINFOでは、現在のメディアの種類に適用されるデバイス機能について説明します。
構文
typedef struct tagKS_H264VIDEOINFO {
WORD wWidth;
WORD wHeight;
WORD wSARwidth;
WORD wSARheight;
WORD wProfile;
BYTE bLevelIDC;
WORD wConstrainedToolset;
DWORD bmSupportedUsages;
WORD bmCapabilities;
DWORD bmSVCCapabilities;
DWORD bmMVCCapabilities;
DWORD dwFrameInterval;
BYTE bMaxCodecConfigDelay;
BYTE bmSupportedSliceModes;
BYTE bmSupportedSyncFrameTypes;
BYTE bResolutionScaling;
BYTE bSimulcastSupport;
BYTE bmSupportedRateControlModes;
WORD wMaxMBperSecOneResolutionNoScalability;
WORD wMaxMBperSecTwoResolutionsNoScalability;
WORD wMaxMBperSecThreeResolutionsNoScalability;
WORD wMaxMBperSecFourResolutionsNoScalability;
WORD wMaxMBperSecOneResolutionTemporalScalability;
WORD wMaxMBperSecTwoResolutionsTemporalScalablility;
WORD wMaxMBperSecThreeResolutionsTemporalScalability;
WORD wMaxMBperSecFourResolutionsTemporalScalability;
WORD wMaxMBperSecOneResolutionTemporalQualityScalability;
WORD wMaxMBperSecTwoResolutionsTemporalQualityScalability;
WORD wMaxMBperSecThreeResolutionsTemporalQualityScalablity;
WORD wMaxMBperSecFourResolutionsTemporalQualityScalability;
WORD wMaxMBperSecOneResolutionTemporalSpatialScalability;
WORD wMaxMBperSecTwoResolutionsTemporalSpatialScalability;
WORD wMaxMBperSecThreeResolutionsTemporalSpatialScalablity;
WORD wMaxMBperSecFourResolutionsTemporalSpatialScalability;
WORD wMaxMBperSecOneResolutionFullScalability;
WORD wMaxMBperSecTwoResolutionsFullScalability;
WORD wMaxMBperSecThreeResolutionsFullScalability;
WORD wMaxMBperSecFourResolutionsFullScalability;
} KS_H264VIDEOINFO, *PKS_H264VIDEOINFO;
メンバー
wWidth
デコード プロセスから出力される画像の幅をピクセル単位で指定します。
このメンバーの値は 2 の倍数である必要がありますが、16 の整数倍数である必要はありません。 アクティブなシーケンス パラメーター セット (SPS) で四角形をトリミングするフレームを使用して指定できます。
wHeight
デコード プロセスから出力される画像の高さをピクセル単位で指定します。
このメンバーの値は、2 の倍数である必要があります。 フィールド コーディングまたはフレーム/フィールドアダプティブ コーディングを使用する場合は、4 の倍数である必要があります。 16 の整数倍数である必要はありません。 アクティブな SPS で四角形をトリミングするフレームを使用して指定できます。
wSARwidth
H.264 Annex E で定義されているサンプル縦横比の幅を指定します。
wSARheight に関しては比較的素数である必要があります。
wSARheight
H.264 Annex E で定義されているサンプル縦横比の高さを指定します。
bSARwidth に関しては比較的素数である必要があります。
wProfile
H.264 仕様のprofile_idcおよび制約フラグで説明されているように、シーケンス パラメーター セットの最初の 2 バイトを指定します。
このメンバーは、使用するプロファイルと適用可能な制約を示します。
使用できる値の例を次に示します。
値 | 説明 |
---|---|
0x4240 | 制約付きベースライン プロファイル。 |
0x4200 | ベースライン プロファイル。 |
0x4D00 | メイン プロファイル。 |
0x6400 | 高プロファイル。 |
0x5300 | スケーラブルなベースライン プロファイル。 |
0x5600 | スケーラブルな高プロファイル。 |
0x7600 | Multiview High Profile。 |
0x8000 | ステレオハイプロファイル。 |
bLevelIDC
level_idc フラグで説明されているレベルを指定します。
このメンバーは、このフレーム記述子の解像度と最大ビット レートをサポートする最小レベルを示します。
使用できる値の例を次に示します。
値 | 説明 |
---|---|
0x1F | レベル 3.1。 |
0x28 | レベル 4.0。 |
wConstrainedToolset
wProfile で許可される機能を制限します。
値 | 説明 |
---|---|
0 | 制約はありません。 選択した wProfile と bmSetting セットによって定義されたすべてのツールが許可されます。 |
1 | ユニファイド コミュニケーション (UC) の制約付き高ツールセット。 |
2 | UC スケーラブル制約付き High1。 |
3 | UC スケーラブル制約付きベースライン 1。 |
4 から 65535 | 予約済み。 |
bmSupportedUsages
サポートされている使用法を指定するビットマップを定義します。
Bits | 説明 |
---|---|
D0 | リアルタイム/UCConfig (ユニファイド コミュニケーション構成) モード 0。 |
D1 | リアルタイム/UCConfig モード 1。 |
D2 | リアルタイム/UCConfig モード 2Q。 |
D3 | リアルタイム/UCConfig モード 2S。 |
D4 | リアルタイム/UCConfig モード 3。 |
D7-D5 | 予約;を 0 に設定します。 |
D15-D8 | ブロードキャスト モード。 |
D16 | I スライスと P スライスを含むファイル ストレージ モード (IPPP など)。 |
D17 | I、P、B スライスを含むファイル ストレージ モード (IB... など)。IP)。 |
D18 | ファイル ストレージの全 I フレーム モード。 |
D23-D19 | 予約;を 0 に設定します。 |
D24 | MVC ステレオ ハイ モード。 |
D25 | MVC マルチビュー モード。 |
D31-D26 | 予約;を 0 に設定します。 |
bmCapabilities
このフレーム記述子の機能を指定するビットマップを定義します。
Bits | 説明 |
---|---|
D0 | コンテキスト ベースのアダプティブ可変長コーディング (CAVLC) のみ。 |
D1 | コンテキスト ベースのアダプティブ バイナリ算術コーディング (CABAC) のみ。 |
D2 | 一定のフレーム レート。 |
D3 | ルマ/クロマ用の別個のQP。 |
D4 | Cb/Cr 用の個別の QP。 |
D5 | 画像の並べ替えなし。 |
D15-D6 | 予約;を 0 に設定します。 |
bmSVCCapabilities
スケーラブル ビデオ コーディング (SVC) 機能を指定するビットマップを定義します。
Bits | 説明 |
---|---|
D2-D0 | テンポラル レイヤーの最大数から 1 を引いた値。 |
D3 | 書き換えのサポート。 |
D6-D4 | 粗粒度スケーラビリティ (CGS) レイヤーの最大数から 1 を引いた値。 |
D9-D7 | 中粒度スケーラビリティ (MGS) サブレイヤーの最大数。 |
D10 | 空間拡張レイヤーでの追加の SNR スケーラビリティのサポート。 |
D13-D11 | 空間レイヤーの最大数から 1 を引いた値。 |
D31-D14 | 予約済み。 |
bmMVCCapabilities
マルチキャスト ビデオ コーディング (MVC) 機能を指定するビットマップを定義します。
Bits | 説明 |
---|---|
D2-D0 | テンポラル レイヤーの最大数から 1 を引いた値。 |
D11-D3 | ビュー コンポーネントの最大数から 1 を引いた値。 |
D31-D11 | 予約済み。 |
dwFrameInterval
サポートされているフレーム間隔を指定します。
これは、最大フレーム レート (100 ナノ秒単位) でサポートされる最短のフレーム間隔です。
bMaxCodecConfigDelay
エンコーダーがコマンドに応答するために必要な最大フレーム数を指定します。
bmSupportedSliceModes
スライス モードを指定するビットマップを定義します。
Bits | 説明 |
---|---|
D0 | スライス モード 0。 |
D1 | スライス モード 1。 |
D7-D2 | 予約済み。 |
bmSupportedSyncFrameTypes
BYTE メンバー bmSupportedSyncFrameTypes を定義します。
bResolutionScaling
同期フレームの種類を指定するビットマップを定義します。
Bits | 説明 |
---|---|
D0 | シーケンス パラメーター セット (SPS) ヘッダーとピクチャ パラメーター セット (PPS) ヘッダーを含む即時デコード更新 (IDR) フレーム。 |
D1 | 長期的な参照フレームである IDR フレーム (SPS および PPS ヘッダー付き)。 |
D2 | ランダム アクセス I フレーム (SPS ヘッダーと PPS ヘッダー付き)。 IDR フレームである場合とそうでない場合があります。 |
D3 | 長期的な参照フレームである P フレーム。 |
D7-D4 | 予約;を 0 に設定します。 |
bSimulcastSupport
H.264 ビデオ ストリーミング エンドポイントの数と、このエンドポイントがサポートするストリームの数を指定します。
値 | 説明 |
---|---|
0 | 1 つのエンドポイントと 1 つのストリーム。 |
1 | 1 つのエンドポイントと複数のストリーム。 |
bmSupportedRateControlModes
レート制御モードを指定するビットマップを定義します。
Bits | 説明 |
---|---|
D0 | アンダーフローが許可された可変ビット レート (VBR) (H.264 low_delay_hrd_flag = 1)。 |
D1 | 定数ビット レート (CBR) (H.264 low_delay_hrd_flag = 0)。 |
D2 | 定数 QP。 |
D3 | アンダーフローが許可されたグローバル VBR (H.264 low_delay_hrd_flag = 1)。 |
D4 | アンダーフローのない VBR (H.264 low_delay_hrd_flag = 0)。 |
D5 | アンダーフローのないグローバル VBR (H.264 low_delay_hrd_flag = 0)。 |
D7-D6 | 予約済み、0 に設定します。 |
wMaxMBperSecOneResolutionNoScalability
スケーラブルでない Advanced Video Coding (AVC) ストリームに対して許可される最大マクロブロック処理速度を指定します。すべてのレイヤーの解像度が同じ場合に、すべてのレイヤーで合計されます。
wMaxMBperSecTwoResolutionsNoScalability
すべてのレイヤーが 2 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、非スケーラブルな AVC ストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecThreeResolutionsNoScalability
すべてのレイヤーが 3 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、非スケーラブルな AVC ストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecFourResolutionsNoScalability
すべてのレイヤーが 4 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、非スケーラブルな AVC ストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecOneResolutionTemporalScalability
テンポラル スケーラブル ストリームに対して許可されるマクロブロック処理の最大速度を指定します。すべてのレイヤーの解像度が同じ場合に、すべてのレイヤーで合計されます。
wMaxMBperSecTwoResolutionsTemporalScalablility
すべてのレイヤーが 2 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、テンポラルスケーラブル ストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecThreeResolutionsTemporalScalability
すべてのレイヤーが 3 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、テンポラルスケーラブルストリームに対して許可される最大マクロブロック処理レートを指定します。
wMaxMBperSecFourResolutionsTemporalScalability
すべてのレイヤーが 4 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、完全にスケーラブルなストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecOneResolutionTemporalQualityScalability
テンポラルおよび品質のスケーラブルな SVC ストリームに対して許可される最大マクロブロック処理速度を指定します。すべてのレイヤーの解像度が同じ場合に、すべてのレイヤーで合計されます。
wMaxMBperSecTwoResolutionsTemporalQualityScalability
テンポラルおよび品質のスケーラブルな SVC ストリームに対して許可される最大マクロブロック処理速度を指定します。すべてのレイヤーが 2 つの異なる解像度で構成されている場合、すべてのレイヤーで合計されます。
wMaxMBperSecThreeResolutionsTemporalQualityScalablity
テンポラルおよび品質のスケーラブルな SVC ストリームに対して許可される最大マクロブロック処理レートを指定します。すべてのレイヤーが 3 つの異なる解像度で構成されている場合、すべてのレイヤーで合計されます。
wMaxMBperSecFourResolutionsTemporalQualityScalability
テンポラルおよび品質のスケーラブルな SVC ストリームに対して許可される最大マクロブロック処理レートを指定します。すべてのレイヤーが 4 つの異なる解像度で構成されている場合、すべてのレイヤーで合計されます。
wMaxMBperSecOneResolutionTemporalSpatialScalability
WORD メンバー wMaxMBperSecOneResolutionTemporalSpatialScalability を定義します。
wMaxMBperSecTwoResolutionsTemporalSpatialScalability
WORD メンバー wMaxMBperSecTwoResolutionsTemporalSpatialScalability を定義します。
wMaxMBperSecThreeResolutionsTemporalSpatialScalablity
WORD メンバー wMaxMBperSecThreeResolutionsTemporalSpatialScalablity を定義します。
wMaxMBperSecFourResolutionsTemporalSpatialScalability
WORD メンバー wMaxMBperSecFourResolutionsTemporalSpatialScalability を定義します。
wMaxMBperSecOneResolutionFullScalability
完全にスケーラブルなストリームに対して許可される最大マクロブロック処理レートを指定します。すべてのレイヤーの解像度が同じ場合に、すべてのレイヤーで合計されます。
wMaxMBperSecTwoResolutionsFullScalability
すべてのレイヤーが 2 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、完全にスケーラブルなストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecThreeResolutionsFullScalability
すべてのレイヤーが 3 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、完全にスケーラブルなストリームに対して許可される最大マクロブロック処理速度を指定します。
wMaxMBperSecFourResolutionsFullScalability
すべてのレイヤーが 4 つの異なる解像度で構成されている場合に、すべてのレイヤーで合計される、完全にスケーラブルなストリームに対して許可される最大マクロブロック処理速度を指定します。
注釈
KS_H264VIDEOINFO構造体には、フレームとフォーマット記述子情報が含まれています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
サポートされている最小のサーバー | Windows Server 2012 |
Header | ksmedia.h (Ksmedia.h を含む) |