TIOVX Release Notes

Version: 10.00.00


Contents

  1. Introduction
  2. Licensing
  3. Getting Started
  4. Documentation
  5. What's New
  6. Upgrade and Compatibility Information
  7. Device Support
  8. Validation Information
  9. Fixed Issues
  10. Known Issues
  11. Change Requests
  12. Documentation Change Log
  13. Technical Support
  14. Package Versioning


Introduction

The TIOVX package consists of the Texas Instruments OpenVX conformant implementation for Jacinto7 platform


Licensing

The licensing information of this library, as well as any third-party components included which are made available under a number of other open-source licenses are enumerated as part of the manifest. A complete manifest along with export control information is detailed here [HTML].


Getting Started

The TIOVX User Guide [HTML] provides the documentation and references necessary to begin development on TI's platforms using TIOVX.


Documentation

Refer to following documentation for further details:

TIOVX User Guide Build instructions, API Guide, tutorials, tool documentation, etc [HTML]
Test Reports Conformance test reports, TI platform test reports [XLSX]
Software Manifest Licenses, terms of use [HTML]
Static Analysis Report C and C++ Taxonomy Report [XLSX]
Bidirectional Traceability Report Traceability reports of MR to FR to Test [XLSX]


What's New

ID Summary
TIOVX-1696 [J722S][OpenVX]: Enabling OpenVX on WKUP R5F
TIOVX-1637 TIOVX shall support a custom vx_image attribute allowing image pitch alignment specification

Upgrade and Compatibility Information

File Change description User application change required User application recompile required
include/TI/tivx.h and include/VX/vx_khr_user_data_object.h Upgraded to use Khronos user data object extension rather than TI extension YES YES
include/TI/soc/tivx_config_< soc > .h New max value for the subimage depth has been added NO YES
source/framework/vx_log_resource.c Several of the minimum required values for resource logging have been increased to re-enable use of generated configuration files NO YES


Device Support

SoC Target (OS) Test Plaform
J722S x86_64 (Linux) x86_64 Linux with Ubuntu 22.04
J722S R5F, C7x running FreeRTOS
A53 running Linux Kernel v6.6 or QNX
J722S EVM

Validation Information

This release was built and validated using the following tools:

Build Tools (included in Processor SDK RTOS):

Dependencies (included in Processor SDK RTOS):

Dependencies (NOT included in Processor SDK RTOS):

Refer user guide [HTML] for instructions to install and setup above dependancies.

Fixed Issues

ID Summary
TIOVX-1788 [BUG] vxQueryScalar should fail in case of scalar->base.obj_desc = NULL instead it is throwing a segmentation falt due to illegal access
TIOVX-1778 [BUG] In the event of ownGraphNodeKernelDeinit() failure from inside vxVerifyGraph, vxVerifyGraph will not return FAILURE
TIOVX-1756 Global lock is not released during posix object deinit
TIOVX-1753 tivxTaskDelete() return VX_SUCCESS even if task /tsk_handle is NULL
TIOVX-1738 Status Overwrite by ownPosixObjectFree() in tivxQueueCreate API
TIOVX-1712 ownDestructObjArray() return VX_SUCCESS even if objarr->base.obj_desc is NULL
TIOVX-1698 Incorrect destination format check in vx_color_convert node
TIOVX-1690 ownTargetDelete() API of vx_target.c returns success for invalid target ID
TIOVX-1689 ownTargetDelete does not free the target handle
TIOVX-1681 BUILD_ASSERT not actually throwing build errors when false
TIOVX-1678 TIOVX extension attributes are missing type when their values are set
TIOVX-1677 Variant data type error in conformance performance datasheet for LookUpTable
TIOVX-1666 ownAllocImageBuffer() API of vx_image.c returns success even if the allocation using tivxMemBufferAlloc() fails
TIOVX-1662 Meta format structures and functions are missing Array item size attribute
TIOVX-1661 Several External API definitions are missing VX_API_ENTRY macro prefix
TIOVX-1643 Meta format structures and functions are missing tensor attributes
TIOVX-1641 Meta format is missing all support for Convolution data type
TIOVX-1640 Meta format structures and functions are missing Matrix pattern, origin, and size attributes
TIOVX-1636 Meta format data object creation does not initialize all parameters
TIOVX-1603 ownAddReferenceToContext() API of vx_context.c returns success even if the internal vxSetReferenceName() call fails
TIOVX-1594 [GTC]: Incorrect GTC value from R5F susceptibility
TIOVX-1592 [DSS_M2M]: Incorrect copy of pipeId in DisplayM2M parameter create function
TIOVX-1579 tivxMemBufferAlloc not failing (should return VX_ERROR_NO_MEMORY) for Target (Linux) even when the actual memory is not available
TIOVX-1297 vxScaleImageNode Upsampling output is not as expected for fractional scaling

