This document summarizes the notable changes introduced in OpenVX 1.3.2 relative to OpenVX 1.3.1.
API Additions
Added new error code
VX_ERROR_TIMEOUTfor operations that do not complete within an expected duration.Added new error code
VX_ERROR_GRAPH_NOT_VERIFIEDfor graphs that have not yet been verified.Added
VX_DF_IMAGE_RGBAimage format withRGBA[4]member invx_pixel_value_t.Added
VX_KERNEL_MAX_1_3for conformance test bounds checking.Added
VX_ID_BOSCHvendor ID for Robert Bosch GmbH.
API Behavioral Changes
vxCreateVirtualObjectArray: Broadened allowed exemplar types — onlyvx_object_arrayandvx_convolutionare now disallowed (previously limited tovx_image,vx_array, andvx_pyramid).vxRegisterUserStruct/vxRegisterUserStructWithName: User structs can now also be used withvx_scalar(previously onlyvx_array).vxCreateLUT/vxCreateVirtualLUT: Removed restrictive upper bounds oncountparameter.VX_GRAPH_STATE: Marked as a read-only attribute.vxHalfScaleGaussianNode/vxuHalfScaleGaussian: AddedVX_DF_IMAGE_U1support for input and output.
API Signature Fixes
vxAddUserKernel: Changednameparameter from fixed-size array toconst vx_char *nameto fix compiler warnings.All
vxUnmap*functions: Changedmap_idparameter toconst vx_map_idand corrected its direction from[out]to[in](vxUnmapImagePatch,vxUnmapLUT,vxUnmapDistribution,vxUnmapRemapPatch,vxUnmapArrayRange).
Error Reporting Improvements
Added
VX_ERROR_NOT_SUPPORTEDreturn value to allvxSet*AttributeAPIs for read-only attributes (vxSetImageAttribute,vxSetKernelAttribute,vxSetGraphAttribute,vxSetNodeAttribute,vxSetThresholdAttribute,vxSetConvolutionAttribute).Added
VX_ERROR_NO_MEMORYreturn value to allvxCopy*andvxMap*framework APIs for internal allocation failures.
Bug Fixes
VX_PERF_INIT: Fixed initializer from 6 fields to 8 fields to match thevx_perf_tstruct.VX_KERNEL_MAX_1_0/VX_KERNEL_MAX_1_1/VX_KERNEL_MAX_1_2: Changed from auto-increment to explicit value assignment to prevent conformance test breakage when new kernels are added.vxCopyImagePatch: Fixed stride constraint fromstride_x >= pixel sizetostride_x = pixel size(no gaps allowed).vxQueryMetaFormatAttribute: Fixed duplicateVX_THRESHOLD_INPUT_FORMAT— corrected second instance toVX_THRESHOLD_OUTPUT_FORMAT.vxGetUserStructNameByEnum: Fixed parameter documentation —[in]parameter corrected fromtype_nametouser_struct_type.VX_ENUM_SCALAR_OPERATION: Fixed hex literal from0X20to0x20.TensorConvertDepth: Fixed output description from "input tensor data type" to "output tensor data type"; added missing
VX_TYPE_INT8as supported output type.
Image Patch and U1 Image Clarifications
vx_imagepatch_addressing_t: Addedstride_xconstraint — must equal the exact byte size of the data type when contained in whole bytes.vxCreateImageFromHandle: Clarified thatstride_x_bitsis required forVX_DF_IMAGE_U1images.vxCreateImageFromROI: Added restriction thatstart_xmust be a multiple of 8 forVX_DF_IMAGE_U1images.Enhanced documentation for
VX_DF_IMAGE_U1pixel addressing invxFormatImagePatchAddress1d,vxFormatImagePatchAddress2d,vxGetValidRegionImage,vxCopyImagePatch, andvxMapImagePatch.
Terminology Standardization
Replaced all instances of "undefined" behavior with "implementation-defined" across the entire specification for clarity and consistency.
Standardized "implementation-dependent" to "implementation-defined" throughout.
Standardized all spelling from British English to American English (e.g., "normalised" → "normalized", "centred" → "centered").
Documentation Quality
Consistently documented output image dimension and format constraints across all node and immediate mode functions in
vx_nodes.handvxu.h.Added missing
VX_SUCCESSreturn values and standardized\retvalformatting across all framework APIs.Fixed numerous typos, grammar errors, and broken cross-references throughout all header files.