Data Structures | Functions
gpu_context_api_dx.hpp File Reference

a header that defines wrappers for internal GPU plugin-specific shared Video Acceleration device contexts and shared memory blobs which contain Video Acceleration surfaces More...

#include <memory>
#include <string>
#include "gpu_context_api_ocl.hpp"
#include <d3d11.h>

Go to the source code of this file.

Data Structures

class  InferenceEngine::gpu::D3DContext
 This class represents an abstraction for GPU plugin remote context which is shared with Direct3D 11 device. The plugin object derived from this class can be obtained either with GetContext() method of Executable network or using CreateContext() Core call. More...
 
class  InferenceEngine::gpu::D3DBufferBlob
 This class represents an abstraction for GPU plugin remote blob which is shared with Direct3D 11 buffer. The plugin object derived from this class can be obtained with CreateBlob() call. More...
 
class  InferenceEngine::gpu::D3DSurface2DBlob
 This class represents an abstraction for GPU plugin remote blob which is shared with Direct3D 11 2D texture. The plugin object derived from this class can be obtained with CreateBlob() call. More...
 

Functions

static Blob::Ptr InferenceEngine::gpu::make_shared_blob_nv12 (size_t height, size_t width, RemoteContext::Ptr ctx, ID3D11Texture2D *nv12_surf)
 This function is used to obtain a NV12 compound blob object from NV12 DXGI video decoder output. The resulting compound contains two remote blobs for Y and UV planes of the surface.
 
static D3DContext::Ptr InferenceEngine::gpu::make_shared_context (Core &core, std::string deviceName, ID3D11Device *device)
 This function is used to obtain remote context object from ID3D11Device.
 
static Blob::Ptr InferenceEngine::gpu::make_shared_blob (const TensorDesc &desc, RemoteContext::Ptr ctx, ID3D11Buffer *buffer)
 This function is used to obtain remote blob object from ID3D11Buffer.
 
static Blob::Ptr InferenceEngine::gpu::make_shared_blob (const TensorDesc &desc, RemoteContext::Ptr ctx, ID3D11Texture2D *surface, uint32_t plane=0)
 This function is used to obtain remote blob object from ID3D11Texture2D. More...
 

Detailed Description

a header that defines wrappers for internal GPU plugin-specific shared Video Acceleration device contexts and shared memory blobs which contain Video Acceleration surfaces

Function Documentation

§ make_shared_blob()

static Blob::Ptr InferenceEngine::gpu::make_shared_blob ( const TensorDesc desc,
RemoteContext::Ptr  ctx,
ID3D11Texture2D *  surface,
uint32_t  plane = 0 
)
inlinestatic

This function is used to obtain remote blob object from ID3D11Texture2D.

Parameters
descTensor description
ctxthe RemoteContext object whuch owns context for the blob to be created
surfacePointer to ID3D11Texture2D interface of the objects that owns NV12 texture
planeID of the plane to be shared (0 or 1)
Returns
Smart pointer to created RemoteBlob object cast to base class
Note
The underlying ID3D11Texture2D can also be a plane of output surface of DXGI video decoder