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.

MP3 Decoder Integration to the DVSDK

Other Parts Discussed in Thread: OMAPL138

Hello,

I would like to integrate the MP3DEC codec into DVSDK for OMAPL138 and followed the procedure in http://processors.wiki.ti.com/index.php/How_do_I_Integrate_new_codecs_into_DVSDK

, but I encountered the following errors:

 

undefined                                                      first referenced           

  symbol                                                         in file                

 ---------                                                            ----------------           

 _MP3DEC_INBUFCACHEFLUSH           package/cfg/bin/cs_x674.o674

 _MP3DEC_TII_IMP3DEC                          package/cfg/bin/cs_x674.o674

 

error: unresolved symbols remain

error: errors encountered during linking; "bin/cs.x674" not built

gmake[1]: *** [bin/cs.x674] Error 1

gmake: *** [packages/ti/sdo/server/cs,.executables] Error 2

make: *** [.all-packages] Error 2

 

The DVSDK version is 04_03_00_06.

MP3DEC codec is c64xplus_mp3dec_01_31_01_001_production.

I have built the server before added in this mp3dec codec to make sure all the tools paths settings are correct.

The modification for the server files are as follow:

For the file: packages/ti/sdo/server/cs/codec.cfg

    var MP3DEC = xdc.useModule('ti.sdo.codecs.mp3dec.ce.MP3DEC');

         MP3DEC.alg.watermark = false;

        MP3DEC.alg.codeSection = codeSection;

        MP3DEC.alg.udataSection = udataSection;

        MP3DEC.alg.dataSection = dataSection;

 Server.algs = [

    .

    .

    .

     {name: "mp3dec", mod: MP3DEC , threadAttrs: {

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

        groupId : 1,

    },

 ]

 

For the file: packages/ti/sdo/server/cs/package.xs

 function validate() {

      .

      .

      .

       validate_one_codec( "ti.sdo.codecs.mp3dec", "MP3DEC" );

}

 

Is there anything wrong or missing in the above? Thanks in advance.

  • Hello,

    I have checked the building log and found some issues but don’t know how to solve it. The bellowing is part of the log file:

    .interfaces files complete: Thu Aug 23 10:37:58 SGT 2012.

    ======== .libraries [packages/ti/sdo/codecs/aachedec] ========

    ======== .libraries [packages/ti/sdo/codecs/aachedec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/g711dec] ========

    ======== .libraries [packages/ti/sdo/codecs/g711dec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/g711enc] ========

    ======== .libraries [packages/ti/sdo/codecs/g711enc/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/h264dec] ========

    ======== .libraries [packages/ti/sdo/codecs/h264dec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/h264enc] ========

    ======== .libraries [packages/ti/sdo/codecs/h264enc/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/jpegdec] ========

    ======== .libraries [packages/ti/sdo/codecs/jpegdec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/jpegenc] ========

    ======== .libraries [packages/ti/sdo/codecs/jpegenc/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/mp3dec] ========

    ======== .libraries [packages/ti/sdo/codecs/mp3dec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg2dec] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg2dec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg4dec] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg4dec/ce] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg4enc] ========

    ======== .libraries [packages/ti/sdo/codecs/mpeg4enc/ce] ========

    ======== .libraries [packages/ti/sdo/server/cs] ========

    .libraries files complete: Thu Aug 23 10:37:58 SGT 2012.

    ======== .dlls [packages/ti/sdo/codecs/aachedec] ========

    ======== .dlls [packages/ti/sdo/codecs/aachedec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/g711dec] ========

    ======== .dlls [packages/ti/sdo/codecs/g711dec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/g711enc] ========

    ======== .dlls [packages/ti/sdo/codecs/g711enc/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/h264dec] ========

    ======== .dlls [packages/ti/sdo/codecs/h264dec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/h264enc] ========

    ======== .dlls [packages/ti/sdo/codecs/h264enc/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/jpegdec] ========

    ======== .dlls [packages/ti/sdo/codecs/jpegdec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/jpegenc] ========

    ======== .dlls [packages/ti/sdo/codecs/jpegenc/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/mp3dec] ========

    ======== .dlls [packages/ti/sdo/codecs/mp3dec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg2dec] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg2dec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg4dec] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg4dec/ce] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg4enc] ========

    ======== .dlls [packages/ti/sdo/codecs/mpeg4enc/ce] ========

    ======== .dlls [packages/ti/sdo/server/cs] ========

    .dlls files complete: Thu Aug 23 10:37:58 SGT 2012.

    ======== .executables [packages/ti/sdo/codecs/aachedec] ========

    ======== .executables [packages/ti/sdo/codecs/aachedec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/g711dec] ========

    ======== .executables [packages/ti/sdo/codecs/g711dec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/g711enc] ========

    ======== .executables [packages/ti/sdo/codecs/g711enc/ce] ========

    ======== .executables [packages/ti/sdo/codecs/h264dec] ========

    ======== .executables [packages/ti/sdo/codecs/h264dec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/h264enc] ========

    ======== .executables [packages/ti/sdo/codecs/h264enc/ce] ========

    ======== .executables [packages/ti/sdo/codecs/jpegdec] ========

    ======== .executables [packages/ti/sdo/codecs/jpegdec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/jpegenc] ========

    ======== .executables [packages/ti/sdo/codecs/jpegenc/ce] ========

    ======== .executables [packages/ti/sdo/codecs/mp3dec] ========

    ======== .executables [packages/ti/sdo/codecs/mp3dec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg2dec] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg2dec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg4dec] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg4dec/ce] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg4enc] ========

    ======== .executables [packages/ti/sdo/codecs/mpeg4enc/ce] ========

    ======== .executables [packages/ti/sdo/server/cs] ========

    #

    # configuring bin/cs.x674 from package/cfg/bin/cs_x674.cfg ...

    .

    .

    .

    platform   = ti.platforms.evmOMAPL138

    Warning: ti.c6accel.ce.C6ACCEL did not supply a max DARAM scratch size; assuming 0 bytes is sufficient.

    Warning: ti.c6accel.ce.C6ACCEL did not supply a max SARAM scratch size; assuming 0 bytes is sufficient.

    undefined.createMemMapFile(): progName = bin/cs_x674

    NOTE: You can find the complete server data sheet in ./package/info/bin/cs.x674.DataSheet.html

    ----------------------------------------------------------------------------------------------

    algRecs[C6ACCEL_TI_IC6ACCEL] = ti.sdo.ce.universal.IUNIVERSAL

    algRecs[AACDEC_TII_IAACDEC] = ti.sdo.ce.audio1.IAUDDEC1

    algRecs[G711DEC_TII_IG711DEC] = ti.sdo.ce.speech1.ISPHDEC1

    algRecs[G711ENC_TII_IG711ENC] = ti.sdo.ce.speech1.ISPHENC1

    algRecs[H264VDEC_TI_IH264VDEC] = ti.sdo.ce.video2.IVIDDEC2

    algRecs[H264VENC_TI_IH264VENC] = ti.sdo.ce.video1.IVIDENC1

    algRecs[JPEGDEC_TI_IJPEGDEC] = ti.sdo.ce.image1.IIMGDEC1

    algRecs[DMJPGE_TIGEM_IDMJPGE] = ti.sdo.ce.image1.IIMGENC1

    algRecs[MPEG2VDEC_TI_IALG] = ti.sdo.ce.video2.IVIDDEC2

    algRecs[M4H3DEC_TI_IM4H3DEC] = ti.sdo.ce.video2.IVIDDEC2

    algRecs[MP4VENC_TI_IMP4VENC] = ti.sdo.ce.video1.IVIDENC1

    algRecs[MP3DEC_TII_IMP3DEC] = ti.sdo.ce.audio1.IAUDDEC1

        will link with ti.sdo.ce.image1:lib/release/imgdec1.a674;lib/release/imgenc1.a674

        will link with ti.sdo.ce.video1:lib/release/viddec1.a674;lib/release/videnc1.a674

        will link with ti.sdo.ce.video2:lib/release/viddec2.a674

        will link with ti.sdo.ce.speech1:lib/release/sphdec1.a674;lib/release/sphenc1.a674

        will link with ti.sdo.ce.audio1:lib/release/auddec1.a674;lib/release/audenc1.a674

        will link with ti.sdo.ce.universal:lib/release/universal.a674

        will link with ti.sdo.ce.bioslog:lib/release/bioslog.a674

        will link with ti.sdo.ce:lib/release/ce.a674

        will link with ti.sdo.ce.alg:lib/release/Algorithm_BIOS.a674

        will link with ti.sdo.ce.ipc.bios:lib/release/ipc_bios.a674

        will link with ti.sdo.ce.osal.bios:lib/osal_bios.a674

        will link with ti.sdo.ce.osal.bios:lib/osal_bios_load.a674

        will link with ti.bios.utils:lib/utils.a674

        will link with ti.sdo.fc.acpy3:lib/release/acpy3.a674

        will link with ti.sdo.fc.memutils:lib/release/memutils.a674

        will link with ti.sdo.ce.node:lib/release/node.a674

        will link with ti.sdo.ce.utils.xdm:lib/release/XdmUtils.a674

        will link with ti.sdo.fc.rman:lib/release/rman.a674

        will link with ti.sdo.fc.dman3:lib/release/dman3Cfg.a674

        will link with ti.sdo.fc.dskt2:lib/release/dskt2.a674

        will link with ti.sdo.utils.trace:lib/release/gt.a674

        will link with ti.sdo.fc.ires.nullresource:lib/release/nullres.a674

        will link with ti.sdo.codecs.mpeg4enc:lib/mp4venc_ti.l64P

        will link with ti.sdo.codecs.mpeg4dec:lib/m4h3dec_ti.l64P

        will link with ti.sdo.codecs.mpeg2dec:lib/mpeg2vdec_ti.l64P

        will link with ti.sdo.codecs.jpegenc:lib/dmjpge_tigem.l64P

        will link with ti.sdo.codecs.jpegdec:lib/jpegdec_ti.l64P

        will link with ti.sdo.codecs.h264enc:lib/h264venc_ti.l64P

        will link with ti.sdo.codecs.h264dec:lib/h264vdec_ti.l64P

        will link with ti.sdo.codecs.g711enc:lib/g711enc_tii.l64P

        will link with ti.sdo.codecs.g711dec:lib/g711dec_tii.l64P

        will link with ti.sdo.codecs.aachedec:lib/aacdec_tii.l64P

        will link with ti.c6accel:lib/C6Accel.l674

    rm -f package/cfg/bin/cs_x674.o674

    #

    # cl674 package/cfg/bin/cs_x674.c ...

    From the above log, the interfaces, libraries and dlls files are built for the added mp3dec, but there is no link with ti.sdo.codecs.mp3dec or something like that. Could anyone help me?

    Thanks

    xutong

  • xutong:

        The cfg additions look OK, but obviously from your build log the mp3 decoder is not getting linked in.

        The package.xs file in your codec package may be inhibiting that, in the get_libs() function.

        See this FAQ entry which may be applicable in this case: 

    http://processors.wiki.ti.com/index.php/Codec_Engine_FAQ#Why_does_my_GPP-side_application_try_.28and_fail.21.29_to_link_in_a_DSP-side_library

        Could you also post your MP3 Decoder's package.xs file?

        I'm wondering if updating to a newer MP3 decoder may also fix the problem (i.e., if you have an MP3 decoder packaged to only handle 64P targets).

    Regards,
    - Gil
  • Hello Gil,

     

    Thank you for the reply.

     

    You are right and the mp3dec codec is just for the 64P target. I have solved the issue by adding the 674 target in the codec target related files. For example, in the package.xs file:

    From

    if (prog.build.target.isa == "64P") {

          .

          .

          .

        }

     

    To

    if (prog.build.target.isa == "64P"||prog.build.target.isa == "674") {

          .

          .

          .

        }

     

    Thanks again.

    xutong