KleidiCV
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations
ctypes.h File Reference

Helper type definitions. More...

Include dependency graph for ctypes.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  kleidicv_point_t
 Struct to represent a point. More...
 
struct  kleidicv_rectangle_t
 Struct to represent a rectangle. More...
 

Typedefs

typedef struct kleidicv_morphology_context_t_ kleidicv_morphology_context_t
 Internal structure where morphology operations store their state.
 
typedef struct kleidicv_filter_context_t_ kleidicv_filter_context_t
 Internal structure where filter operations store their state.
 

Enumerations

enum  kleidicv_error_t {
  KLEIDICV_OK = 0 , KLEIDICV_ERROR_NOT_IMPLEMENTED , KLEIDICV_ERROR_NULL_POINTER , KLEIDICV_ERROR_RANGE ,
  KLEIDICV_ERROR_ALLOCATION , KLEIDICV_ERROR_ALIGNMENT , KLEIDICV_ERROR_CONTEXT_MISMATCH
}
 Error values reported by KleidiCV. More...
 
enum  kleidicv_border_type_t {
  KLEIDICV_BORDER_TYPE_CONSTANT , KLEIDICV_BORDER_TYPE_REPLICATE , KLEIDICV_BORDER_TYPE_REFLECT , KLEIDICV_BORDER_TYPE_WRAP ,
  KLEIDICV_BORDER_TYPE_REVERSE , KLEIDICV_BORDER_TYPE_TRANSPARENT , KLEIDICV_BORDER_TYPE_NONE
}
 KleidiCV border types. More...
 
enum  kleidicv_interpolation_type_t { KLEIDICV_INTERPOLATION_NEAREST , KLEIDICV_INTERPOLATION_LINEAR }
 KleidiCV interpolation types. More...
 
