Win32 API 日本語リファレンス
ホームGraphics.Direct3D11 › ID3D11VideoContext2

ID3D11VideoContext2

COM
IIDc4e7374c-6243-4d1b-ae87-52b4f740e261継承元ID3D11VideoContext1自前メソッド開始 vtbl79

公式ドキュメント

Microsoft Direct3D 11 デバイスのビデオ機能を提供します。(ID3D11VideoContext2)

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 79 void VideoProcessorSetOutputHDRMetaData(ID3D11VideoProcessor* pVideoProcessor, DXGI_HDR_METADATA_TYPE Type, DWORD Size, void* pHDRMetaData)

コンテンツを表示するディスプレイを記述する HDR メタデータを設定します。

pVideoProcessorID3D11VideoProcessor*inID3D11VideoProcessor インターフェイスへのポインターです。
TypeDXGI_HDR_METADATA_TYPEin指定する HDR メタデータの種類です。
SizeDWORDin

pHDRMetaData で指定する HDR メタデータのサイズです。

DXGI_HDR_METADATA_TYPE_NONE の場合、サイズは 0 にする必要があります。

DXGI_HDR_METADATA_TYPE_HDR10 の場合、サイズは sizeof(DXGI_HDR_METADATA_HDR10) です。

pHDRMetaDatavoid*inoptional

メタデータ情報へのポインターです。

DXGI_HDR_METADATA_TYPE_NONE の場合は NULL にする必要があります。

DXGI_HDR_METADATA_TYPE_HDR10 の場合は、DXGI_HDR_METADATA_HDR10 構造体へのポインターです。

解説(Remarks)

HDR ストリームを処理する際、ドライバーはこのメタデータを使用して、出力ディスプレイ向けにビデオを最適化する場合があります。

vtbl 80 void VideoProcessorGetOutputHDRMetaData(ID3D11VideoProcessor* pVideoProcessor, DXGI_HDR_METADATA_TYPE* pType, DWORD Size, void* pMetaData)

コンテンツを表示するディスプレイを記述する HDR メタデータを取得します。

pVideoProcessorID3D11VideoProcessor*inID3D11VideoProcessor インターフェイスへのポインターです。
pTypeDXGI_HDR_METADATA_TYPE*out指定される HDR メタデータの種類です。
SizeDWORDin

pHDRMetaData が参照するメモリのサイズです。

pHDRMetaData が NULL の場合、Size は 0 にする必要があります。

pMetaDatavoid*outoptional

HDR メタデータを受け取るバッファーへのポインターです。

このパラメーターは NULL でもかまいません。

解説(Remarks)

このメソッドは複数回呼び出すことができます。1 回目は Type を取得するために呼び出し (この場合、Size は 0、pHDRMetaData は NULL でかまいません)、2 回目は NULL 以外の値を指定して実際のメタデータを取得します。

vtbl 81 void VideoProcessorSetStreamHDRMetaData(ID3D11VideoProcessor* pVideoProcessor, DWORD StreamIndex, DXGI_HDR_METADATA_TYPE Type, DWORD Size, void* pHDRMetaData)

ビデオストリームに関連付けられた HDR メタデータを設定します。

pVideoProcessorID3D11VideoProcessor*inID3D11VideoProcessor インターフェイスへのポインターです。
StreamIndexDWORDin入力ストリームを識別します。
TypeDXGI_HDR_METADATA_TYPEin指定する HDR メタデータの種類です。
SizeDWORDin

pHDRMetaData で指定する HDR メタデータのサイズです。

DXGI_HDR_METADATA_TYPE_NONE の場合、サイズは 0 にする必要があります。

DXGI_HDR_METADATA_TYPE_HDR10 の場合、サイズは sizeof(DXGI_HDR_METADATA_HDR10) です。

pHDRMetaDatavoid*inoptional

メタデータ情報へのポインターです。

DXGI_HDR_METADATA_TYPE_NONE の場合は NULL にする必要があります。

DXGI_HDR_METADATA_TYPE_HDR10 の場合は、DXGI_HDR_METADATA_HDR10 構造体へのポインターです。

解説(Remarks)

HDR ストリームを処理する際、ドライバーはこの情報を使用してビデオコンテンツをトーンマッピングし、出力ディスプレイ向けに最適化する場合があります。

vtbl 82 void VideoProcessorGetStreamHDRMetaData(ID3D11VideoProcessor* pVideoProcessor, DWORD StreamIndex, DXGI_HDR_METADATA_TYPE* pType, DWORD Size, void* pMetaData)

ビデオストリームに関連付けられた HDR メタデータを取得します。

pVideoProcessorID3D11VideoProcessor*inID3D11VideoProcessor インターフェイスへのポインターです。
StreamIndexDWORDin入力ストリームを識別します。
pTypeDXGI_HDR_METADATA_TYPE*out現在ストリームに関連付けられている HDR メタデータの種類です。
SizeDWORDin

pHDRMetaData が参照するメモリのサイズです。

pHDRMetaData が NULL の場合、Size は 0 にする必要があります。

pMetaDatavoid*outoptional

HDR メタデータを受け取るバッファーへのポインターです。

このパラメーターは NULL でもかまいません。

解説(Remarks)

このメソッドは複数回呼び出すことができます。1 回目は Type を取得するために呼び出し (この場合、Size は 0、pHDRMetaData は NULL でかまいません)、2 回目は NULL 以外の値を指定して実際のメタデータを取得します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D11VideoContext2 "{C4E7374C-6243-4D1B-AE87-52B4F740E261}"
#usecom global ID3D11VideoContext2 IID_ID3D11VideoContext2 "{}"
#comfunc global ID3D11VideoContext2_VideoProcessorSetOutputHDRMetaData  79 sptr,int,int,sptr
#comfunc global ID3D11VideoContext2_VideoProcessorGetOutputHDRMetaData  80 sptr,var,int,sptr
#comfunc global ID3D11VideoContext2_VideoProcessorSetStreamHDRMetaData  81 sptr,int,int,int,sptr
#comfunc global ID3D11VideoContext2_VideoProcessorGetStreamHDRMetaData  82 sptr,int,var,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。