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.

Integrating g722 with codec server EZSDK

Other Parts Discussed in Thread: SYSBIOS

Hi,

  While integrating g722dec with he codec engine in EZSDK i encountered the follwoing problem with build

js: "./all_syslink.cfg", line 189: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: /home/deepth/ti-ezsdk_dm816x-evm_5_02_01_59/component-sources/codec_engine_3_21_00_19/examples/ti/sdo/ce/examples/codecs/g722dec/package.xdc found along the package path, but no schema file was found.  Ensure that the package 'ti.sdo.ce.examples.codecs.g722dec' is completely built.

I downloaded the speech codecs from ti website and place appropriately in the ti/sdo/ce/examples/codecs directory. After that i edited the server.cfg file to continue to the build process.

 But while building I am getting the above mentioned error. Is there anything wrong with my xdc package? I corrected the path in package.xdc,still the issue is not resolved

 

Deepth

  • Deepth,

    Your package has .xs file ?? Yoy have RTSC package from TI ? Could you please compare with other codes xdc package.

    Regards

    Vimal

  • Vimal,

     Thanks for the reply .The package has both xdc and .xs files. I am attaching the screen shot of the directory structure.The snap shot must give you an idea about the library package.

    I coud see that G722DEC.xdc in the above folder and G722DEC.xdc in the ce/ folder different.why?

    Can you please confirm the step by step procedure to add  new codec to the codec server. ?

    1) edit xdcpaths.mak in top level examples folder to include the required paths

    2)Add the g722dec folder obtained from http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Speech/index_FDS.html to

      /home/deepth/ti-ezsdk_dm816x-evm_5_02_01_59/component-sources/codec_engine_3_21_00_19/examples/ti/sdo/ce/examples/codecs folder

    3) Edit all_mc.cfg and all_syslink.cfg file and make the follwoing changes (.they are both  found in../codec_engine_3_21_00_19/examples/ti/sdo/ce/examples/servers/all_codecs/)

    var G722DEC      = xdc.useModule('ti.sdo.ce.examples.codecs.g722dec.G722DEC');

    and

    {name: "g722dec", mod: G722DEC, threadAttrs: {

            stackMemId: 0, priority: Server.MINPRI + 3}

       },

    4) Do a make all in the same all_codecs folder

     

    Plese confirm the above steps  and tell em how do we link the new library g722dec_tii.l64P to avoid the undefined symbol error incase.

    (PS:I followed the same procedure from the wiki page to build the codec server.)

    Deepth

  • Deepth P K said:
    I coud see that G722DEC.xdc in the above folder and G722DEC.xdc in the ce/ folder different.why?

    There are actually 2 'packages':

    • ti.sdo.codecs.g722dec - this is the actual codec, with it's library in a lib/ subdir
    • ti.sdo.codecs.g722dec.ce - the Codec Engine-compliant package, which depends on the core codec package.  This enables integration into Codec Engine via a config script.

    I downloaded the g722dec codec and see that it contains a .tar file with a full directory structure (that must be maintained when un'taring).  You can untar it anywhere, let's say you decide to untar into /home/deepth/downloaded-codecs/*.  You'll need to add "/home/deepth/downloaded-codecs/dm6446_g722dec_1_10_001_production/packages" to your XDCPATH - this is the search path used to find codecs (among other things).  If you intend to integrate this codec into the Codec Engine example server, you can add this path in xdcpaths.mak - as you suggest you've done above.

    You then need to add the following - only to all_syslink.cfg (not all_mc.cfg - that file is for homogeneous multicore systems like the C6472) - note this is almost what you've got in step 3, but not quite:

    var G722DEC = xdc.useModule('ti.sdo.codecs.g722dec.ce.G722DEC');  /* the "CE-compliant" package */

    Adding the reference to the G722DEC codec in the Server array as you've done above is correct.

    Chris

  • Hi Chris!

       Thanks for the directions!

    Yeah I did the same steps as u mentioned. But now I am getting a linking error, Undefined symbols.Please see below.

    manageIpc = true
    Heap: ti.sysbios.heaps.HeapMem
        will link with ti.sdo.codecs.g722dec:lib/g722dec_tii.l64P
    cle674 package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.c ...
    .dlls files complete: Fri Sep 30 11:22:34 IST 2011.
    ======== .executables [.] ========
    lnke674 bin/ti_platforms_evmTI816X/all_DSP.xe674 ...
    warning: creating output section ".plt" without a SECTIONS specification

     undefined            first referenced                                         
      symbol                  in file                                              
     ---------            ----------------                                         
     G722DEC_TII_IG722DEC package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.oe674

    error: unresolved symbols remain
    warning: entry-point symbol other than "_c_int00" specified:
       "ti_sysbios_family_c64p_Hwi0"
    error: errors encountered during linking;
       "bin/ti_platforms_evmTI816X/all_DSP.xe674" not built
    gmake[1]: *** [bin/ti_platforms_evmTI816X/all_DSP.xe674] Error 1

     

    Is it because the libraries are in the COFF format? If they are required to be in the ELF format,is it possible for me to convert them to ELF? I dont have anysource code though.

     

    Deepth 

  • Yeah, I hadn't noticed that.  You can't mix COFF and ELF, and that lib is COFF.  And there's no easy way to convert COFF to ELF; the codec will need rebuilt from source and re-released.  Unfortunately, you're stuck.  :(

    Might try asking on the codec forum whether there's a plan to provide these libs in COFF format.

    Chris

  • Yeah. I do think so. We cannot change the COFF into ELF without source code or a direct release from TI. But as a work around, I can take the our own proprietary g722 source code or ITU open source code  to integrate to the server by building as an  ELF lib. But I need to generate the XDC packaging and all the generated files for doing so.Right? Well before that I need to make it XDAIS compliant.

    How can I 'XDC package' it? This is the only way for me to move forward as of now.

    Deepth

  • Hi,

      I created the ELF Library for g722 from our source code(XDAIS compliant). Then i invoked the gencodecpkg wizard to generate the xdc package. But while building I am geting this error

    js: "./all_syslink.cfg", line 189: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: /home/deepth/ti-ezsdk_dm816x-evm_5_02_01_59/component-sources/codec_engine_3_21_00_19/examples/ti/sdo/codecs/g722dec/ce/package.xdc found along the package path, but no schema file was found.  Ensure that the package 'ti.sdo.codecs.g722dec.ce' is completely built.
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 248
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 327
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 235

     Apparently , the generated folder contains only CE folder and no Package folder. I think the generated schema files are placed in the Package folder. How can generate the schema files that is required?  (  Since the library is already built before using the wizard, I used option 2 in creating the xdc package ,ie,using XDAIS library)

    Please find the folder screenshot

    Inside the ce folder you can  find this

    Please let me know your thoughts.

    Deepth

     

     

     

  • Deepth P K said:
    js: "./all_syslink.cfg", line 189: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: /home/deepth/ti-ezsdk_dm816x-evm_5_02_01_59/component-sources/codec_engine_3_21_00_19/examples/ti/sdo/codecs/g722dec/ce/package.xdc found along the package path, but no schema file was foundEnsure that the package 'ti.sdo.codecs.g722dec.ce' is completely built.
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 248
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 327
        "./package/cfg/bin/ti_platforms_evmTI816X/all_DSP_pe674.cfg", line 235

    As the error msg says, "ensure that the package ... is completely built."  You need to run the [generated] makefile to build "the package".  This generates metadata, including the schema file it's complaining about, in a [private] package/ subdirectory.

    This is also described in the "Building the generated package" section here:

    http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#Building_the_generated_package

    Chris