enum  kleidicv_color_conversion_t {
  KLEIDICV_COLOR_CONVERSION_FMT_YUV444 = 0x01 , KLEIDICV_COLOR_CONVERSION_FMT_YUV420SP = 0x02 , KLEIDICV_COLOR_CONVERSION_FMT_YUV420P = 0x03 , KLEIDICV_COLOR_CONVERSION_FMT_YUV422 = 0x04 ,
  KLEIDICV_COLOR_CONVERSION_YUV_FMT_MASK = 0x0F , KLEIDICV_COLOR_CONVERSION_FLAG_VU = 0x10 , KLEIDICV_COLOR_CONVERSION_FLAG_BGR = 0x20 , KLEIDICV_COLOR_CONVERSION_FLAG_ALPHA = 0x40 ,
  KLEIDICV_COLOR_CONVERSION_FLAG_CHROMA_FIRST = 0x80 , KLEIDICV_YUV444_TO_RGB = KLEIDICV_COLOR_CONVERSION_FMT_YUV444 , KLEIDICV_RGB_TO_YUV444 = KLEIDICV_YUV444_TO_RGB , KLEIDICV_YUV444_TO_BGR ,
  KLEIDICV_BGR_TO_YUV444 = KLEIDICV_YUV444_TO_BGR , KLEIDICV_YUV444_TO_RGBA , KLEIDICV_RGBA_TO_YUV444 = KLEIDICV_YUV444_TO_RGBA , KLEIDICV_YUV444_TO_BGRA ,
  KLEIDICV_BGRA_TO_YUV444 = KLEIDICV_YUV444_TO_BGRA , KLEIDICV_NV12_TO_RGB = KLEIDICV_COLOR_CONVERSION_FMT_YUV420SP , KLEIDICV_RGB_TO_NV12 = KLEIDICV_NV12_TO_RGB , KLEIDICV_NV12_TO_BGR ,
  KLEIDICV_BGR_TO_NV12 = KLEIDICV_NV12_TO_BGR , KLEIDICV_NV12_TO_RGBA , KLEIDICV_RGBA_TO_NV12 = KLEIDICV_NV12_TO_RGBA , KLEIDICV_NV12_TO_BGRA ,
  KLEIDICV_BGRA_TO_NV12 = KLEIDICV_NV12_TO_BGRA , KLEIDICV_NV21_TO_RGB , KLEIDICV_RGB_TO_NV21 = KLEIDICV_NV21_TO_RGB , KLEIDICV_NV21_TO_BGR ,
  KLEIDICV_BGR_TO_NV21 = KLEIDICV_NV21_TO_BGR , KLEIDICV_NV21_TO_RGBA , KLEIDICV_RGBA_TO_NV21 = KLEIDICV_NV21_TO_RGBA , KLEIDICV_NV21_TO_BGRA ,
  KLEIDICV_BGRA_TO_NV21 = KLEIDICV_NV21_TO_BGRA , KLEIDICV_IYUV_TO_RGB = KLEIDICV_COLOR_CONVERSION_FMT_YUV420P , KLEIDICV_RGB_TO_IYUV = KLEIDICV_IYUV_TO_RGB , KLEIDICV_IYUV_TO_BGR ,
  KLEIDICV_BGR_TO_IYUV = KLEIDICV_IYUV_TO_BGR , KLEIDICV_IYUV_TO_RGBA , KLEIDICV_RGBA_TO_IYUV = KLEIDICV_IYUV_TO_RGBA , KLEIDICV_IYUV_TO_BGRA ,
  KLEIDICV_BGRA_TO_IYUV = KLEIDICV_IYUV_TO_BGRA , KLEIDICV_YV12_TO_RGB , KLEIDICV_RGB_TO_YV12 = KLEIDICV_YV12_TO_RGB , KLEIDICV_YV12_TO_BGR ,
  KLEIDICV_BGR_TO_YV12 = KLEIDICV_YV12_TO_BGR , KLEIDICV_YV12_TO_RGBA , KLEIDICV_RGBA_TO_YV12 = KLEIDICV_YV12_TO_RGBA , KLEIDICV_YV12_TO_BGRA ,
  KLEIDICV_BGRA_TO_YV12 = KLEIDICV_YV12_TO_BGRA , KLEIDICV_YUYV_TO_RGB = KLEIDICV_COLOR_CONVERSION_FMT_YUV422 , KLEIDICV_RGB_TO_YUYV = KLEIDICV_YUYV_TO_RGB , KLEIDICV_YUYV_TO_BGR ,
  KLEIDICV_BGR_TO_YUYV = KLEIDICV_YUYV_TO_BGR , KLEIDICV_YUYV_TO_RGBA , KLEIDICV_RGBA_TO_YUYV = KLEIDICV_YUYV_TO_RGBA , KLEIDICV_YUYV_TO_BGRA ,
  KLEIDICV_BGRA_TO_YUYV = KLEIDICV_YUYV_TO_BGRA , KLEIDICV_YVYU_TO_RGB , KLEIDICV_RGB_TO_YVYU = KLEIDICV_YVYU_TO_RGB , KLEIDICV_YVYU_TO_BGR ,
  KLEIDICV_BGR_TO_YVYU = KLEIDICV_YVYU_TO_BGR , KLEIDICV_YVYU_TO_RGBA , KLEIDICV_RGBA_TO_YVYU = KLEIDICV_YVYU_TO_RGBA , KLEIDICV_YVYU_TO_BGRA ,
  KLEIDICV_BGRA_TO_YVYU = KLEIDICV_YVYU_TO_BGRA , KLEIDICV_UYVY_TO_RGB , KLEIDICV_RGB_TO_UYVY = KLEIDICV_UYVY_TO_RGB , KLEIDICV_UYVY_TO_BGR ,
  KLEIDICV_BGR_TO_UYVY = KLEIDICV_UYVY_TO_BGR , KLEIDICV_UYVY_TO_RGBA , KLEIDICV_RGBA_TO_UYVY = KLEIDICV_UYVY_TO_RGBA , KLEIDICV_UYVY_TO_BGRA ,
  KLEIDICV_BGRA_TO_UYVY = KLEIDICV_UYVY_TO_BGRA
}
 Supported color conversions and base formats/modifier flags. More...
 

Detailed Description

Helper type definitions.

Enumeration Type Documentation

◆ kleidicv_border_type_t

KleidiCV border types.

Enumerator
KLEIDICV_BORDER_TYPE_CONSTANT 

The border is a constant value.

KLEIDICV_BORDER_TYPE_REPLICATE 

The border is the value of the first/last element.

KLEIDICV_BORDER_TYPE_REFLECT 

The border is the mirrored value of the first/last elements.

KLEIDICV_BORDER_TYPE_WRAP 

The border simply acts as a "wrap around" to the beginning/end.

KLEIDICV_BORDER_TYPE_REVERSE 

Like KLEIDICV_BORDER_TYPE_REFLECT, but the first/last elements are ignored.

KLEIDICV_BORDER_TYPE_TRANSPARENT 

The border is the "continuation" of the input rows. It is the caller's responsibility to provide the input data (and an appropriate stride value) in a way that the rows can be under and over read. E.g. can be used when executing an operation on a region of a picture.

KLEIDICV_BORDER_TYPE_NONE 

The border is a hard border, there are no additional values to use.

◆ kleidicv_color_conversion_t

Supported color conversions and base formats/modifier flags.

Enumerator
KLEIDICV_COLOR_CONVERSION_FMT_YUV444 

Base YUV444 format (interleaved, full resolution)

