The OpenVX Specification  r28647
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Object: Delay

Detailed Description

Defines the Delay Object interface.

A Delay is an opaque object that contains a manually-controlled, temporally-delayed list of objects.

Typedefs

typedef struct _vx_delay * vx_delay
 The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation. More...
 

Enumerations

enum  vx_delay_attribute_e {
  VX_DELAY_ATTRIBUTE_TYPE = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_DELAY << 8)) + 0x0,
  VX_DELAY_ATTRIBUTE_COUNT = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_DELAY << 8)) + 0x1
}
 The delay attribute list. More...
 

Functions

vx_status vxAgeDelay (vx_delay delay)
 Ages the internal delay ring by one. This means that once this API is called the reference from index 0 will go to index -1 and so forth until \( -count+1 \) is reached. This last object will become 0. Once the delay has been aged, it updates the reference in any associated nodes. More...
 
vx_delay vxCreateDelay (vx_context context, vx_reference exemplar, vx_size count)
 Creates a Delay object. More...
 
vx_reference vxGetReferenceFromDelay (vx_delay delay, vx_int32 index)
 Retrieves a reference from a delay object. More...
 
vx_status vxQueryDelay (vx_delay delay, vx_enum attribute, void *ptr, vx_size size)
 Queries a vx_delay object attribute. More...
 
vx_status vxReleaseDelay (vx_delay *delay)
 Releases a reference to a delay object. The object may not be garbage collected until its total reference count is zero. More...
 

Typedef Documentation

typedef struct _vx_delay* vx_delay

The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation.

See also
vxCreateDelay

Definition at line 188 of file vx_types.h.

Enumeration Type Documentation

The delay attribute list.

Enumerator
VX_DELAY_ATTRIBUTE_TYPE 

The type of reference contained in the delay. Use a vx_enum parameter.

VX_DELAY_ATTRIBUTE_COUNT 

The number of items in the delay. Use a vx_uint32 parameter.

Definition at line 1110 of file vx_types.h.

Function Documentation

vx_status vxQueryDelay ( vx_delay  delay,
vx_enum  attribute,
void *  ptr,
vx_size  size 
)

Queries a vx_delay object attribute.

Parameters
[in]delayThe coordinates object to set.
[in]attributeThe attribute to query. Use a vx_delay_attribute_e enumeration.
[out]ptrThe location at which to store the resulting value.
[in]sizeThe size of the container to which ptr points.
Returns
A vx_status_e enumeration.
vx_status vxReleaseDelay ( vx_delay delay)

Releases a reference to a delay object. The object may not be garbage collected until its total reference count is zero.

Parameters
[in]delayThe pointer to the delay to release.
Postcondition
After returning from this function the reference is zeroed.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEIf graph is not a vx_graph.
vx_delay vxCreateDelay ( vx_context  context,
vx_reference  exemplar,
vx_size  count 
)

Creates a Delay object.

This function uses only the metadata from the exemplar, ignoring the object data. It does not alter the exemplar or keep or release the reference to the exemplar.

Parameters
[in]contextThe reference to the system context.
[in]exemplarThe exemplar object.
[in]countThe number of reference in the delay.
Returns
vx_delay
vx_reference vxGetReferenceFromDelay ( vx_delay  delay,
vx_int32  index 
)

Retrieves a reference from a delay object.

Parameters
[in]delayThe reference to the delay object.
[in]indexAn index into the delay from which to extract the reference.
Returns
vx_reference
Note
The delay index is in the range \( [-count+1,0] \). 0 is always the current object.
A reference from a delay object must not be given to its associated release API (e.g. vxReleaseImage). Use the vxReleaseDelay only.
vx_status vxAgeDelay ( vx_delay  delay)

Ages the internal delay ring by one. This means that once this API is called the reference from index 0 will go to index -1 and so forth until \( -count+1 \) is reached. This last object will become 0. Once the delay has been aged, it updates the reference in any associated nodes.

Parameters
[in]delay
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSDelay was aged.
VX_ERROR_INVALID_REFERENCEThe value passed as delay was not a vx_delay.