Go to the documentation of this file.
21 namespace InferenceEngine {
36 using Ptr = std::shared_ptr<VAContext>;
42 operator VADisplay() {
43 return _ObjFromParams<VADisplay, gpu_handle_param>(
getParams(),
60 using Ptr = std::shared_ptr<VASurfaceBlob>;
72 operator VASurfaceID() {
73 return _ObjFromParams<VASurfaceID, uint32_t>(
getParams(),
82 return _ObjFromParams<uint32_t, uint32_t>(
getParams(),
93 auto casted = std::dynamic_pointer_cast<VAContext>(ctx);
94 if (
nullptr == casted) {
105 Blob::Ptr y_blob = std::dynamic_pointer_cast<Blob>(casted->CreateBlob(ydesc, blobParams));
109 Blob::Ptr uv_blob = std::dynamic_pointer_cast<Blob>(casted->CreateBlob(uvdesc, blobParams));
111 return InferenceEngine::make_shared_blob<NV12Blob>(y_blob, uv_blob);
122 return std::dynamic_pointer_cast<VAContext>(core.CreateContext(deviceName, contextParams));
129 auto casted = std::dynamic_pointer_cast<VAContext>(ctx);
130 if (
nullptr == casted) {
138 return std::dynamic_pointer_cast<VASurfaceBlob>(casted->CreateBlob(
desc, params));
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:117
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....
Definition: gpu_context_api_va.hpp:92
virtual ParamMap getParams() const =0
Returns a map of device-specific parameters required for low-level operations with underlying object....
This class represents Inference Engine Core entity.
Definition: ie_core.hpp:29
TensorDesc tensorDesc
The tensor descriptor of the given blob.
Definition: ie_blob.h:218
This class defines Tensor description.
Definition: ie_layouts.h:153
This class represents an abstraction for GPU plugin remote blob which can be shared with user-supplie...
Definition: gpu_context_api_ocl.hpp:132
std::shared_ptr< VASurfaceBlob > Ptr
A smart pointer to the VASurfaceBlob object.
Definition: gpu_context_api_va.hpp:60
std::shared_ptr< VAContext > Ptr
A smart pointer to the VAContext object.
Definition: gpu_context_api_va.hpp:36
This class represents an abstraction for GPU plugin remote context which is shared with VA display ob...
Definition: gpu_context_api_va.hpp:31
#define GPU_PARAM_VALUE(name)
Shortcut for defining configuration values.
Definition: gpu_params.hpp:32
uint32_t plane()
Returns plane ID of underlying video decoder surface.
Definition: gpu_context_api_va.hpp:81
virtual ParamMap getParams() const =0
Returns a map of device-specific parameters required for low-level operations with underlying object....
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
std::shared_ptr< ClContext > Ptr
A smart pointer to the ClContext object.
Definition: gpu_context_api_ocl.hpp:38
std::shared_ptr< RemoteContext > Ptr
A smart pointer to the RemoteContext object.
Definition: ie_remote_context.hpp:99
std::shared_ptr< Blob > Ptr
A smart pointer containing Blob object.
Definition: ie_blob.h:43
#define GPU_PARAM_KEY(name)
Shortcut for defining configuration keys.
Definition: gpu_params.hpp:27
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:25
Represents detailed information for an error.
Definition: ie_c_api.h:122
This class represents an abstraction for GPU plugin remote blob which is shared with VA output surfac...
Definition: gpu_context_api_va.hpp:55
@ U8
Definition: ie_precision.hpp:34
This class represents an abstraction for GPU plugin remote context which is shared with OpenCL contex...
Definition: gpu_context_api_ocl.hpp:33
static VASurfaceBlob::Ptr make_shared_blob(const TensorDesc &desc, RemoteContext::Ptr ctx, VASurfaceID surface, uint32_t plane=0)
This function is used to obtain remote blob object from VA surface handle.
Definition: gpu_context_api_va.hpp:128
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
VASurfaceBlob(const TensorDesc &tensorDesc)
Creates a VASurfaceBlob object with the specified dimensions and layout.
Definition: gpu_context_api_va.hpp:66
std::shared_ptr< ClBlob > Ptr
A smart pointer to the ClBlob object.
Definition: gpu_context_api_ocl.hpp:74