SPRACU0 September   2020 DRA710 , DRA710 , DRA712 , DRA712 , DRA714 , DRA714 , DRA716 , DRA716 , DRA718 , DRA718 , DRA722 , DRA722 , DRA724 , DRA724 , DRA725 , DRA725 , DRA726 , DRA726 , DRA744 , DRA744 , DRA745 , DRA745 , DRA746 , DRA746 , DRA74P , DRA74P , DRA750 , DRA750 , DRA756 , DRA756 , DRA75P , DRA75P , DRA76P , DRA76P , DRA77P , DRA77P , DRA780 , DRA780 , DRA781 , DRA781 , DRA782 , DRA782 , DRA783 , DRA783 , DRA785 , DRA785 , DRA786 , DRA786 , DRA787 , DRA787 , DRA788 , DRA788 , DRA790 , DRA790 , DRA791 , DRA791 , DRA793 , DRA793 , DRA797 , DRA797 , TDA2EG-17 , TDA2EG-17 , TDA2HF , TDA2HF , TDA2HG , TDA2HG , TDA2HV , TDA2HV , TDA2LF , TDA2LF , TDA2P-ABZ , TDA2P-ABZ , TDA2P-ACD , TDA2P-ACD , TDA2SA , TDA2SA , TDA2SG , TDA2SG , TDA2SX , TDA2SX


  1.   Trademarks
  2. 1IVA-HD Share Problem in Current Use Cases
  3. 2IVA-HD Sharing Design
  4. 3IVA-HD Sharing Implementation
    1. 3.1 Boot Flow
    2. 3.2 IVA-HD DPLL Configure in uboot
    3. 3.3 Configure IPU to Support IPUMM and Decode Link at the Same Time
    4. 3.4 IVA-HD Configure
      1. 3.4.1 Codec Engine and IPUMM Setup
      2. 3.4.2 Framework Components
      3. 3.4.3 Codec
      4. 3.4.4 IVA-HD Boot Parameter
    5. 3.5 RPMSG Startup
  5. 4Early Decoding Demo
  6. 5References

IVA-HD Share Problem in Current Use Cases

More customers are considering a system that supports infotainment features plus RVC or Animation in one single Jacinto/TDA. Recently, the Ethernet based RVC has been introduced to the system which require decoding the H264 stream by real time. Meanwhile some customers require playing the video logo with startup animation.

Since only one Jacinto/TDA has one instance of IVA-HD hardware, there are two different software framework and codec drivers to controller the IVA-HD. This will encounter resource conflicts.

GUID-20200825-CA0I-LR3P-TWBN-8BLBM7K9D1LR-low.gif Figure 1-1 Sharing IVA-HD Problem Between VISION SDK and PSDKLA

Consider a system that supports these features as shown in Figure 1-1:

  • Use case A: Animation or RVC

    For fast boot consideration requirement, most customers choose VISION SDK framework for developing RVC or Animation. VISION SDK designs with the Link and Chains concept are used to implement any use case.

    When the video data (typically, h264) reads as a video file from the boot partition by the NullSource Link or extracted as raw stream from the Ethernet frames, the NullSource Link or Autosar Link sends the streams to the decode Link for decoding. As shown in Figure 1-2, the decode link calls the driver based on the VISION SDK codec, which is located in the M4 core to configure the IVA-HD hardware module to implement the decoding, then sends the decoding frames to next link.

    GUID-20200825-CA0I-B0M6-L0BV-L7JTN59LNF6N-low.gif Figure 1-2 VISION SDK Codec
  • Use case B: Multimedia player

    By default, TI PSDKLA uses open source gstreamer framework for any multimedia player use case. TI provides gstreamer plugins: ducatiH264 and ducaitiMJPEG. These plugins can work in gstreamer pipelines to process the multimedia file. As shown in Figure 1-3, the gstreamer calls the ducatiH264 plugin to configure IPUMM(codec) on the M4 core to communicate with IVAHD to decode the H.264 frames. The decoding plugin calls the TI IPUMM driver, which is located on the M4 core, to control the IVA-HD hardware module to implement the decoding/encoding. Then, it sends frames to the next plugin.

    GUID-20200825-CA0I-W52S-N0KW-9R2XRQMDPKLF-low.gif Figure 1-3 PSDKLA Codec

    If the A and B use cases occurs simultaneously, one case will fail because one single IVA-HD hardware instance cannot be controlled by decode link and IPUMM on M4 at the same time. Actually, any use case that needs both the decode link on M4 and IPUMM support for decoding on A15 will fail.