TIOVX User Guide

Detailed Description

Internal APIs for reference operations.

Data Structures

struct  tivx_reference_t
 The most basic type in the OpenVX system. Any type that inherits from tivx_reference_t must have a vx_reference_t as its first memeber to allow casting to this type. More...
 

Typedefs

typedef vx_status(* tivx_reference_callback_f) (vx_reference ref)
 Callback type used to register different callbacks from object dervied from references.
 
typedef vx_status(* VX_API_CALL) (vx_reference *ref)
 Callback type used to register release callbacks from object dervied from references.
 

Enumerations

enum  tivx_reftype_e
 An internal enum for notating which sort of reference type we need.
 

Functions

vx_reference ownCreateReference (vx_context context, vx_enum type, vx_enum reftype, vx_reference scope)
 Create a reference object. More...
 
vx_status ownReleaseReferenceInt (vx_reference *ref, vx_enum type, vx_enum reftype, tivx_reference_callback_f destructor)
 Used to destroy a reference. More...
 
vx_bool ownIsValidSpecificReference (vx_reference ref, vx_enum type)
 Used to validate everything but vx_context, vx_image. More...
 
vx_status ownReferenceLock (vx_reference ref)
 Lock the reference. More...
 
vx_status ownReferenceUnlock (vx_reference ref)
 Unlock the reference. More...
 
vx_uint32 ownIncrementReference (vx_reference ref, vx_enum reftype)
 Increments the ref count. More...
 
vx_uint32 ownDecrementReference (vx_reference ref, vx_enum reftype)
 Decrements the ref count. More...
 
vx_uint32 ownTotalReferenceCount (vx_reference ref)
 Returns the total reference count of the object. More...
 
void ownPrintReference (vx_reference ref)
 Print reference information. More...
 
vx_bool ownIsValidType (vx_enum type)
 This returns true if the type is within the definition of types in OpenVX. More...
 
vx_status ownInitReference (vx_reference ref, vx_context context, vx_enum type, vx_reference scope)
 Init a reference object. More...
 
vx_bool ownIsValidReference (vx_reference ref)
 Check if reference is valid. More...
 
void ownInitReferenceForDelay (vx_reference ref, vx_delay d, vx_int32 index)
 Used to initialize any vx_reference as a delay element. More...
 
vx_status ownReferenceAllocMem (vx_reference ref)
 Alloc memory associated with this reference, typically data reference.
 
vx_size ownSizeOfEnumType (vx_enum item_type)
 Get the size of the Type enum.
 
void ownReferenceSetScope (vx_reference ref, vx_reference scope)
 Set scope of a reference.
 
vx_reference ownReferenceGetHandleFromObjDescId (uint16_t obj_desc_id)
 Return reference given a obj desc ID This API must only be called on the host Use the ownReferenceGetHostRefFromObjDescId if needing to call from the remote cores.
 
uint64_t ownReferenceGetHostRefFromObjDescId (uint16_t obj_desc_id)
 Return 64 bit reference given a obj desc ID Used to call on the remote cores.
 

Function Documentation

◆ ownCreateReference()

vx_reference ownCreateReference ( vx_context  context,
vx_enum  type,
vx_enum  reftype,
vx_reference  scope 
)

Create a reference object.

Parameters
[in]contextThe context to which this reference will belong
[in]typeThe vx_type_e type desired.
[in]reftypeThe tivx_reftype_e reference type desired.
[in]scopeThe scope to which this reference belongs.

◆ ownReleaseReferenceInt()

vx_status ownReleaseReferenceInt ( vx_reference ref,
vx_enum  type,
vx_enum  reftype,
tivx_reference_callback_f  destructor 
)

Used to destroy a reference.

Parameters
[in]refThe reference to release.
[in]typeThe vx_type_e to check against.
[in]reftypeThe tivx_reftype_e reference type
[in]destructorThe function to call after the total count has reached zero

◆ ownIsValidSpecificReference()

vx_bool ownIsValidSpecificReference ( vx_reference  ref,
vx_enum  type 
)

Used to validate everything but vx_context, vx_image.

Parameters
[in]refThe reference to validate.
[in]typeThe vx_type_e to check for.

◆ ownReferenceLock()

vx_status ownReferenceLock ( vx_reference  ref)

Lock the reference.

Parameters
[in]refThe reference to lock

◆ ownReferenceUnlock()

vx_status ownReferenceUnlock ( vx_reference  ref)

Unlock the reference.

Parameters
[in]refThe reference to unlock

◆ ownIncrementReference()

vx_uint32 ownIncrementReference ( vx_reference  ref,
vx_enum  reftype 
)

Increments the ref count.

Parameters
[in]refThe reference.
[in]reftypesee tivx_reftype_e

◆ ownDecrementReference()

vx_uint32 ownDecrementReference ( vx_reference  ref,
vx_enum  reftype 
)

Decrements the ref count.

Parameters
[in]refThe reference.
[in]reftypesee tivx_reftype_e

◆ ownTotalReferenceCount()

vx_uint32 ownTotalReferenceCount ( vx_reference  ref)

Returns the total reference count of the object.

Parameters
[in]refThe reference to print.

◆ ownPrintReference()

void ownPrintReference ( vx_reference  ref)

Print reference information.

Parameters
[in]refThe reference.

◆ ownIsValidType()

vx_bool ownIsValidType ( vx_enum  type)

This returns true if the type is within the definition of types in OpenVX.

Note
VX_TYPE_INVALID is not valid for determining a type.
Parameters
[in]typeThe vx_type_e value.

◆ ownInitReference()

vx_status ownInitReference ( vx_reference  ref,
vx_context  context,
vx_enum  type,
vx_reference  scope 
)

Init a reference object.

Parameters
[in]refThe reference
[in]contextThe context to which this reference will belong
[in]typeThe vx_type_e type desired.
[in]scopeThe scope to which this reference belongs.

◆ ownIsValidReference()

vx_bool ownIsValidReference ( vx_reference  ref)

Check if reference is valid.

Parameters
[in]refThe reference

◆ ownInitReferenceForDelay()

void ownInitReferenceForDelay ( vx_reference  ref,
vx_delay  d,
vx_int32  index 
)

Used to initialize any vx_reference as a delay element.

Parameters
[in]refThe pointer to the reference object.
[in]dThe delay to which the object belongs
[in]indexthe index in the delay