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.

How to build an application using codec engine without xdc tools

Hello,

in the wiki (http://processors.wiki.ti.com/index.php/Building_MFP_without_XDC)  there is information that we can use codec engine without xdc tools. I was able to compile codec_engine_3_22_00_03 using provided makefile_v5T and now I'd like to use it in my application for dm365 running linux. Application is simple: it just captures few frames from cmos sensor and compress them using ce codecs (VIDENC1_process).

Unfortunately I'm not sure, which libraries should be passed to linker (how to solve the dependencies). Eg. $(CE_LIB_DIR)/lib/release/ce.av5T needs some xdc_runtime_* symbols, ti_sdo_ce_osal_Memory* etc. Where are they defined?

There is an example (rtcfg/speech1_copy) but it uses just two libs from xdais.

with best regards
Jan 

  • Unfortunately, CE 3.x does not directly support DM365.

    That said, it does support "ARM-only Linux codecs" on other devices, so as long as your not using DM365-specific HW, you might be ok.  You might start with the example in examples/ti/sdo/ce/examples/apps/rtcfg/speech1_copy/rtcfg_local_evm3530_linux/*

    Specifically, the symbols starting with xdc_runtime_* are provided in the OSAL product.  There's an article on building/using that here:

    http://processors.wiki.ti.com/index.php/XDC_Runtime_OSAL_usage

    Chris

  • Hello Chris,

    thank you for the answer. If CE 3.x does not support DM365 hw codecs it is useless for us now. Do you please have any information when is the release supporting dm365 planned? We would like to get rid of the XDC build system, but it seems that it is impossible or we have to use dm365 codecs directly.

    best regards
    Jan 

  • Right now, there are no plans to restore DM365 support to the CE 3.x stream.  That plan can change, but there has been little demand from DM365 customers for features in 3.x that aren't already provided in the 2.x stream.  This "rebuild CE from source without XDC" feature is one that's currently only available in CE 3.x.

    If you have a TI business contact, please let them know you'd like this feature added to CE 2.x (or DM365 support restored in CE 3.x) and they can lean on me harder.  :)

    Let me back up and ask what you're really trying to do.

    • Why do you need to rebuild CE from source - are you switching toolchains or modifying the code?  Most users can use the pre-built libraries and don't see a need to rebuild the CE libraries.
    • You can rebuild CE 2.x from source, but as you know, it does require the XDC tools.  But (maybe for you, unfortunately?) you will also require the XDC tools to compile your own CE-using application sources, if only for the fundamental headers (e.g. xdc/std.h) which are provided by XDC.  So does it _really_ help if you can build CE without XDC if you need it anyway to compile your sources?
    Although CE 2.x is only in maintenance mode now, I think we could pretty easily add the "rebuild CE without XDC" feature in a patch release - it mainly involves adding a few top-level makefiles and peppering some other GCC-specific makefiles throughout the different directories.  But as I mentioned, you'll still need XDC for your application sources, if only for the data type headers... so I'm not sure we're _really_ solving your problem by providing this enhancement in 2.x.
    Chris
  • Hello Chris,

    thank you for detailed information.

    We needed to rebuild CE libraries because of upgrading of toolchain version (due to solving another dependencies). XDC build system is not an obstacle in this case.

    However, we would like to use classic GNU makefiles for building our application. Some of our developers works on linux hosts but some also on widows hosts and I was not able to prepare working configuration for windows. Actually we do not need much from dvsdk components. Just the Codec Engine (and its dependencies) or even just codecs to be able to encode h264, mpeg4 and jpegs using dm365 hardware.

    best regards
    Jan