This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DVR RDK vs traditional CodecEngine

Hi all,

We have to migrating from DM6446 to DM8127 and there are two paths ahead (I think) and the available documentations are not so clear :( So DVR RDK or CodecEngine? 

"Way I": conservative approach: in this case we have to migrate our DM6446 based software design to DM8127. The main problems:

  1. Our H.264 encoder is CodecEngine based but we have not CE compatible H.264 encoder for DM8127. Is the Codec Engine (with H.264 encoder!) supported on DM8127? (We have contradictory information about this).
  2. The handling of image pipeline is relatively simple on DM6446: there are a few registers and interrupts, so just we have to write a Linux kernel module and that's all. By contrast, the DM8127 has an own ImageSubSystem/HDVPSS microcontroller, an Cortex M3 (with own operating system etc). We have the datasheet of the ISS and we have the sources (and libs) of the ISS Platform Support Package (PSP), but there are not any documentation for the software. 
  1. How could we integrate the ISS PSP as a CE codec?
  2. How would we integrate our AE and AWB algorithms to the existing PSP?
  3. Is it possible to control the ISS from A8? What are the drawbacks of this approach?

"Way II": DVR RDK approach: we have to decompose the RDK and integrate it to our software. Problems:

  1. Our existing software is heavily relied on CodecEngine. We have to rearrange our software to "link" components (both on ARM and DSP), but we have not idea how to do.
  2. There is no detailed documentation about the software product, we have only a review (IPNC RDK: Multi Channel Framework SW User Guide), but this is not enough to decompose the RDK into smaller parts which could be integrated.
  3. The DVR RDK based IPNC currently does not satisfy our stability requirements, we can easily cause a software restart.
The main question is which direction to go?
  • We're using the RDK on an 8148. I don't know anything about CodecEngine, but here are a few thoughts about the RDK:

    1) It is fairly monolithic. To use just a few modules, you'll still end up building and linking the whole thing, unless you modify fairly big chunks of the code.

    2) The documentation is better than it used to be, but they could really use a set of simple examples showing how to build a use-case from scratch. The learning curve at the beginning is nearly vertical. You need to understand how the lower-level Links API works in order to build your own stuff, and then you need to learn how to modify the RDK code to implement it.

    3) Because the RDK is built around use-cases, you need to decide if you are going to keep the supplied use-cases as part of your application, even though they will not be used, or else you have to modify the RDK to remove them. This also takes some time to do, and isn't that clean, in my opinion. I'd much rather have the base library be separate, and then link against a particular use-case.

    I haven't used the ISS at all, so I can't give an opinion on how well that works with the RDK. 

    Have you looked at the EZSDK? If you don't need lots of channels, it may be worth checking out.

  • Thank you for the information. The Codec Engine (http://processors.wiki.ti.com/index.php/Codec_Engine) is an API over syslink to run DSP algorithms easily from ARM side. This is the traditional way to do tasks in DaVinci platform. I think the DM8127 architecture looks like an OMAP rather than a DM6446.
    The monolithic structure is a bad news. It seems that the decomposition of RDK will not be easy :( We prefer the EZSDK but it suffers from the following problems:

    1. There is not ISS driver inside, so we have to develop it (by using the DVR's ISS driver)
    2. There is not H.264 encoder. It's interesting the RDK maybe contains an CodecEngine integration files. (It is not sure, we have not got confirmation from TI)
    Lots of open questions....
  • what should I say? Dealing with RDK is probably one of the most frustrating experience you will have in your life.