class InferenceEngine::gpu::VASurfaceBlob¶
Overview¶
This class represents an abstraction for GPU plugin remote blob which is shared with VA output surface. The plugin object derived from this class can be obtained with CreateBlob() call. More…
#include <gpu_context_api_va.hpp>
class VASurfaceBlob: public InferenceEngine::gpu::ClImage2DBlob
{
public:
// typedefs
typedef std::shared_ptr<VASurfaceBlob> Ptr;
// construction
VASurfaceBlob(const TensorDesc& tensorDesc);
// methods
operator VASurfaceID ();
uint32_t plane();
};
Inherited Members¶
public:
// typedefs
typedef std::shared_ptr<Blob> Ptr;
typedef std::shared_ptr<const Blob> CPtr;
typedef std::shared_ptr<MemoryBlob> Ptr;
typedef std::shared_ptr<const MemoryBlob> CPtr;
typedef std::shared_ptr<RemoteBlob> Ptr;
typedef std::shared_ptr<const RemoteBlob> CPtr;
typedef std::shared_ptr<ClBlob> Ptr;
typedef std::shared_ptr<ClImage2DBlob> Ptr;
// methods
static Ptr CreateFromData(const DataPtr& data);
template <
typename T,
typename std::enable_if<!std::is_pointer<T>::value&&!std::is_reference<T>::value, int>::type = 0,
typename std::enable_if<std::is_base_of<Blob, T>::value, int>::type = 0
>
bool is();
template <
typename T,
typename std::enable_if<!std::is_pointer<T>::value&&!std::is_reference<T>::value, int>::type = 0,
typename std::enable_if<std::is_base_of<Blob, T>::value, int>::type = 0
>
bool is() const;
template <
typename T,
typename std::enable_if<!std::is_pointer<T>::value&&!std::is_reference<T>::value, int>::type = 0,
typename std::enable_if<std::is_base_of<Blob, T>::value, int>::type = 0
>
T \* as();
template <
typename T,
typename std::enable_if<!std::is_pointer<T>::value&&!std::is_reference<T>::value, int>::type = 0,
typename std::enable_if<std::is_base_of<Blob, T>::value, int>::type = 0
>
const T \* as() const;
virtual const TensorDesc& getTensorDesc() const;
virtual TensorDesc& getTensorDesc();
virtual size_t size() const;
virtual size_t byteSize() const;
virtual size_t element_size() const = 0;
virtual void allocate() = 0;
virtual bool deallocate() = 0;
void setShape(const SizeVector& dims);
virtual Blob::Ptr createROI(const ROI& roi) const;
virtual Blob::Ptr createROI(
const std::vector<std::size_t>& begin,
const std::vector<std::size_t>& end
) const;
virtual const TensorDesc& getTensorDesc() const;
virtual TensorDesc& getTensorDesc();
virtual size_t size() const;
virtual size_t byteSize() const;
virtual size_t element_size() const;
virtual void allocate() = 0;
virtual bool deallocate() = 0;
virtual LockedMemory<void> rwmap() = 0;
virtual LockedMemory<const void> rmap() const = 0;
virtual LockedMemory<void> wmap() = 0;
virtual ParamMap getParams() const = 0;
virtual std::string getDeviceName() const = 0;
virtual std::shared_ptr<RemoteContext> getContext() const = 0;
cl_mem get();
operator cl_mem ();
operator cl::Image2D ();
Detailed Documentation¶
This class represents an abstraction for GPU plugin remote blob which is shared with VA output surface. The plugin object derived from this class can be obtained with CreateBlob() call.
User can also obtain OpenCL 2D image handle from this class.
Construction¶
VASurfaceBlob(const TensorDesc& tensorDesc)
Creates a VASurfaceBlob object with the specified dimensions and layout.
Parameters:
tensorDesc |
Tensor description |
Methods¶
operator VASurfaceID ()
VASurfaceID conversion operator for the VASurfaceBlob object.
Returns:
VASurfaceID
handle
uint32_t plane()
Returns plane ID of underlying video decoder surface.
Returns:
Plane ID