35 using Ptr = std::shared_ptr<D3DContext>;
41 operator ID3D11Device*() {
42 return _ObjFromParams<ID3D11Device*, gpu_handle_param>(
getParams(),
59 using Ptr = std::shared_ptr<D3DBufferBlob>;
71 operator ID3D11Buffer*() {
72 return _ObjFromParams<ID3D11Buffer*, gpu_handle_param>(
getParams(),
89 using Ptr = std::shared_ptr<D3DSurface2DBlob>;
101 operator ID3D11Texture2D*() {
102 return _ObjFromParams<ID3D11Texture2D*, gpu_handle_param>(
getParams(),
112 return _ObjFromParams<uint32_t, uint32_t>(
getParams(),
123 auto casted = std::dynamic_pointer_cast<
D3DContext>(ctx);
124 if (
nullptr == casted) {
136 Blob::Ptr y_blob = std::dynamic_pointer_cast<
Blob>(casted->CreateBlob(desc, blobParams));
141 Blob::Ptr uv_blob = std::dynamic_pointer_cast<
Blob>(casted->CreateBlob(uvdesc, blobParams));
143 return InferenceEngine::make_shared_blob<NV12Blob>(y_blob, uv_blob);
161 auto casted = std::dynamic_pointer_cast<
D3DContext>(ctx);
162 if (
nullptr == casted) {
170 return std::dynamic_pointer_cast<
D3DBufferBlob>(casted->CreateBlob(desc, params));
183 auto casted = std::dynamic_pointer_cast<
D3DContext>(ctx);
184 if (
nullptr == casted) {
192 return std::dynamic_pointer_cast<
D3DSurface2DBlob>(casted->CreateBlob(desc, params));
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:25
RemoteContext::Ptr CreateContext(const std::string &deviceName, const ParamMap ¶ms)
Create a new shared context object on specified accelerator device using specified plugin-specific lo...
This class represents Inference Engine Core entity.
Definition: ie_core.hpp:29
Inference Engine API.
Definition: ie_argmax_layer.hpp:15
std::shared_ptr< D3DContext > Ptr
A smart pointer to the D3DContext object.
Definition: gpu_context_api_dx.hpp:35
uint32_t plane()
Returns plane ID of underlying video decoder surface, or 0 if no video surface was shared...
Definition: gpu_context_api_dx.hpp:111
D3DSurface2DBlob(const TensorDesc &tensorDesc)
Creates a D3DSurface2DBlob object with the specified dimensions and layout.
Definition: gpu_context_api_dx.hpp:95
This class represents an abstraction for GPU plugin remote blob which can be shared with user-supplie...
Definition: gpu_context_api_ocl.hpp:129
This class represents an abstraction for GPU plugin remote context which is shared with Direct3D 11 d...
Definition: gpu_context_api_dx.hpp:30
This class defines Tensor description.
Definition: ie_layouts.h:153
#define GPU_PARAM_VALUE(name)
Shortcut for defining configuration values.
Definition: gpu_params.hpp:32
This class represents an abstraction for GPU plugin remote context which is shared with OpenCL contex...
Definition: gpu_context_api_ocl.hpp:30
This class represents an abstraction for GPU plugin remote blob which is shared with Direct3D 11 2D t...
Definition: gpu_context_api_dx.hpp:84
std::shared_ptr< Blob > Ptr
A smart pointer containing Blob object.
Definition: ie_blob.h:42
std::shared_ptr< D3DBufferBlob > Ptr
A smart pointer to the D3DBufferBlob object.
Definition: gpu_context_api_dx.hpp:59
static Blob::Ptr 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...
Definition: gpu_context_api_dx.hpp:122
virtual ParamMap getParams() const =0
Returns a map of device-specific parameters required for low-level operations with underlying object...
a header that defines wrappers for internal GPU plugin-specific OpenCL context and OpenCL shared memo...
static D3DContext::Ptr make_shared_context(Core &core, std::string deviceName, ID3D11Device *device)
This function is used to obtain remote context object from ID3D11Device.
Definition: gpu_context_api_dx.hpp:149
void * gpu_handle_param
Shortcut for defining a handle parameter.
Definition: gpu_params.hpp:20
Definition: ie_precision.hpp:32
std::map< std::string, Parameter > ParamMap
An std::map object containing low-level object parameters of classes that are derived from RemoteBlob...
Definition: ie_remote_context.hpp:26
This class represents a universal container in the Inference Engine.
Definition: ie_blob.h:37
This class represents an abstraction for GPU plugin remote blob which is shared with Direct3D 11 buff...
Definition: gpu_context_api_dx.hpp:54
#define GPU_PARAM_KEY(name)
Shortcut for defining configuration keys.
Definition: gpu_params.hpp:27
InferenceEngine::TBlob< Type >::Ptr make_shared_blob(const TensorDesc &tensorDesc)
Creates a blob with the given tensor descriptor.
Definition: ie_blob.h:780
std::shared_ptr< RemoteContext > Ptr
A smart pointer to the RemoteContext object.
Definition: ie_remote_context.hpp:99
D3DBufferBlob(const TensorDesc &tensorDesc)
Creates a D3DBufferBlob object with the specified dimensions and layout.
Definition: gpu_context_api_dx.hpp:65
This class represents an abstraction for GPU plugin remote blob which can be shared with user-supplie...
Definition: gpu_context_api_ocl.hpp:86
std::shared_ptr< D3DSurface2DBlob > Ptr
A smart pointer to the D3DSurface2DBlob object.
Definition: gpu_context_api_dx.hpp:89