OpenCV
3.3.0-dev
Open Source Computer Vision
|
Class with reference counting wrapping special memory type allocation functions from CUDA. More...
#include "cuda.hpp"
Public Types | |
enum | AllocType { PAGE_LOCKED = 1, SHARED = 2, WRITE_COMBINED = 4 } |
Public Member Functions | |
HostMem (AllocType alloc_type=PAGE_LOCKED) | |
HostMem (const HostMem &m) | |
HostMem (int rows, int cols, int type, AllocType alloc_type=PAGE_LOCKED) | |
HostMem (Size size, int type, AllocType alloc_type=PAGE_LOCKED) | |
HostMem (InputArray arr, AllocType alloc_type=PAGE_LOCKED) | |
creates from host memory with coping data More... | |
~HostMem () | |
int | channels () const |
HostMem | clone () const |
returns deep copy of the matrix, i.e. the data is copied More... | |
void | create (int rows, int cols, int type) |
allocates new matrix data unless the matrix already has specified size and type. More... | |
void | create (Size size, int type) |
GpuMat | createGpuMatHeader () const |
Maps CPU memory to GPU address space and creates the cuda::GpuMat header without reference counting for it. More... | |
Mat | createMatHeader () const |
returns matrix header with disabled reference counting for HostMem data. More... | |
int | depth () const |
size_t | elemSize () const |
size_t | elemSize1 () const |
bool | empty () const |
bool | isContinuous () const |
HostMem & | operator= (const HostMem &m) |
void | release () |
decrements reference counter and released memory if needed. More... | |
HostMem | reshape (int cn, int rows=0) const |
Size | size () const |
size_t | step1 () const |
void | swap (HostMem &b) |
swaps with other smart pointer More... | |
int | type () const |
Static Public Member Functions | |
static MatAllocator * | getAllocator (AllocType alloc_type=PAGE_LOCKED) |
Public Attributes | |
AllocType | alloc_type |
int | cols |
uchar * | data |
const uchar * | dataend |
uchar * | datastart |
int | flags |
int * | refcount |
int | rows |
size_t | step |
Class with reference counting wrapping special memory type allocation functions from CUDA.
Its interface is also Mat-like but with additional memory type parameters.
|
explicit |
cv::cuda::HostMem::HostMem | ( | const HostMem & | m | ) |
cv::cuda::HostMem::HostMem | ( | int | rows, |
int | cols, | ||
int | type, | ||
AllocType | alloc_type = PAGE_LOCKED |
||
) |
cv::cuda::HostMem::HostMem | ( | Size | size, |
int | type, | ||
AllocType | alloc_type = PAGE_LOCKED |
||
) |
|
explicit |
creates from host memory with coping data
cv::cuda::HostMem::~HostMem | ( | ) |
int cv::cuda::HostMem::channels | ( | ) | const |
HostMem cv::cuda::HostMem::clone | ( | ) | const |
returns deep copy of the matrix, i.e. the data is copied
void cv::cuda::HostMem::create | ( | int | rows, |
int | cols, | ||
int | type | ||
) |
allocates new matrix data unless the matrix already has specified size and type.
void cv::cuda::HostMem::create | ( | Size | size, |
int | type | ||
) |
GpuMat cv::cuda::HostMem::createGpuMatHeader | ( | ) | const |
Maps CPU memory to GPU address space and creates the cuda::GpuMat header without reference counting for it.
This can be done only if memory was allocated with the SHARED flag and if it is supported by the hardware. Laptops often share video and CPU memory, so address spaces can be mapped, which eliminates an extra copy.
Mat cv::cuda::HostMem::createMatHeader | ( | ) | const |
returns matrix header with disabled reference counting for HostMem data.
int cv::cuda::HostMem::depth | ( | ) | const |
size_t cv::cuda::HostMem::elemSize | ( | ) | const |
size_t cv::cuda::HostMem::elemSize1 | ( | ) | const |
bool cv::cuda::HostMem::empty | ( | ) | const |
|
static |
bool cv::cuda::HostMem::isContinuous | ( | ) | const |
void cv::cuda::HostMem::release | ( | ) |
decrements reference counter and released memory if needed.
HostMem cv::cuda::HostMem::reshape | ( | int | cn, |
int | rows = 0 |
||
) | const |
creates alternative HostMem header for the same data, with different number of channels and/or different number of rows
Size cv::cuda::HostMem::size | ( | ) | const |
size_t cv::cuda::HostMem::step1 | ( | ) | const |
void cv::cuda::HostMem::swap | ( | HostMem & | b | ) |
swaps with other smart pointer
int cv::cuda::HostMem::type | ( | ) | const |
AllocType cv::cuda::HostMem::alloc_type |
int cv::cuda::HostMem::cols |
uchar* cv::cuda::HostMem::data |
const uchar* cv::cuda::HostMem::dataend |
uchar* cv::cuda::HostMem::datastart |
int cv::cuda::HostMem::flags |
int* cv::cuda::HostMem::refcount |
int cv::cuda::HostMem::rows |
size_t cv::cuda::HostMem::step |