cvedia::rt::iface::Buffer¶
Inherited by UnifiedBuffer
Public Functions¶
| Name | |
|---|---|
| virtual | ~Buffer() =default |
| virtual cbuffer | copy() const =0 |
| virtual cbuffer | copy(double scaleFactor) const =0 |
| virtual cbuffer | copy(Rect2f const & rc, bool relative) const =0 |
| virtual cbuffer | downloadAsGrayscale() const =0 |
| virtual NODISCARD expected< cbuffer > | region(Rect2f const & rc, bool relative) const =0 |
| virtual NODISCARD expected< void > | copyToRegion(Rect2f const & rc, bool relative, cbuffer destBuffer, Rect2f const & rectDest, bool destRelative) =0 |
| virtual NODISCARD expected< void > | batchCopyRegionsToCanvas(std::vector< RegionCopyOp > const & ops, cbuffer destCanvas) const =0 |
| virtual NODISCARD expected< void > | resize(Size size, builtin::ResizeMethod resizeMethod =builtin::ResizeMethod::SQUASH) =0 |
| virtual NODISCARD expected< void > | resize(Size size, builtin::ResizeMethod resizeMethod, std::string const & interpolationMethod) =0 |
| virtual NODISCARD expected< cbuffer > | resizeAndCopy(Size size, builtin::ResizeMethod resizeMethod =builtin::ResizeMethod::SQUASH) const =0 |
| virtual NODISCARD expected< cbuffer > | resizeAndCopy(Size size, builtin::ResizeMethod resizeMethod, std::string const & interpolationMethod) const =0 |
| virtual NODISCARD expected< cbuffer > | resizeAndCopyRegion(Size size, builtin::ResizeMethod resizeMethod, std::optional< Rect2f > const & region, bool relative, std::optional< BufferDataType > const & destType) const =0 |
| virtual NODISCARD expected< cbuffer > | resizeAndCopyRegion(Size size, builtin::ResizeMethod resizeMethod, std::string const & interpolationMethod, std::optional< Rect2f > const & region, bool relative, std::optional< BufferDataType > const & destType) const =0 |
| virtual NODISCARD expected< void > | pixelate(cv::Mat mask, int blockSize) =0 |
| virtual NODISCARD expected< void > | pixelate(float x, float y, float w, float h, int blockSize) =0 |
| virtual NODISCARD expected< void > | rotate90deg(int times) =0 |
| virtual void | brightness(double delta) =0 |
| virtual void | bgr2rgb() =0 |
| virtual NODISCARD expected< void > | toTransportUri(std::string const & targetTransportUri) =0 |
| virtual NODISCARD expected< void > | toDataType(BufferDataType dataType) =0 |
| virtual void | setColor(float color[3]) =0 |
| virtual NODISCARD expected< void > | grayscale(bool singleChannel) =0 |
| virtual NODISCARD expected< cbuffer > | grayscaleCopy(bool singleChannel) const =0 |
| virtual NODISCARD expected< void > | invert() =0 |
| virtual void | blur(cv::Mat mask, double amount) =0 |
| virtual void | blur(float x, float y, float w, float h, double amount) =0 |
| virtual NODISCARD expected< void > | fishToPano(float xOffset, float yOffset) =0 |
| virtual void | clahe(int const & clipLimit, int const & tileGridSizeX, int const & tileGridSizeY) =0 |
| virtual cmap | meanStdDev() =0 |
| virtual NODISCARD expected< std::vector< cbuffer > > | split() const =0 |
| virtual void | syncStream() const =0 |
| virtual void | syncToStream(void * targetStream) const =0 |
| virtual NODISCARD expected< void > | fill(cbuffer const & mask, float color[3]) =0 |
| virtual NODISCARD expected< void > | fill(float color[3], int opacity) =0 |
| virtual NODISCARD expected< void > | drawLine(Point2f const & src, Point2f const & dest, float color[3], int thickness) =0 |
| virtual NODISCARD expected< void > | drawRect(Rect2f const & pos, float color[3], int thickness) =0 |
| virtual NODISCARD expected< void > | drawPoly(std::vector< Point2f > const & pts, float color[3], double alpha) =0 |
| virtual NODISCARD expected< void > | drawPolyLine(std::vector< Point2f > const & pts, float color[3], int thickness) =0 |
| virtual NODISCARD expected< void > | drawCircle(Point2f const & center, int radius, float color[3], int thickness) =0 |
| virtual NODISCARD expected< void > | writeText(Point2f const & pos, std::string const & text, float color[3], int fontface, double fontscale, int thickness) =0 |
| virtual NODISCARD expected< void > | writeTextAutoSize(Point2f const & pos, std::string const & text, float color[3], int fontface, int genericSize) =0 |
| virtual NODISCARD expected< std::pair< int, int > > | getTextAutoSize(std::string const & text, int fontface, int genericSize) =0 |
| virtual NODISCARD expected< void > | drawBoundingBox(Rect2f const & pos, std::string const & label, float color[3], int thickness) =0 |
| virtual void | allocate(int width, int height, BufferDataType type) =0 |
| virtual NODISCARD expected< void > | fromData(int width, int height, BufferDataType type, void * data, size_t step =0) =0 |
| virtual NODISCARD expected< void > | mergeChannels(cbuffer const & r, cbuffer const & g, cbuffer const & b) =0 |
| virtual NODISCARD expected< void > | horizontalConcat(cbuffer const & left, cbuffer const & right) =0 |
| virtual NODISCARD expected< void > | loadImage(std::string const & filename) =0 |
| virtual NODISCARD expected< void > | decodeImage(void * data, int data_size) =0 |
| virtual NODISCARD expected< void > | saveImage(std::string const & fileName) =0 |
| virtual NODISCARD expected< std::vector< unsigned char > > | encodeImage() =0 |
| virtual std::string | base64Encode() =0 |
| virtual bool | base64Decode(std::string const & base64String) =0 |
| virtual Size | getSize() const =0 |
| virtual int | getChannels() const =0 |
| virtual std::string | getTransportUri() const =0 |
| virtual size_t | getStride() const =0 Get the row stride (bytes per row) for the buffer's primary plane. |
| virtual void * | getData() =0 |
| virtual void const * | getData() const =0 |
| virtual void * | getStream() const =0 |
| virtual void | setStream(void * stream) =0 |
| virtual void * | getBackendPtr() const =0 |
| void | timestamp(double timestamp) |
| double | timestamp() const |
| void | frameid(int frameid) |
| int | frameid() const |
| virtual BufferDataType | dataType() const =0 |
| virtual void | dataType(BufferDataType ) =0 |
| std::string | dataTypeToString(BufferDataType type) |
| BufferDataType | dataTypeFromString(std::string const & str) |
Public Functions Documentation¶
function ~Buffer¶
virtual ~Buffer() =default
function copy¶
virtual cbuffer copy() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::copy
function copy¶
virtual cbuffer copy(
double scaleFactor
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::copy
function copy¶
virtual cbuffer copy(
Rect2f const & rc,
bool relative
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::copy
function downloadAsGrayscale¶
virtual cbuffer downloadAsGrayscale() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::downloadAsGrayscale
function region¶
virtual NODISCARD expected< cbuffer > region(
Rect2f const & rc,
bool relative
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::region
function copyToRegion¶
virtual NODISCARD expected< void > copyToRegion(
Rect2f const & rc,
bool relative,
cbuffer destBuffer,
Rect2f const & rectDest,
bool destRelative
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::copyToRegion
function batchCopyRegionsToCanvas¶
virtual NODISCARD expected< void > batchCopyRegionsToCanvas(
std::vector< RegionCopyOp > const & ops,
cbuffer destCanvas
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::batchCopyRegionsToCanvas
function resize¶
virtual NODISCARD expected< void > resize(
Size size,
builtin::ResizeMethod resizeMethod =builtin::ResizeMethod::SQUASH
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resize
function resize¶
virtual NODISCARD expected< void > resize(
Size size,
builtin::ResizeMethod resizeMethod,
std::string const & interpolationMethod
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resize
function resizeAndCopy¶
virtual NODISCARD expected< cbuffer > resizeAndCopy(
Size size,
builtin::ResizeMethod resizeMethod =builtin::ResizeMethod::SQUASH
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resizeAndCopy
function resizeAndCopy¶
virtual NODISCARD expected< cbuffer > resizeAndCopy(
Size size,
builtin::ResizeMethod resizeMethod,
std::string const & interpolationMethod
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resizeAndCopy
function resizeAndCopyRegion¶
virtual NODISCARD expected< cbuffer > resizeAndCopyRegion(
Size size,
builtin::ResizeMethod resizeMethod,
std::optional< Rect2f > const & region,
bool relative,
std::optional< BufferDataType > const & destType
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resizeAndCopyRegion
function resizeAndCopyRegion¶
virtual NODISCARD expected< cbuffer > resizeAndCopyRegion(
Size size,
builtin::ResizeMethod resizeMethod,
std::string const & interpolationMethod,
std::optional< Rect2f > const & region,
bool relative,
std::optional< BufferDataType > const & destType
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::resizeAndCopyRegion
function pixelate¶
virtual NODISCARD expected< void > pixelate(
cv::Mat mask,
int blockSize
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::pixelate
function pixelate¶
virtual NODISCARD expected< void > pixelate(
float x,
float y,
float w,
float h,
int blockSize
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::pixelate
function rotate90deg¶
virtual NODISCARD expected< void > rotate90deg(
int times
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::rotate90deg
function brightness¶
virtual void brightness(
double delta
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::brightness
function bgr2rgb¶
virtual void bgr2rgb() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::bgr2rgb
function toTransportUri¶
virtual NODISCARD expected< void > toTransportUri(
std::string const & targetTransportUri
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::toTransportUri
function toDataType¶
virtual NODISCARD expected< void > toDataType(
BufferDataType dataType
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::toDataType
function setColor¶
virtual void setColor(
float color[3]
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::setColor
function grayscale¶
virtual NODISCARD expected< void > grayscale(
bool singleChannel
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::grayscale
function grayscaleCopy¶
virtual NODISCARD expected< cbuffer > grayscaleCopy(
bool singleChannel
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::grayscaleCopy
function invert¶
virtual NODISCARD expected< void > invert() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::invert
function blur¶
virtual void blur(
cv::Mat mask,
double amount
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::blur
function blur¶
virtual void blur(
float x,
float y,
float w,
float h,
double amount
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::blur
function fishToPano¶
virtual NODISCARD expected< void > fishToPano(
float xOffset,
float yOffset
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::fishToPano
function clahe¶
virtual void clahe(
int const & clipLimit,
int const & tileGridSizeX,
int const & tileGridSizeY
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::clahe
function meanStdDev¶
virtual cmap meanStdDev() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::meanStdDev
function split¶
virtual NODISCARD expected< std::vector< cbuffer > > split() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::split
function syncStream¶
virtual void syncStream() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::syncStream
function syncToStream¶
virtual void syncToStream(
void * targetStream
) const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::syncToStream
function fill¶
virtual NODISCARD expected< void > fill(
cbuffer const & mask,
float color[3]
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::fill
function fill¶
virtual NODISCARD expected< void > fill(
float color[3],
int opacity
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::fill
function drawLine¶
virtual NODISCARD expected< void > drawLine(
Point2f const & src,
Point2f const & dest,
float color[3],
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawLine
function drawRect¶
virtual NODISCARD expected< void > drawRect(
Rect2f const & pos,
float color[3],
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawRect
function drawPoly¶
virtual NODISCARD expected< void > drawPoly(
std::vector< Point2f > const & pts,
float color[3],
double alpha
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawPoly
function drawPolyLine¶
virtual NODISCARD expected< void > drawPolyLine(
std::vector< Point2f > const & pts,
float color[3],
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawPolyLine
function drawCircle¶
virtual NODISCARD expected< void > drawCircle(
Point2f const & center,
int radius,
float color[3],
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawCircle
function writeText¶
virtual NODISCARD expected< void > writeText(
Point2f const & pos,
std::string const & text,
float color[3],
int fontface,
double fontscale,
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::writeText
function writeTextAutoSize¶
virtual NODISCARD expected< void > writeTextAutoSize(
Point2f const & pos,
std::string const & text,
float color[3],
int fontface,
int genericSize
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::writeTextAutoSize
function getTextAutoSize¶
virtual NODISCARD expected< std::pair< int, int > > getTextAutoSize(
std::string const & text,
int fontface,
int genericSize
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getTextAutoSize
function drawBoundingBox¶
virtual NODISCARD expected< void > drawBoundingBox(
Rect2f const & pos,
std::string const & label,
float color[3],
int thickness
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::drawBoundingBox
function allocate¶
virtual void allocate(
int width,
int height,
BufferDataType type
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::allocate
function fromData¶
virtual NODISCARD expected< void > fromData(
int width,
int height,
BufferDataType type,
void * data,
size_t step =0
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::fromData
function mergeChannels¶
virtual NODISCARD expected< void > mergeChannels(
cbuffer const & r,
cbuffer const & g,
cbuffer const & b
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::mergeChannels
function horizontalConcat¶
virtual NODISCARD expected< void > horizontalConcat(
cbuffer const & left,
cbuffer const & right
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::horizontalConcat
function loadImage¶
virtual NODISCARD expected< void > loadImage(
std::string const & filename
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::loadImage
function decodeImage¶
virtual NODISCARD expected< void > decodeImage(
void * data,
int data_size
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::decodeImage
function saveImage¶
virtual NODISCARD expected< void > saveImage(
std::string const & fileName
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::saveImage
function encodeImage¶
virtual NODISCARD expected< std::vector< unsigned char > > encodeImage() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::encodeImage
function base64Encode¶
virtual std::string base64Encode() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::base64Encode
function base64Decode¶
virtual bool base64Decode(
std::string const & base64String
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::base64Decode
function getSize¶
virtual Size getSize() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getSize
function getChannels¶
virtual int getChannels() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getChannels
function getTransportUri¶
virtual std::string getTransportUri() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getTransportUri
function getStride¶
virtual size_t getStride() const =0
Get the row stride (bytes per row) for the buffer's primary plane.
Return: Row stride in bytes, or 0 if buffer is empty/uninitialized
Note:
- GPU backends typically return stride >= width*channels due to alignment
- For YUV formats, chroma plane strides may differ (see backend documentation)
Reimplemented by: cvedia::rt::UnifiedBuffer::getStride
For simple formats (BGR, BGRA, GRAY), returns the stride of the full image. For YUV formats (NV12, YV12), returns the stride of the Y (luma) plane.
The stride may be larger than width*channels due to memory alignment requirements, especially on GPU backends which use pitched allocation.
function getData¶
virtual void * getData() =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getData
function getData¶
virtual void const * getData() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getData
function getStream¶
virtual void * getStream() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getStream
function setStream¶
virtual void setStream(
void * stream
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::setStream
function getBackendPtr¶
virtual void * getBackendPtr() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::getBackendPtr
function timestamp¶
inline void timestamp(
double timestamp
)
function timestamp¶
inline double timestamp() const
function frameid¶
inline void frameid(
int frameid
)
function frameid¶
inline int frameid() const
function dataType¶
virtual BufferDataType dataType() const =0
Reimplemented by: cvedia::rt::UnifiedBuffer::dataType
function dataType¶
virtual void dataType(
BufferDataType
) =0
Reimplemented by: cvedia::rt::UnifiedBuffer::dataType
function dataTypeToString¶
static inline std::string dataTypeToString(
BufferDataType type
)
function dataTypeFromString¶
static inline BufferDataType dataTypeFromString(
std::string const & str
)