TIOVX Release Notes

Version: 01.09.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. Technical Support
  12. 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 [FOLDER]
Software Manifest Licenses, terms of use [HTML]


What's New

Here are a few of the new features supported in this release:

Framework Features

  1. TIOVX-959: TIOVX shall support a function to compare the meta information of two reference objects
  2. TIOVX-940: TIOVX reference object shall support valid frame attribute for query
  3. TIOVX-925: TIOVX shall support IPU1_0 target on MCU2_0 core
  4. TIOVX-914: TIOVX shall support an API for setting reference attributes
  5. TIOVX-913: TIOVX reference object shall support timestamp attribute for query
  6. TIOVX-900: TIOVX shall support zero copy buffer exchange between OpenVX and non-OpenVX processes
  7. TIOVX-893: TIOVX shall support a utility API for extracting element from an object array in a node
  8. TIOVX-842: Support for timeout in ownContextSendCmd API
  9. TIOVX-747: Applications running with Linux on A72 shall support the ability to exit cleanly
TI Node Features
  1. TIOVX-971: VPAC LDC node shall support command programming tone mapping LUT programation of outputs 2/3
  2. TIOVX-963: VPAC LDC node shall support control command for updating warp matrix
  3. TIOVX-921: Display Node shall support YUYV format
  4. TIOVX-946: VISS node shall support hosting a remote server for AEWB updates
  5. TIOVX-634: Sink Node for CSI2-TX
  6. TIOVX-746: VISS Node results shall bitmatch to C model
  7. TIOVX-812: Timestamp frames at OpenVX source node and carry forward down the graph
  8. TIOVX-811: MSC Node results shall bitmatch to C model
  9. TIOVX-805: In the case that a camera fails, capture node shall output dummy frame
  10. TIOVX-899: [CSIRX/Capture Node]Capture node shall support configuration/change of lane speed
  11. TIOVX-904: VPAC VISS node shall support GLBCE in PC emulation mode


Upgrade and Compatibility Information

File Change description User application change required User application recompile required
kernels_j7\include\TI\j7_capture.h Modifying tivx_capture_params_t configuration data structure input for capture robustness and CSI2RX lane band speed configuration support YES YES
kernels_j7/include/TI/j7_vpac_ldc.h New tivx_vpac_ldc_bit_depth_conv_lut_params_t configuration data structure is sent to LDC node via the TIVX_VPAC_LDC_CMD_SET_BIT_DEPTH_CONV_LUT_PARAMS command to set Remap/Tone Map Lut in LDC. Previously this used a vx_lut type but now uses a type vx_user_data_object and used the command TIVX_VPAC_LDC_CMD_SET_LUT_PARAMS. The TIVX_VPAC_LDC_CMD_SET_LUT_PARAMS is no longer valid and so must be migrated to use TIVX_VPAC_LDC_CMD_SET_BIT_DEPTH_CONV_LUT_PARAMS with the vx_user_data_object type. YES YES


Device Support

SoC Target (OS) Test Plaform
Jacinto7 x86_64 (Linux) x86_64 Linux with Ubuntu 18.04
Jacinto7 R5F, C6x, C7x running TI-RTOS
A72 running Linux v4.19
Jacinto7 EVM

Validation Information

This release was built and validated using the following tools:

Build Tools (included in Processor SDK RTOS Automotive):

Dependencies (included in Processor SDK RTOS Automotive):

Dependencies (NOT included in Processor SDK RTOS Automotive):

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

Fixed Issues

TIOVX Framework

  1. TIOVX-978: vxCopyArrayRange is incrementing the VX_ARRAY_NUMITEMS attribute when it shouldn't
  2. TIOVX-955: The field 'leaf_nodes[]' inside vx_graph structure incorrectly uses TIVX_GRAPH_MAX_HEAD_NODES
  3. TIOVX-965: IPC expects Local End Point on Linux to be same for all cores
  4. TIOVX-928: Node error event returns incorrectly
TIOVX Utils
  1. TIOVX-960: Reading and writing back a 1280x720 BMP image does not produce expected output
  2. TIOVX-882: tivx_utils_save_vximage_to_bmpfile cannot save RGB image properly when stride_y is not multiple of 3
OpenVX Core Kernels
  1. TIOVX-980: vxOpticalFlowPyrLKNode does not copy all input keypoint parameters to output
  2. TIOVX-972: Several canny related tests failing
HWA Nodes
  1. TIOVX-966: VPAC MSC Pyramid node only works for half scale (scale = 0.5)
  2. TIOVX-926: Unnecessary mapping occurs within the NF and SDE HWA nodes causing performance degradation
  3. TIOVX-948: VISS GLBCE tables don't take effect on EVM
  4. TIOVX-941: H3A output header is not updated for all frames
  5. TIOVX-924: MSC2 instance is failing when running conformance test
  6. TIOVX-920: VPAC VISS 2A parameters applied even if results are not valid
  7. TIOVX-917: VPAC VISS file read and write does not account for stride
  8. TIOVX-916: VPAC VISS: Null pointer access in tivxVpacVissDccMapCCMParams
  9. TIOVX-907: VPAC VISS PC emulation: when params->bypass_nsf4 = 1, output is all 0s
  10. TIOVX-906: VPAC VISS PC emulation: when params->mux_output4 = TIVX_VPAC_VISS_MUX4_SAT, output is incorrect
  11. TIOVX-931: CSITX target does not get registered properly in init
Video Decoder Node
  1. TIOVX-970: OVX Decoder: CIF and D1 resolutions stride issue
  2. TIOVX-942: EncoderNode does not work with capture on QNX
Miscellaneous
  1. TIOVX-864: Clarify documentation for TIDL demo (J7 only), perhaps remove from J7 build
  2. TIOVX-207: tivxMaxNodes test case is failing in x86_64 PC Emulation and EVM


Known Issues

  1. BAM DMA Acceleration is not supported in this version.
  2. VXLIB-371: Multiply iS16 iS16 oS16 with 1/255 as scaling factor fails for X86 target
  3. PRSDK-8488: encoder: singlestream: Multiple iterations (100+) fails
  4. PRSDK-8492: tivxHwaVideoDecoder allocation fails and asserts. Workaround is to increase Video memory carveout size
  5. TIOVX-998: Occasional hangs observed in video codec test cases when using QNX SBL boot
  6. TIOVX-997: CSI-TX test case data integrity issues
  7. TIOVX-995: Occasional errors observed with capture test cases
  8. TIOVX-992: Decoder error when decoding certain encoded outputs
  9. TIOVX-990: VISS test cases failing occasionally on full run
  10. TIOVX-968: OVX Decoder: QCIF (176x144) resolution decoding is not working
  11. TIOVX-956: Buffer lock up observed when data is shared between mosaic node and fileio node
  12. TIOVX-943: EncDec: Encoder output cannot be directly connected to decoder
  13. TIOVX-933: Conformance test tivxPngRdWr.PngFileRdWr fails on PC
  14. TIOVX-905: Capture node failing when running 4 channel, 60 fps
  15. TIOVX-869: OVX Encoder: QCIF (176x144) resolution encoding is not working
  16. TIOVX-823: TIOVX delay parameters with pipelining result in serialization nodes
  17. TIOVX-630: tivxHwaVpacViss.testMux fails on target
  18. TIOVX-569: Bmp utils does not load RGBX properly
  19. Usage of object arrays while pipelining is not yet fully supported. Please see user guide pipelining section for restrictions.
  20. Not all valid VISS outputs are fully tested yet
  21. Test coverage for HWA nodes still work in progress


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 2020, Texas Instruments Incorporated