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.

DM355 custom JPEGENC with JPEG8FSP

Other Parts Discussed in Thread: DM3730

Hello

I would like to add false synchronization protection (FSP) for use with MIPI interface on the JPEG data generated by JPEGENC on DM355. Preferred solution would be a custom JPEGENC codec which pads the necessary bytes for FSP after the JPEG is encoded.

I also followed the guide "Porting GPP code to DSP and Codec Engine" as a separate custom codec doing only the FSP would be also ok. Benchmarking my algorithm on the DM355 CPU results in a bad performance, that is the reason why I would like to run the algorithm on the DSP side of DM355.

Some questions:

- Is there a supported way at all to generate custom codecs for DM355 for end users?

- On CC3.3, which would be the correct processor type for DM355? (TMS320C64+?)

- On Codec Engine GenServer Wizard, I cannot find the platform like ti.platforms.evmDM355. How would be the procedure to add the platform for DM355?

- Is TI willing to share the sources of package ti.sdo.codecs.jpegenc for custom adaption?

Target is DM355EVM on DVSDK3.10, to allow a porting to our custom board later.

Kind regards

blad

  • The DM355 device doesn't have a C64+ DSP.

    Chris

  • For me it is hard to judge how much different the DM355/DM365 MPEG4/JPEG Coprocessor is from a C64+ DSP. At least I can see the possibility to update DM355/DM365 codecs, as TI provided several codec releases for the various DVSDKs over last the last years. The packages in the dm355_codecs_03_10_00_02 (also valid for dm365_codecs_03_10_00_07) look similar to the file formats resulting when building custom packages for C64+ DSP – that is the reason why I assume it should be possible to create custom codecs myself even for DM355 / DM365 using the same tools.

    Additional questions:

    -          Is there a document which describes the MPEG4/JPEG Coprocessor a little more in detail?

    -          What are the differences between the DM355/DM365 codecs (binary packages) and the resulting binary files for C64+ DSP from the last the step of "Porting GPP code to DSP and Codec Engine"?

  • Daniel Blaser said:
    For me it is hard to judge how much different the DM355/DM365 MPEG4/JPEG Coprocessor is from a C64+ DSP.

    They are completely different ISAs.  I don't have details about the MJCP included on the DM355/DM365 - I'm not even sure those docs are publicly available.  (Don't quote me on that, please contact your TI Rep for followups - they may be able to provide you with the docs.)

    I think the MJCP was specifically tailored for a few algorithms (MPEG and JPEG I'd guess!) and typically the MJCP was utilized via (closed source?) TI-provided codec libraries.  I'm not sure the intent was ever to open up the MJCP - but again I could be wrong.

    Daniel Blaser said:
    The packages in the dm355_codecs_03_10_00_02 (also valid for dm365_codecs_03_10_00_07) look similar to the file formats resulting when building custom packages for C64+ DSP – that is the reason why I assume it should be possible to create custom codecs myself even for DM355 / DM365 using the same tools.

    The "packaging" similarities of codecs for different ISAs was intentional for consistency.  It was further enabled by the flexibility/portability of the XDAIS algorithm specificiation and the Codec Engine framework.  Independent of ISA (and even OS!) CE knows how to manage XDAIS algorithms.  CE also supports these XDAIS algorithms whether they're 'local' (e.g. algs running on the same processor as the user app - like DM355) and/or 'remote' (e.g. algs running on a 'remote' DSP being controlled by the Linux-side user app - like DM3730).

    The XDAIS algorithms/codecs expose their APIs through C-callable function tables.  They may look similar in the files they distribute (e.g. libraries and packaging helper files), but codec libraries for DM355 will be built using an ARM toolchain while codec libraries built for C64+ will be built with TI's C6000 toolchain.  Totally different ISAs.

    As for your additional questions, I might point you at the HW-specific forums for more info.  Here's one for the DM3x devices, which includes DM355:

         http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100.aspx

    BTW, I briefly mentioned it above, but since you have DSP experience, the DM3730 is a popular SoC device that includes a C64+ DSP.  You might consider whether that suits your needs better:

         http://www.ti.com/product/dm3730

    Chris