17 #ifndef _OPENVX_USER_DATA_OBJECT_H_ 18 #define _OPENVX_USER_DATA_OBJECT_H_ 25 #define OPENVX_KHR_USER_DATA_OBJECT "vx_khr_user_data_object" 43 #define VX_TYPE_USER_DATA_OBJECT 0x816 48 enum vx_user_data_object_attribute_e { VX_API_ENTRY vx_status VX_API_CALL vxQueryUserDataObject(vx_user_data_object user_data_object, vx_enum attribute, void *ptr, vx_size size)
Queries the User data object for some specific information.
The number of valid bytes in the user data object. Must be less than or equal to the value of VX_USER...
VX_API_ENTRY vx_user_data_object VX_API_CALL vxCreateVirtualUserDataObject(vx_graph graph, const vx_char *type_name, vx_size size)
Creates an opaque reference to a virtual User Data Object with no direct user access.
The number of bytes in the user data object. Read-only. Use a vx_size parameter.
VX_API_ENTRY vx_user_data_object VX_API_CALL vxCreateUserDataObject(vx_context context, const vx_char *type_name, vx_size size, const void *ptr)
Creates a reference to a User Data Object.
struct _vx_context * vx_context
The type name of the user data object. Read-only. Use a vx_char[VX_MAX_REFERENCE_NAME] array...
#define VX_ATTRIBUTE_BASE(vendor, object)
struct _vx_user_data_object * vx_user_data_object
The User Data Object. User Data Object is a strongly-typed container for other data structures...
#define VX_TYPE_USER_DATA_OBJECT
The object type enumeration for user data object.
VX_API_ENTRY vx_status VX_API_CALL vxMapUserDataObject(vx_user_data_object user_data_object, vx_size offset, vx_size size, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags)
Allows the application to get direct access to a subset of the user data object.
VX_API_ENTRY vx_status VX_API_CALL vxSetUserDataObjectAttribute(vx_user_data_object user_data_object, vx_enum attribute, const void *ptr, vx_size size)
Sets an attribute in the User data object.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapUserDataObject(vx_user_data_object user_data_object, vx_map_id map_id)
Unmap and commit potential changes to a user data object subset that was previously mapped...
VX_API_ENTRY vx_status VX_API_CALL vxReleaseUserDataObject(vx_user_data_object *user_data_object)
Releases a reference of a User data object. The object may not be garbage collected until its total r...
struct _vx_graph * vx_graph
VX_API_ENTRY vx_status VX_API_CALL vxCopyUserDataObject(vx_user_data_object user_data_object, vx_size offset, vx_size size, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy a subset from/into a user data object.
vx_status(* VX_API_CALL)(vx_reference *ref)
Callback type used to register release callbacks from object derived from references.