TIOVX User Guide
vx_user_data_object.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright (c) 2018 Texas Instruments Incorporated
4
*
5
* All rights reserved not granted herein.
6
*
7
* Limited License.
8
*
9
* Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10
* license under copyrights and patents it now or hereafter owns or controls to make,
11
* have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12
* terms herein. With respect to the foregoing patent license, such license is granted
13
* solely to the extent that any such patent is necessary to Utilize the software alone.
14
* The patent license shall not apply to any combinations which include this software,
15
* other than combinations with devices manufactured by or for TI ("TI Devices").
16
* No hardware patent is licensed hereunder.
17
*
18
* Redistributions must preserve existing copyright notices and reproduce this license
19
* (including the above copyright notice and the disclaimer and (if applicable) source
20
* code license limitations below) in the documentation and/or other materials provided
21
* with the distribution
22
*
23
* Redistribution and use in binary form, without modification, are permitted provided
24
* that the following conditions are met:
25
*
26
* * No reverse engineering, decompilation, or disassembly of this software is
27
* permitted with respect to any software provided in binary form.
28
*
29
* * any redistribution and use are licensed by TI for use only with TI Devices.
30
*
31
* * Nothing shall obligate TI to provide you with source code for the software
32
* licensed and provided to you in object code.
33
*
34
* If software source code is provided to you, modification and redistribution of the
35
* source code are permitted provided that the following conditions are met:
36
*
37
* * any redistribution and use of the source code, including any resulting derivative
38
* works, are licensed by TI for use only with TI Devices.
39
*
40
* * any redistribution and use of any object code compiled from the source code
41
* and any resulting derivative works, are licensed by TI for use only with TI Devices.
42
*
43
* Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44
*
45
* may be used to endorse or promote products derived from this software without
46
* specific prior written permission.
47
*
48
* DISCLAIMER.
49
*
50
* THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53
* IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59
* OF THE POSSIBILITY OF SUCH DAMAGE.
60
*
61
*/
62
63
64
65
#ifndef VX_USER_DATA_OBJECT_H_
66
#define VX_USER_DATA_OBJECT_H_
67
68
69
#ifdef __cplusplus
70
extern
"C"
{
71
#endif
72
83
typedef
struct
_tivx_user_data_object_map_info_t
84
{
86
uint8_t *
map_addr
;
88
vx_size
map_size
;
90
vx_enum
mem_type
;
92
vx_enum
usage
;
93
}
tivx_user_data_object_map_info_t
;
94
95
101
typedef
struct
_vx_user_data_object
102
{
104
tivx_reference_t
base
;
106
tivx_user_data_object_map_info_t
maps[
TIVX_USER_DATA_OBJECT_MAX_MAPS
];
108
vx_reference
owner
;
110
vx_user_data_object
parent
;
111
}
tivx_user_data_object_t
;
112
115
vx_user_data_object
ownCreateUserDataObject
(
vx_context
context,
116
const
vx_char
*type_name,
117
vx_size
size,
const
void
*ptr);
118
120
vx_user_data_object
ownCreateReadOnlyUserDataObject
(
vx_user_data_object
parent);
121
122
#ifdef __cplusplus
123
}
124
#endif
125
126
#endif
tivx_user_data_object_map_info_t::map_addr
uint8_t * map_addr
Address mapped via vxMapUserDataObject()
Definition:
vx_user_data_object.h:86
tivx_user_data_object_map_info_t::map_size
vx_size map_size
Size of memory region mapped via vxMapUserDataObject()
Definition:
vx_user_data_object.h:88
tivx_user_data_object_map_info_t::usage
vx_enum usage
Type of access being done by user, see vx_accessor_e.
Definition:
vx_user_data_object.h:92
tivx_user_data_object_map_info_t::mem_type
vx_enum mem_type
Type of memory mapped via vxMapUserDataObject(), see vx_memory_type_e and tivx_memory_type_e.
Definition:
vx_user_data_object.h:90
vx_size
size_t vx_size
ownCreateUserDataObject
vx_user_data_object ownCreateUserDataObject(vx_context context, const vx_char *type_name, vx_size size, const void *ptr)
internal creation function for user data object
vx_enum
int32_t vx_enum
tivx_reference_t
The most basic type in the OpenVX system. Any type that inherits from tivx_reference_t must have a vx...
Definition:
vx_reference.h:73
tivx_user_data_object_map_info_t
Information about user data object mapping.
Definition:
vx_user_data_object.h:83
vx_char
char vx_char
tivx_user_data_object_t::owner
vx_reference owner
If this is supplementary data, pointer to owner.
Definition:
vx_user_data_object.h:108
vx_context
struct _vx_context * vx_context
vx_reference
struct _vx_reference * vx_reference
TIVX_USER_DATA_OBJECT_MAX_MAPS
#define TIVX_USER_DATA_OBJECT_MAX_MAPS
Max possible mapping via vxMapUserDataObject supported.
Definition:
tivx_config_j722s.h:359
vx_user_data_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...
Definition:
vx_khr_user_data_object.h:37
tivx_user_data_object_t
User data object internal state.
Definition:
vx_user_data_object.h:101
tivx_user_data_object_t::base
tivx_reference_t base
reference object
Definition:
vx_user_data_object.h:104
ownCreateReadOnlyUserDataObject
vx_user_data_object ownCreateReadOnlyUserDataObject(vx_user_data_object parent)
Internal read-only object creation function.
tivx_user_data_object_t::parent
vx_user_data_object parent
if this is supplementary data shadowing another, pointer to the other
Definition:
vx_user_data_object.h:110
source
include
vx_user_data_object.h
Generated by
1.8.14