Known Issues

ID Summary
TIOVX-1782 [LINUX] Array test case failing with migration to GCC13.2 compiler
TIOVX-1752 Cache Maintainance operation when running certain applications missing from A72
TIOVX-1713 [Conformance test] Add format VX_DF_IMAGE_RGBX format to DSS M2M testcase
TIOVX-1782 [LINUX] Array test case failing with migration to GCC13.2 compiler
TIOVX-1752 Cache Maintainance operation when running certain applications missing from A72
TIOVX-1713 [Conformance test] Add format VX_DF_IMAGE_RGBX format to DSS M2M testcase
TIOVX-1700 vxSetGraphParameterByIndex does not conform to pipelining spec
TIOVX-1699 [OpenVX]: Unreleased references when connecting node to replicated node using array
TIOVX-1602 J722S: Active channel mask query consistently fails
TIOVX-1511 J722S QNX: Conformance test failures observed due to cache issue in QNX
TIOVX-1453 Linux: APIs like vxSwapImageHandle, tivxReferenceImport and export handles does not consider dma_buf_fd
TIOVX-1432 subset of tivxGraphPipeline.ReplicateImage2 test cases fail when run via ssh
TIOVX-1344 Display conformance tests giving wrong output for ADAS image (J721E, J721S2, J784S4)
TIOVX-1309 Canny robustness test failing on PC emulation with full conformance test suite
TIOVX-569 Bmp utils do not work for loading RGBX images
VXLIB-371 Multiply iS16 iS16 oS16 with 1/255 as scaling factor fails for X86 target
TIOVX-1238 Frame Freeze in QNX when LDC node, Mosaic node and a Display node added to SRV demo. Patch attached here can be used to fix issue
ADASVISION-5758 Enable en_out_ldc_write causes freeze in Multi Cam Demo. Patch attached here can be used to fix issue

Change Requests

ID Headline Original Fix Version New Fix Version
JACINTOREQ-7629 Descope BAM enablement on J7 10.00.00 DESCOPE

Documentation Change Log

Chapter Description
Requirements for Memory Allocated Outside of TIOVX Framework Added documentation for allocating memory outside of the TIOVX framework
TIOVX Event API Added documentation for event handling API resources
TIOVX Spinlock Usage and Recommendations Added documentation for spinlock requirements and usage
Requirements for Application Usage of OpenVX data objects Clarified application requirements for OpenVX data objects
Requirement for object descriptor table Added further explanations for the object descriptor table
Note about Physical Addresses Provided description on physical memory addresses
TIOVX IPC Implementation Added IPC-utilization information
Nested Node Safety Usage Information Added usage information for nesting nodes within nodes
What is and is not in scope for TIOVX safety Clarified file paths for features excluded from TIOVX safety & identified BUILD_BAM macro
TIOVX Initialization in Safety Systems Provided further explanation and resources for initializing TIOVX within a safety system
TI Extension Kernels Added remote core information & tivxObjArraySplitNode to supported kernels table
TIOVX Implementation of Subimages Added documentation for changing subimage depth in TIOVX
CONTRIBUTING.MD Added documentation for code coverage script
What is and is not in scope for TIOVX safety Added details about macros enabled for code coverage

Technical Support

For technical support and additional assistance, contact local TI Field Application Engineer


Package Versioning

Each package version is composed of 4 period-delimited numbers - represented here by the letters M, m, p and b [M.m.p.b]. The table below provides a descriptive reference regarding package version numbering.

Digit Meaning Description
1 (M=Major) Major revision Incremented when the new version is substantially different from the previous For example, a new module added or an existing module's algorithm significantly altered.
2 (m=minor) Minor revision Incremented when the new version has changed but not in a major way. For example, some minor changes in the API or feature set.
3 (p=patch) Patch number Incremented for all other source code changes. This include any packaging support code.
4 (b=build) Build number Incremented for each release delivery to CM. Reset for any change to M, m or p

Copyright 2023, Texas Instruments Incorporated