35 using Ptr = std::shared_ptr<VAContext>;
41 operator VADisplay() {
42 return _ObjFromParams<VADisplay, gpu_handle_param>(
getParams(),
59 using Ptr = std::shared_ptr<VASurfaceBlob>;
71 operator VASurfaceID() {
72 return _ObjFromParams<VASurfaceID, uint32_t>(
getParams(),
81 return _ObjFromParams<uint32_t, uint32_t>(
getParams(),
92 auto casted = std::dynamic_pointer_cast<
VAContext>(ctx);
93 if (
nullptr == casted) {
104 Blob::Ptr y_blob = std::dynamic_pointer_cast<
Blob>(casted->CreateBlob(ydesc, blobParams));
108 Blob::Ptr uv_blob = std::dynamic_pointer_cast<
Blob>(casted->CreateBlob(uvdesc, blobParams));
110 return InferenceEngine::make_shared_blob<NV12Blob>(y_blob, uv_blob);
128 auto casted = std::dynamic_pointer_cast<
VAContext>(ctx);
129 if (
nullptr == casted) {
137 return std::dynamic_pointer_cast<
VASurfaceBlob>(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< ClBlob > Ptr
A smart pointer to the ClBlob object.
Definition: gpu_context_api_ocl.hpp:71
VASurfaceBlob(const TensorDesc &tensorDesc)
Creates a VASurfaceBlob object with the specified dimensions and layout.
Definition: gpu_context_api_va.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:129
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
std::shared_ptr< VAContext > Ptr
A smart pointer to the VAContext object.
Definition: gpu_context_api_va.hpp:35
std::shared_ptr< Blob > Ptr
A smart pointer containing Blob object.
Definition: ie_blob.h:42
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...
void * gpu_handle_param
Shortcut for defining a handle parameter.
Definition: gpu_params.hpp:20
std::shared_ptr< VASurfaceBlob > Ptr
A smart pointer to the VASurfaceBlob object.
Definition: gpu_context_api_va.hpp:59
Definition: ie_precision.hpp:32
std::shared_ptr< ClContext > Ptr
A smart pointer to the ClContext object.
Definition: gpu_context_api_ocl.hpp:35
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
static VAContext::Ptr make_shared_context(Core &core, std::string deviceName, VADisplay device)
This function is used to obtain remote context object from VA display handle.
Definition: gpu_context_api_va.hpp:116
This class represents a universal container in the Inference Engine.
Definition: ie_blob.h:37
std::map< std::string, std::string > params
Map of pairs: (parameter name, parameter value)
Definition: ie_layers.h:607
NHWC layout for input / output blobs.
Definition: ie_common.h:84
static Blob::Ptr make_shared_blob_nv12(size_t height, size_t width, RemoteContext::Ptr ctx, VASurfaceID nv12_surf)
This function is used to obtain a NV12 compound blob object from NV12 VA decoder output. The resulting compound contains two remote blobs for Y and UV planes of the surface.
Definition: gpu_context_api_va.hpp:91
#define GPU_PARAM_KEY(name)
Shortcut for defining configuration keys.
Definition: gpu_params.hpp:27
This class represents an abstraction for GPU plugin remote context which is shared with VA display ob...
Definition: gpu_context_api_va.hpp:30
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
This class represents an abstraction for GPU plugin remote blob which is shared with VA output surfac...
Definition: gpu_context_api_va.hpp:54
uint32_t plane()
Returns plane ID of underlying video decoder surface.
Definition: gpu_context_api_va.hpp:80