KLEIDICV_COLOR_CONVERSION_FMT_YUV420SP 

Base YUV420 semi-planar format (NV12/NV21)

KLEIDICV_COLOR_CONVERSION_FMT_YUV420P 

Base YUV420 planar format (I420/IYUV or YV12)

KLEIDICV_COLOR_CONVERSION_FMT_YUV422 

Base YUV422 format (interleaved 4:2:2)

KLEIDICV_COLOR_CONVERSION_YUV_FMT_MASK 

Mask to extract the base YUV format (lower 4 bits) from a color conversion value. Use this to identify whether the base format is YUV444, YUV420SP, YUV420P, or YUV422.

KLEIDICV_COLOR_CONVERSION_FLAG_VU 

Indicates VU chroma order (V before U)

KLEIDICV_COLOR_CONVERSION_FLAG_BGR 

Indicates image data is in BGR format (instead of RGB)

KLEIDICV_COLOR_CONVERSION_FLAG_ALPHA 

Indicates that alpha channel is present (RGBA or BGRA)

KLEIDICV_COLOR_CONVERSION_FLAG_CHROMA_FIRST 

Indicates chroma byte precedes luma (Y) byte in interleaved 4:2:2 data.

KLEIDICV_YUV444_TO_RGB 

Convert YUV444 to RGB.

KLEIDICV_RGB_TO_YUV444 

Convert RGB to YUV444.

KLEIDICV_YUV444_TO_BGR 

Convert YUV444 to BGR.

KLEIDICV_BGR_TO_YUV444 

Convert BGR to YUV444.

KLEIDICV_YUV444_TO_RGBA 

Convert YUV444 to RGBA.

KLEIDICV_RGBA_TO_YUV444 

Convert RGBA to YUV444.

KLEIDICV_YUV444_TO_BGRA 

Convert YUV444 to BGRA.

KLEIDICV_BGRA_TO_YUV444 

Convert BGRA to YUV444.

KLEIDICV_NV12_TO_RGB 

Convert NV12 (Y + interleaved UV) to RGB.

KLEIDICV_RGB_TO_NV12 

Convert RGB to NV12 (Y + interleaved UV)

KLEIDICV_NV12_TO_BGR 

Convert NV12 (Y + interleaved UV) to BGR.

KLEIDICV_BGR_TO_NV12 

Convert BGR to NV12 (Y + interleaved UV)

KLEIDICV_NV12_TO_RGBA 

Convert NV12 (Y + interleaved UV) to RGBA.

KLEIDICV_RGBA_TO_NV12 

Convert RGBA to NV12 (Y + interleaved UV)

KLEIDICV_NV12_TO_BGRA 

Convert NV12 (Y + interleaved UV) to BGRA.

KLEIDICV_BGRA_TO_NV12 

Convert BGRA to NV12 (Y + interleaved UV)

KLEIDICV_NV21_TO_RGB 

Convert NV21 (Y + interleaved VU) to RGB.

KLEIDICV_RGB_TO_NV21 

Convert RGB to NV21 (Y + interleaved VU)

KLEIDICV_NV21_TO_BGR 

Convert NV21 (Y + interleaved VU) to BGR.

KLEIDICV_BGR_TO_NV21 

Convert BGR to NV21 (Y + interleaved VU)

KLEIDICV_NV21_TO_RGBA 

Convert NV21 (Y + interleaved VU) to RGBA.

KLEIDICV_RGBA_TO_NV21 

Convert RGBA to NV21 (Y + interleaved VU)

KLEIDICV_NV21_TO_BGRA 

Convert NV21 (Y + interleaved VU) to BGRA.

KLEIDICV_BGRA_TO_NV21 

Convert BGRA to NV21 (Y + interleaved VU)

KLEIDICV_IYUV_TO_RGB 

Convert I420/IYUV (Y, U, V planes) to RGB.

KLEIDICV_RGB_TO_IYUV 

Convert RGB to I420/IYUV (Y, U, V planes)

KLEIDICV_IYUV_TO_BGR 

Convert I420/IYUV (Y, U, V planes) to BGR.

KLEIDICV_BGR_TO_IYUV 

Convert BGR to I420/IYUV (Y, U, V planes)

KLEIDICV_IYUV_TO_RGBA 

Convert I420/IYUV (Y, U, V planes) to RGBA.

KLEIDICV_RGBA_TO_IYUV 

Convert RGBA to I420/IYUV (Y, U, V planes)

KLEIDICV_IYUV_TO_BGRA 

Convert I420/IYUV (Y, U, V planes) to BGRA.

KLEIDICV_BGRA_TO_IYUV 

Convert BGRA to I420/IYUV (Y, U, V planes)

