TIOVX Release Notes
Version: 01.09.00.00
Contents
- Introduction
- Licensing
- Getting Started
- Documentation
- What's New
- Upgrade and Compatibility Information
- Device Support
- Validation Information
- Fixed Issues
- Known Issues
- Technical Support
- 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
- TIOVX-959: TIOVX shall support a function to compare the meta information of two reference objects
- TIOVX-940: TIOVX reference object shall support valid frame attribute for query
- TIOVX-925: TIOVX shall support IPU1_0 target on MCU2_0 core
- TIOVX-914: TIOVX shall support an API for setting reference attributes
- TIOVX-913: TIOVX reference object shall support timestamp attribute for query
- TIOVX-900: TIOVX shall support zero copy buffer exchange between OpenVX and non-OpenVX processes
- TIOVX-893: TIOVX shall support a utility API for extracting element from an object array in a node
- TIOVX-842: Support for timeout in ownContextSendCmd API
- TIOVX-747: Applications running with Linux on A72 shall support the ability to exit cleanly
- TIOVX-971: VPAC LDC node shall support command programming tone mapping LUT programation of outputs 2/3
- TIOVX-963: VPAC LDC node shall support control command for updating warp matrix
- TIOVX-921: Display Node shall support YUYV format
- TIOVX-946: VISS node shall support hosting a remote server for AEWB updates
- TIOVX-634: Sink Node for CSI2-TX
- TIOVX-746: VISS Node results shall bitmatch to C model
- TIOVX-812: Timestamp frames at OpenVX source node and carry forward down the graph
- TIOVX-811: MSC Node results shall bitmatch to C model
- TIOVX-805: In the case that a camera fails, capture node shall output dummy frame
- TIOVX-899: [CSIRX/Capture Node]Capture node shall support configuration/change of lane speed
- 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):
- C7000 Code Generation Tools version: 1.3.0.STS
- C6000 Code Generation Tools version: 8.3.2
- GCC ARM Linux Code Generation Tools version: 9.2-2019.12
- TI ARM Code Generation Tools version: 20.2.0
Dependencies (included in Processor SDK RTOS Automotive):
- VXLIB version: 1.1.5.0
- TIDL version: 1.2.0.8
- Imaging version: 7.0.0.0
- Processor SDK RTOS Automotive version: 7.0.0.0
Dependencies (NOT included in Processor SDK RTOS Automotive):
- GCC: 5.4.0
- libpng: 1.2
Fixed Issues
TIOVX Framework
- TIOVX-978: vxCopyArrayRange is incrementing the VX_ARRAY_NUMITEMS attribute when it shouldn't
- TIOVX-955: The field 'leaf_nodes[]' inside vx_graph structure incorrectly uses TIVX_GRAPH_MAX_HEAD_NODES
- TIOVX-965: IPC expects Local End Point on Linux to be same for all cores
- TIOVX-928: Node error event returns incorrectly
- TIOVX-960: Reading and writing back a 1280x720 BMP image does not produce expected output
- TIOVX-882: tivx_utils_save_vximage_to_bmpfile cannot save RGB image properly when stride_y is not multiple of 3
- TIOVX-980: vxOpticalFlowPyrLKNode does not copy all input keypoint parameters to output
- TIOVX-972: Several canny related tests failing
- TIOVX-966: VPAC MSC Pyramid node only works for half scale (scale = 0.5)
- TIOVX-926: Unnecessary mapping occurs within the NF and SDE HWA nodes causing performance degradation
- TIOVX-948: VISS GLBCE tables don't take effect on EVM
- TIOVX-941: H3A output header is not updated for all frames
- TIOVX-924: MSC2 instance is failing when running conformance test
- TIOVX-920: VPAC VISS 2A parameters applied even if results are not valid
- TIOVX-917: VPAC VISS file read and write does not account for stride
- TIOVX-916: VPAC VISS: Null pointer access in tivxVpacVissDccMapCCMParams
- TIOVX-907: VPAC VISS PC emulation: when params->bypass_nsf4 = 1, output is all 0s
- TIOVX-906: VPAC VISS PC emulation: when params->mux_output4 = TIVX_VPAC_VISS_MUX4_SAT, output is incorrect
- TIOVX-931: CSITX target does not get registered properly in init
- TIOVX-970: OVX Decoder: CIF and D1 resolutions stride issue
- TIOVX-942: EncoderNode does not work with capture on QNX
- TIOVX-864: Clarify documentation for TIDL demo (J7 only), perhaps remove from J7 build
- TIOVX-207: tivxMaxNodes test case is failing in x86_64 PC Emulation and EVM
Known Issues
- BAM DMA Acceleration is not supported in this version.
- VXLIB-371: Multiply iS16 iS16 oS16 with 1/255 as scaling factor fails for X86 target
- PRSDK-8488: encoder: singlestream: Multiple iterations (100+) fails
- PRSDK-8492: tivxHwaVideoDecoder allocation fails and asserts. Workaround is to increase Video memory carveout size
- TIOVX-998: Occasional hangs observed in video codec test cases when using QNX SBL boot
- TIOVX-997: CSI-TX test case data integrity issues
- TIOVX-995: Occasional errors observed with capture test cases
- TIOVX-992: Decoder error when decoding certain encoded outputs
- TIOVX-990: VISS test cases failing occasionally on full run
- TIOVX-968: OVX Decoder: QCIF (176x144) resolution decoding is not working
- TIOVX-956: Buffer lock up observed when data is shared between mosaic node and fileio node
- TIOVX-943: EncDec: Encoder output cannot be directly connected to decoder
- TIOVX-933: Conformance test tivxPngRdWr.PngFileRdWr fails on PC
- TIOVX-905: Capture node failing when running 4 channel, 60 fps
- TIOVX-869: OVX Encoder: QCIF (176x144) resolution encoding is not working
- TIOVX-823: TIOVX delay parameters with pipelining result in serialization nodes
- TIOVX-630: tivxHwaVpacViss.testMux fails on target
- TIOVX-569: Bmp utils does not load RGBX properly
- Usage of object arrays while pipelining is not yet fully supported. Please see user guide pipelining section for restrictions.
- Not all valid VISS outputs are fully tested yet
- 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