VMRSurfaceAllocationFlags 列挙 (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

VMRSurfaceAllocationFlags 列挙体は、サーフェス作成パラメーターを指定するために IVMRSurfaceAllocator::AllocateSurface メソッドと共に使用されます。

構文

typedef enum VMRSurfaceAllocationFlags {
  AMAP_PIXELFORMAT_VALID = 0x1,
  AMAP_3D_TARGET = 0x2,
  AMAP_ALLOW_SYSMEM = 0x4,
  AMAP_FORCE_SYSMEM = 0x8,
  AMAP_DIRECTED_FLIP = 0x10,
  AMAP_DXVA_TARGET = 0x20
} ;

定数

 
AMAP_PIXELFORMAT_VALID
値: 0x1
lpPxFmt フィールドに、DirectDraw サーフェスの作成に使用する必要がある有効なデータが含まれていることを示します。
AMAP_3D_TARGET
値: 0x2
作成された DirectDraw サーフェスも、 DDSCAPS_3DDEVICE フラグを設定して作成された Direct3D レンダー ターゲットである必要があることを示します。
AMAP_ALLOW_SYSMEM
値: 0x4
ビデオ メモリに DirectDraw サーフェスを割り当てることができない場合は、システム メモリ DirectDraw サーフェスを割り当てようとすることを示します。 (AGP メモリ サーフェイスは割り当てない必要があることに注意してください)。
AMAP_FORCE_SYSMEM
値: 0x8
システム メモリにサーフェスを強制的に作成します。 イメージをレンダリングする前に GDI を使用して処理する場合は、これを指定します。 サーフェスは、現在のモニターの表示形式 (ピクセル深度) と一致している必要があります。
AMAP_DIRECTED_FLIP
値: 0x10
Flip が呼び出されると、IVMRImagePresenter インターフェイスの PresentImage メソッドにパラメーターとして渡された指定された DirectDraw Surface に Flip する必要があることを意味します。 このフラグの正しいサポートは、グラフィックス ドライバーによって表示される DXVA バッファーと同期してビデオ デコーダーによって見られる DXVA バッファーを維持するために重要です。
AMAP_DXVA_TARGET
値: 0x20
このサーフェスが DXVA ターゲットとして使用されることを示します。

解説

3D サーフェスをシステム メモリに作成できないため、AMAP_3D_TARGETをAMAP_FORCE_SYSMEMまたはAMAP_ALLOW_SYSMEMと組み合わせることはできません。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header strmif.h (Dshow.h を含む)

関連項目

DirectShow 列挙型

IVMRSurfaceAllocator::AllocateSurface