latest/amd_openvx/openvx/include/vx_ext_amd.h Source File

latest/amd_openvx/openvx/include/vx_ext_amd.h Source File#

MIVisionX: latest/amd_openvx/openvx/include/vx_ext_amd.h Source File
vx_ext_amd.h
Go to the documentation of this file.
1/*
2Copyright (c) 2015 - 2024 Advanced Micro Devices, Inc. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
23#ifndef _VX_EXT_AMD_H_
24#define _VX_EXT_AMD_H_
25
26#include <VX/vx.h>
27#include <VX/vx_khr_nn.h>
28#ifdef __cplusplus
29#include <string>
30#endif
31
43#define AGO_TARGET_AFFINITY_CPU 0x0010 // CPU
47#define AGO_TARGET_AFFINITY_GPU 0x0020 // GPU
51#define AGO_TARGET_AFFINITY_APU 0x0030 // APU
52
56#define AGO_MAX_PARAMS 32
57#define AGO_MERGE_RULE_MAX_FIND 4
58#define AGO_MERGE_RULE_MAX_REPLACE 4
59#define AGO_MERGE_RULE_SOLITARY_FLAG 0x20
60#define AGO_TARGET_AFFINITY_GPU_INFO_DEVICE_MASK 0x0F
61#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_MASK 0xF0
62#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_ENABLE 0x10
63#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_AS_CLMEM 0x20
64#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_NO_FGS 0x40
65
72#define VX_MAX_STRING_BUFFER_SIZE_AMD 256
73
78#define VX_NN_ACTIVATION_LEAKY_RELU (VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x9)
79
83#define VX_CONTEXT_ATTRIBUTE_NONLINEAR_MAX_DIMENSION VX_CONTEXT_NONLINEAR_MAX_DIMENSION
84#define VX_CONTEXT_ATTRIBUTE_IMMEDIATE_BORDER_POLICY VX_CONTEXT_IMMEDIATE_BORDER_POLICY
85
90#define VX_GRAPH_ATTRIBUTE_STATE VX_GRAPH_STATE
91
95#define VX_OBJECT_ARRAY_ATTRIBUTE_ITEMTYPE VX_OBJECT_ARRAY_ITEMTYPE
96#define VX_OBJECT_ARRAY_ATTRIBUTE_NUMITEMS VX_OBJECT_ARRAY_NUMITEMS
97
122
143
162
187
202
223
244
259
283
295
305
311{
313 VX_DF_IMAGE_U1_AMD = VX_DF_IMAGE('U', '0', '0', '1'),
315 VX_DF_IMAGE_F16_AMD = VX_DF_IMAGE('F', '0', '1', '6'),
317 VX_DF_IMAGE_F32_AMD = VX_DF_IMAGE('F', '0', '3', '2'),
319 VX_DF_IMAGE_F64_AMD = VX_DF_IMAGE('F', '0', '6', '4'),
321 VX_DF_IMAGE_F32x3_AMD = VX_DF_IMAGE('F', '3', '3', '2'),
322};
323
333
340typedef struct _vx_tensor_t *vx_tensor;
341
345typedef struct
346{
347 vx_size components;
348 vx_size planes;
349 vx_size pixelSizeInBitsNum;
350 vx_color_space_e colorSpace;
351 vx_channel_range_e channelRange;
352 vx_size pixelSizeInBitsDenom;
354
358typedef struct
359{
360 vx_uint32 device_type; // shall be AGO_TARGET_AFFINITY_CPU or AGO_TARGET_AFFINITY_GPU
361 vx_uint32 device_info; // reserved -- shall be initialized to ZERO and shall not be modified
362 vx_uint32 group; // reserved -- shall be initialized to ZERO and shall not be modified
363 vx_uint32 reserved; // reserved -- shall be initialized to ZERO and shall not be modified
365
369typedef struct
370{
371 vx_char macroName[256];
372 vx_char *text;
374
382typedef struct
383{
384 vx_char *text;
385 vx_uint32 num_ref;
386 vx_reference *ref;
387 vx_int32 dumpToConsole;
388 void(VX_CALLBACK *data_registry_callback_f)(void *obj, vx_reference ref, const char *name, const char *app_params);
389 void *data_registry_callback_obj;
391
395typedef struct
396{
397 vx_char fileName[256];
398 vx_uint32 num_ref;
399 vx_reference *ref;
400 vx_char comment[64];
402
406typedef struct
407{
408 vx_uint64 kernel_enqueue;
409 vx_uint64 kernel_wait;
410 vx_uint64 buffer_read;
411 vx_uint64 buffer_write;
413
417typedef struct AgoNodeMergeRule_t
418{
419 struct
420 {
421 vx_enum kernel_id;
422 vx_uint32 arg_spec[AGO_MAX_PARAMS];
423 } find[AGO_MERGE_RULE_MAX_FIND];
424 struct
425 {
426 vx_enum kernel_id;
427 vx_uint32 arg_spec[AGO_MAX_PARAMS];
428 } replace[AGO_MERGE_RULE_MAX_REPLACE];
430
431#ifdef __cplusplus
436typedef vx_status(VX_CALLBACK *amd_kernel_query_target_support_f)(vx_graph graph, vx_node node,
437 vx_bool use_opencl_1_2, // [input] false: OpenCL driver is 2.0+; true: OpenCL driver is 1.2
438 vx_uint32 &supported_target_affinity // [output] must be set to AGO_TARGET_AFFINITY_CPU or AGO_TARGET_AFFINITY_GPU or (AGO_TARGET_AFFINITY_CPU | AGO_TARGET_AFFINITY_GPU)
439);
440
454typedef vx_status(VX_CALLBACK *amd_kernel_opencl_codegen_callback_f)(
455 vx_node node, // [input] node
456 const vx_reference parameters[], // [input] parameters
457 vx_uint32 num, // [input] number of parameters
458 bool opencl_load_function, // [input] false: normal OpenCL kernel; true: reserved
459 char opencl_kernel_function_name[64], // [output] kernel_name for clCreateKernel()
460 std::string &opencl_kernel_code, // [output] string for clCreateProgramWithSource()
461 std::string &opencl_build_options, // [output] options for clBuildProgram()
462 vx_uint32 &opencl_work_dim, // [output] work_dim for clEnqueueNDRangeKernel()
463 vx_size opencl_global_work[], // [output] global_work[] for clEnqueueNDRangeKernel()
464 vx_size opencl_local_work[], // [output] local_work[] for clEnqueueNDRangeKernel()
465 vx_uint32 &opencl_local_buffer_usage_mask, // [output] reserved: must be ZERO
466 vx_uint32 &opencl_local_buffer_size_in_bytes // [output] reserved: must be ZERO
467);
468
472typedef vx_status(VX_CALLBACK *amd_drama_add_node_f)(vx_node node, vx_enum kernel_id, vx_reference *paramList, vx_uint32 paramCount);
473typedef vx_status(VX_CALLBACK *amd_kernel_node_regen_callback_f)(vx_node node, amd_drama_add_node_f add_node_f, vx_bool &replace_original);
474
480typedef vx_status(VX_CALLBACK *amd_kernel_opencl_global_work_update_callback_f)(
481 vx_node node, // [input] node
482 const vx_reference parameters[], // [input] parameters
483 vx_uint32 num, // [input] number of parameters
484 vx_uint32 opencl_work_dim, // [input] work_dim for clEnqueueNDRangeKernel()
485 vx_size opencl_global_work[], // [output] global_work[] for clEnqueueNDRangeKernel()
486 const vx_size opencl_local_work[] // [input] local_work[] for clEnqueueNDRangeKernel()
487);
488
494typedef vx_status(VX_CALLBACK *amd_kernel_gpu_buffer_update_callback_f)(
495 vx_node node, // [input] node
496 const vx_reference parameters[], // [input] parameters
497 vx_uint32 num // [input] number of parameters
498);
499
503typedef struct
504{
505 amd_kernel_gpu_buffer_update_callback_f gpu_buffer_update_callback_f;
506 vx_uint32 gpu_buffer_update_param_index;
507} AgoKernelGpuBufferUpdateInfo;
508
509#if defined(AMD_FP16_SUPPORT)
512#if __has_include(<half/half.hpp>)
513 #include <half/half.hpp>
514#else
515 #include <half.hpp>
516#endif
517typedef half_float::half vx_float16;
518#endif
519#endif
520
521#ifdef __cplusplus
522extern "C"
523{
524#endif
525
541
557 VX_API_ENTRY vx_status VX_API_CALL vxSetModuleInternalData(vx_context context, const vx_char *module, void *ptr, vx_size size);
558
574 VX_API_ENTRY vx_status VX_API_CALL vxGetModuleInternalData(vx_context context, const vx_char *module, void **ptr, vx_size *size);
575
590 VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle(vx_node node, const vx_char *module, void *ptr);
591
606 VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle(vx_node node, const vx_char *module, void **ptr);
607
624
638
649 VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor);
650
657 VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor);
658
659#ifdef __cplusplus
660}
661#endif
662
663#endif
vx_tensor_attribute_amd_e
The AMD tensor data attributes.
Definition vx_ext_amd.h:229
vx_array_attribute_amd_e
The AMD array data attributes.
Definition vx_ext_amd.h:249
vx_color_space_amd_e
The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.
Definition vx_ext_amd.h:301
vx_memory_type_amd_e
An enumeration of additional memory type imports.
Definition vx_ext_amd.h:289
vx_df_image_amd_e
Based on the VX_DF_IMAGE definition.
Definition vx_ext_amd.h:311
VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle(vx_node node, const vx_char *module, void *ptr)
Set module handle.
vx_kernel_attribute_amd_e
The AMD kernel attributes list.
Definition vx_ext_amd.h:148
struct _vx_tensor_t * vx_tensor
The multidimensional data object (Tensor).
Definition vx_ext_amd.h:340
VX_API_ENTRY vx_status VX_API_CALL vxSetContextImageFormatDescription(vx_context context, vx_df_image format, const AgoImageFormatDescription *desc)
Set custom image format description.
VX_API_ENTRY vx_status VX_API_CALL vxGetContextImageFormatDescription(vx_context context, vx_df_image format, AgoImageFormatDescription *desc)
Get custom image format description.
vx_graph_attribute_amd_e
The AMD graph attributes list.
Definition vx_ext_amd.h:167
#define AGO_MAX_PARAMS
AMD internal parameters. [TODO: This needs to be moved to ago_internal.h].
Definition vx_ext_amd.h:56
VX_API_ENTRY vx_status VX_API_CALL vxSetModuleInternalData(vx_context context, const vx_char *module, void *ptr, vx_size size)
Set module internal data.
VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
vxAliasTensor.
vx_image_attribute_amd_e
The AMD image attributes list.
Definition vx_ext_amd.h:207
vx_node_attribute_amd_e
The AMD node attributes list.
Definition vx_ext_amd.h:192
vx_directive_amd_e
These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or f...
Definition vx_ext_amd.h:269
VX_API_ENTRY vx_status VX_API_CALL vxGetModuleInternalData(vx_context context, const vx_char *module, void **ptr, vx_size *size)
Retrieve module internal data.
VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle(vx_node node, const vx_char *module, void **ptr)
Retrieve module handle.
struct AgoNodeMergeRule_t AgoNodeMergeRule
AMD data structure to specify node merge rule.
VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
vxIsTensorAliased.
vx_scalar_attribute_amd_e
scalar data attributes.
Definition vx_ext_amd.h:329
vx_context_attribute_amd_e
The AMD context attributes list.
Definition vx_ext_amd.h:127
ago_type_public_e
The type enumeration lists all the AMD specific types in OpenVX.
Definition vx_ext_amd.h:102
VX_API_ENTRY vx_status VX_API_CALL vxGetReferenceName(vx_reference ref, vx_char name[], vx_size size)
Retrieve the name of a reference.
@ VX_TENSOR_BUFFER_HIP
HIP buffer. cl_mem.
Definition vx_ext_amd.h:237
@ VX_TENSOR_OFFSET_GPU
GPU buffer offset. vx_size.
Definition vx_ext_amd.h:233
@ VX_TENSOR_BUFFER_OPENCL
OpenCL buffer. cl_mem.
Definition vx_ext_amd.h:235
@ VX_TENSOR_STRIDE_GPU
GPU buffer strides (array of vx_size).
Definition vx_ext_amd.h:231
@ VX_TENSOR_MEMORY_TYPE
Queries memory type if created using vxCreateTensorFromHandle. If vx_tensor was not created using vxC...
Definition vx_ext_amd.h:240
@ VX_TENSOR_BUFFER_HOST
Sync with user specified host buffer.
Definition vx_ext_amd.h:242
@ VX_ARRAY_OFFSET_GPU
TODO:.
Definition vx_ext_amd.h:257
@ VX_ARRAY_BUFFER
TODO:.
Definition vx_ext_amd.h:255
@ VX_ARRAY_BUFFER_OPENCL
OpenCL buffer. cl_mem.
Definition vx_ext_amd.h:251
@ VX_ARRAY_BUFFER_HIP
HIP buffer. hip_mem.
Definition vx_ext_amd.h:253
@ VX_COLOR_SPACE_BT2020
Use to indicate that the BT.2020 coefficients are used for conversions.
Definition vx_ext_amd.h:303
@ VX_MEMORY_TYPE_OPENCL
The memory type to import from the OpenCL.
Definition vx_ext_amd.h:291
@ VX_MEMORY_TYPE_HIP
The memory type to import from the HIP.
Definition vx_ext_amd.h:293
@ VX_DF_IMAGE_F32_AMD
AMD image with 32-bit floating-point (float).
Definition vx_ext_amd.h:317
@ VX_DF_IMAGE_F32x3_AMD
AMD image with THREE 32-bit floating-point channels in one buffer.
Definition vx_ext_amd.h:321
@ VX_DF_IMAGE_F16_AMD
AMD image with 16-bit floating-point (half).
Definition vx_ext_amd.h:315
@ VX_DF_IMAGE_F64_AMD
AMD image with 64-bit floating-point (double).
Definition vx_ext_amd.h:319
@ VX_DF_IMAGE_U1_AMD
AMD image with 1-bit data.
Definition vx_ext_amd.h:313
@ VX_KERNEL_ATTRIBUTE_AMD_QUERY_TARGET_SUPPORT
Kernel callback for query target support. Use a amd_kernel_query_target_support_f parameter.
Definition vx_ext_amd.h:150
@ VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_ACCESS_ENABLE
Kernel flag to enable OpenCL buffer access (default OFF). Use a vx_bool parameter.
Definition vx_ext_amd.h:158
@ VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_UPDATE_CALLBACK
Kernel callback for GPU buffer update. Use a AgoKernelGpuBufferUpdateInfo parameter.
Definition vx_ext_amd.h:160
@ VX_KERNEL_ATTRIBUTE_AMD_OPENCL_CODEGEN_CALLBACK
Kernel callback for OpenCL code generation. Use a amd_kernel_opencl_codegen_callback_f parameter.
Definition vx_ext_amd.h:152
@ VX_KERNEL_ATTRIBUTE_AMD_NODE_REGEN_CALLBACK
Kernel callback for node regeneration. Use a amd_kernel_node_regen_callback_f parameter.
Definition vx_ext_amd.h:154
@ VX_KERNEL_ATTRIBUTE_AMD_OPENCL_GLOBAL_WORK_UPDATE_CALLBACK
Kernel callback for OpenCL global work[]. Use a amd_kernel_opencl_global_work_update_callback_f param...
Definition vx_ext_amd.h:156
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_PROFILE
Graph internal performance profile. Use a char * fileName parameter.
Definition vx_ext_amd.h:181
@ VX_GRAPH_ATTRIBUTE_AMD_CPU_NUM_THREADS
CPU num_threads to be used in RPP. Use a vx_uint32 parameter.
Definition vx_ext_amd.h:185
@ VX_GRAPH_ATTRIBUTE_AMD_EXPORT_TO_TEXT
Export a graph into a text file. Use a AgoGraphExportInfo parameter.
Definition vx_ext_amd.h:173
@ VX_GRAPH_ATTRIBUTE_AMD_OPTIMIZER_FLAGS
Graph optimizer flags. Use a vx_uint32 parameter.
Definition vx_ext_amd.h:175
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_LAST
Graph last performance (internal). Use a AgoGraphPerfInternalInfo parameter.
Definition vx_ext_amd.h:177
@ VX_GRAPH_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE
OpenCL command queue. Use a cl_command_queue parameter.
Definition vx_ext_amd.h:183
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_AVG
Graph avg performance (internal). Use a AgoGraphPerfInternalInfo parameter.
Definition vx_ext_amd.h:179
@ VX_GRAPH_ATTRIBUTE_AMD_AFFINITY
Graph affinity. Use a AgoNodeAffinityInfo parameter.
Definition vx_ext_amd.h:169
@ VX_GRAPH_ATTRIBUTE_AMD_IMPORT_FROM_TEXT
Imports a graph from a text file. Use a AgoGraphImportInfo parameter.
Definition vx_ext_amd.h:171
@ VX_IMAGE_ATTRIBUTE_AMD_OPENCL_BUFFER
Sync with user specified OpenCL buffer. Use a cl_mem parameter.
Definition vx_ext_amd.h:209
@ VX_IMAGE_ATTRIBUTE_AMD_HIP_BUFFER
Sync with user specified hip memory.
Definition vx_ext_amd.h:221
@ VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_OFFSET
GPU buffer offset. Use a cl_uint parameter.
Definition vx_ext_amd.h:211
@ VX_IMAGE_ATTRIBUTE_AMD_ENABLE_USER_BUFFER_GPU
Enable user kernel's own GPU buffer for virtual images. Supports only images with single color plane ...
Definition vx_ext_amd.h:215
@ VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_STRIDE
GPU buffer stride. Use a cl_uint parameter.
Definition vx_ext_amd.h:217
@ VX_IMAGE_ATTRIBUTE_AMD_HOST_BUFFER
Sync with user specified host buffer. Use a cl_mem parameter.
Definition vx_ext_amd.h:219
@ VX_NODE_ATTRIBUTE_AMD_HIP_STREAM
HIP stream. TBD.
Definition vx_ext_amd.h:198
@ VX_NODE_ATTRIBUTE_AMD_AFFINITY
Node affinity. Use a AgoTargetAffinityInfo parameter.
Definition vx_ext_amd.h:194
@ VX_NODE_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE
OpenCL command queue. Use a cl_command_queue parameter.
Definition vx_ext_amd.h:196
@ VX_NODE_ATTRIBUTE_AMD_CPU_NUM_THREADS
TBD.
Definition vx_ext_amd.h:200
@ VX_DIRECTIVE_AMD_COPY_TO_HIPMEM
Data object copy to HIP memory.
Definition vx_ext_amd.h:281
@ VX_DIRECTIVE_AMD_ENABLE_PROFILE_CAPTURE
Enable performance profile capture.
Definition vx_ext_amd.h:275
@ VX_DIRECTIVE_AMD_DISABLE_PROFILE_CAPTURE
Disable performance profile capture.
Definition vx_ext_amd.h:277
@ VX_DIRECTIVE_AMD_COPY_TO_OPENCL
Data object copy to OpenCL.
Definition vx_ext_amd.h:273
@ VX_DIRECTIVE_AMD_DISABLE_GPU_FLUSH
Disable node level flush for a graph.
Definition vx_ext_amd.h:279
@ VX_DIRECTIVE_AMD_READ_ONLY
Data object is readonly after this directive is given.
Definition vx_ext_amd.h:271
@ VX_SCALAR_BUFFER
scalar's buffer
Definition vx_ext_amd.h:331
@ VX_CONTEXT_ATTRIBUTE_AMD_OPENCL_CONTEXT
OpenCL context. Use a cl_context parameter.
Definition vx_ext_amd.h:129
@ VX_CONTEXT_ATTRIBUTE_AMD_HIP_DEVICE
HIP context. Use a cl_context parameter.
Definition vx_ext_amd.h:141
@ VX_CONTEXT_ATTRIBUTE_AMD_SET_MERGE_RULE
Set a merge rule. Use a AgoNodeMergeRule parameter.
Definition vx_ext_amd.h:135
@ VX_CONTEXT_CL_QUEUE_PROPERTIES
CL_QUEUE_PROPERTIES to be used for creating OpenCL command queue. Use a cl_command_queue_properties p...
Definition vx_ext_amd.h:139
@ VX_CONTEXT_ATTRIBUTE_AMD_AFFINITY
Context affinity. Use a AgoTargetAffinityInfo parameter.
Definition vx_ext_amd.h:131
@ VX_CONTEXT_ATTRIBUTE_AMD_SET_TEXT_MACRO
Set a text macro definition. Use a AgoContextMacroInfo parameter.
Definition vx_ext_amd.h:133
@ VX_CONTEXT_MAX_TENSOR_DIMENSIONS
Tensor Data max num of dimensions supported by HW.
Definition vx_ext_amd.h:137
@ AGO_TYPE_MINMAXLOC_DATA
AGO data structure for AGO MinMaxLoc kernels.
Definition vx_ext_amd.h:114
@ VX_TYPE_STRING_AMD
AMD scalar data type for string.
Definition vx_ext_amd.h:105
@ AGO_TYPE_MEANSTDDEV_DATA
AGO data structure for AGO MeanStdDev kernels.
Definition vx_ext_amd.h:111
@ AGO_TYPE_SCALE_MATRIX
AGO data structure for AGO Scale kernels.
Definition vx_ext_amd.h:120
@ AGO_TYPE_KEYPOINT_XYS
AGO struct data type for keypoint XYS.
Definition vx_ext_amd.h:108
@ AGO_TYPE_CANNY_STACK
AGO data structure for AGO Canny kernels.
Definition vx_ext_amd.h:117
AMD data structure to set a text macro.
Definition vx_ext_amd.h:370
AMD data structure to export a graph to a text.
Definition vx_ext_amd.h:396
AMD data structure to import a graph from a text.text: "macro <macro-name>" to use a pre-defined macr...
Definition vx_ext_amd.h:383
AMD data structure to get internal performance data.
Definition vx_ext_amd.h:407
AMD data structure for image format information.
Definition vx_ext_amd.h:346
AMD data structure to specify node merge rule.
Definition vx_ext_amd.h:418
AMD data structure to specify target affinity.
Definition vx_ext_amd.h:359
The top level OpenVX Header.
The Khronos Extension for Deep Convolutional Networks Functions.
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition vx_types.h:218
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition vx_types.h:145
uint32_t vx_uint32
A 32-bit unsigned value.
Definition vx_types.h:85
vx_color_space_e
The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.
Definition vx_types.h:1300
vx_channel_range_e
The image channel range list used by the VX_IMAGE_RANGE attribute of a vx_image.
Definition vx_types.h:1317
uint32_t vx_df_image
Used to hold a VX_DF_IMAGE code to describe the pixel format and color space.
Definition vx_types.h:162
@ VX_TYPE_VENDOR_STRUCT_START
A vendor-defined struct base index.
Definition vx_types.h:368
@ VX_TYPE_NODE
A vx_node.
Definition vx_types.h:383
@ VX_TYPE_SCALAR
A vx_scalar. when needed to be completely generic for kernel validation.
Definition vx_types.h:393
@ VX_TYPE_TENSOR
A vx_tensor.
Definition vx_types.h:402
@ VX_TYPE_CONTEXT
A vx_context.
Definition vx_types.h:381
@ VX_TYPE_ARRAY
A vx_array.
Definition vx_types.h:394
@ VX_TYPE_VENDOR_OBJECT_START
A vendor defined object base index.
Definition vx_types.h:370
@ VX_TYPE_KERNEL
A vx_kernel.
Definition vx_types.h:384
@ VX_TYPE_IMAGE
A vx_image.
Definition vx_types.h:395
@ VX_TYPE_GRAPH
A vx_graph.
Definition vx_types.h:382
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition vx_types.h:157
struct _vx_tensor_t * vx_tensor
The multidimensional data object (Tensor).
Definition vx_types.h:287
@ VX_ENUM_COLOR_SPACE
Color Space.
Definition vx_types.h:563
@ VX_ENUM_DIRECTIVE
Directive Values.
Definition vx_types.h:560
@ VX_ENUM_MEMORY_TYPE
The memory type enumeration.
Definition vx_types.h:571
vx_enum vx_status
A formal status type with known fixed size.
Definition vx_types.h:445
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition vx_types.h:152
#define VX_ENUM_BASE(vendor, id)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
Definition vx_types.h:550
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition vx_types.h:211
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition vx_types.h:204
int32_t vx_int32
A 32-bit signed value.
Definition vx_types.h:105
char vx_char
An 8 bit ASCII character.
Definition vx_types.h:70
#define VX_ATTRIBUTE_BASE(vendor, object)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
Definition vx_types.h:533
uint64_t vx_uint64
A 64-bit unsigned value.
Definition vx_types.h:90
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition vx_types.h:56
vx_enum vx_bool
A formal boolean type with known fixed size.
Definition vx_types.h:312
#define VX_DF_IMAGE(a, b, c, d)
Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code.
Definition vx_types.h:526
#define VX_CALLBACK
Defines calling convention for user callbacks.
Definition vx_types.h:63
@ VX_ID_KHRONOS
The Khronos Group.
Definition vx_vendors.h:30
@ VX_ID_AMD
Advanced Micro Devices.
Definition vx_vendors.h:43