KLEIDICV_YV12_TO_RGB 

Convert YV12 (Y, V, U planes) to RGB.

KLEIDICV_RGB_TO_YV12 

Convert RGB to YV12 (Y, V, U planes)

KLEIDICV_YV12_TO_BGR 

Convert YV12 (Y, V, U planes) to BGR.

KLEIDICV_BGR_TO_YV12 

Convert BGR to YV12 (Y, V, U planes)

KLEIDICV_YV12_TO_RGBA 

Convert YV12 (Y, V, U planes) to RGBA.

KLEIDICV_RGBA_TO_YV12 

Convert RGBA to YV12 (Y, V, U planes)

KLEIDICV_YV12_TO_BGRA 

Convert YV12 (Y, V, U planes) to BGRA.

KLEIDICV_BGRA_TO_YV12 

Convert BGRA to YV12 (Y, V, U planes)

KLEIDICV_YUYV_TO_RGB 

Convert YUYV (Y, U, Y, V order) to RGB.

KLEIDICV_RGB_TO_YUYV 

Convert RGB to YUYV (Y, U, Y, V order)

KLEIDICV_YUYV_TO_BGR 

Convert YUYV (Y, U, Y, V order) to BGR.

KLEIDICV_BGR_TO_YUYV 

Convert BGR to YUYV (Y, U, Y, V order)

KLEIDICV_YUYV_TO_RGBA 

Convert YUYV (Y, U, Y, V order) to RGBA.

KLEIDICV_RGBA_TO_YUYV 

Convert RGBA to YUYV (Y, U, Y, V order)

KLEIDICV_YUYV_TO_BGRA 

Convert YUYV (Y, U, Y, V order) to BGRA.

KLEIDICV_BGRA_TO_YUYV 

Convert BGRA to YUYV (Y, U, Y, V order)

KLEIDICV_YVYU_TO_RGB 

Convert YVYU (Y, V, Y, U order) to RGB.

KLEIDICV_RGB_TO_YVYU 

Convert RGB to YVYU (Y, V, Y, U order)

KLEIDICV_YVYU_TO_BGR 

Convert YVYU (Y, V, Y, U order) to BGR.

KLEIDICV_BGR_TO_YVYU 

Convert BGR to YVYU (Y, V, Y, U order)

KLEIDICV_YVYU_TO_RGBA 

Convert YVYU (Y, V, Y, U order) to RGBA.

KLEIDICV_RGBA_TO_YVYU 

Convert RGBA to YVYU (Y, V, Y, U order)

KLEIDICV_YVYU_TO_BGRA 

Convert YVYU (Y, V, Y, U order) to BGRA.

KLEIDICV_BGRA_TO_YVYU 

Convert BGRA to YVYU (Y, V, Y, U order)

KLEIDICV_UYVY_TO_RGB 

Convert UYVY (U, Y, V, Y order) to RGB.

KLEIDICV_RGB_TO_UYVY 

Convert RGB to UYVY (U, Y, V, Y order)

KLEIDICV_UYVY_TO_BGR 

Convert UYVY (U, Y, V, Y order) to BGR.

KLEIDICV_BGR_TO_UYVY 

Convert BGR to UYVY (U, Y, V, Y order)

KLEIDICV_UYVY_TO_RGBA 

Convert UYVY (U, Y, V, Y order) to RGBA.

KLEIDICV_RGBA_TO_UYVY 

Convert RGBA to UYVY (U, Y, V, Y order)

KLEIDICV_UYVY_TO_BGRA 

Convert UYVY (U, Y, V, Y order) to BGRA.

KLEIDICV_BGRA_TO_UYVY 

Convert BGRA to UYVY (U, Y, V, Y order)

◆ kleidicv_error_t

Error values reported by KleidiCV.

Enumerator
KLEIDICV_OK 

Success.

KLEIDICV_ERROR_NOT_IMPLEMENTED 

Requested operation is not implemented.

KLEIDICV_ERROR_NULL_POINTER 

Null pointer was passed as an argument.

KLEIDICV_ERROR_RANGE 

A value was encountered outside the representable or valid range.

KLEIDICV_ERROR_ALLOCATION 

Could not allocate memory.

KLEIDICV_ERROR_ALIGNMENT 

A value did not meet alignment requirements.

KLEIDICV_ERROR_CONTEXT_MISMATCH 

The provided context (like kleidicv_morphology_context_t) is not compatible with the operation.

◆ kleidicv_interpolation_type_t

KleidiCV interpolation types.

Enumerator
KLEIDICV_INTERPOLATION_NEAREST 

Nearest neighbour interpolation

KLEIDICV_INTERPOLATION_LINEAR 

Bilinear interpolation