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.

Codec Server Compile Error: Unresolved symbols -- about dm6467 HDVICP

hi,

I want to use TI H264 codec library in my project.

I have added the HDVICP package in my server.cfg file.

var HDVICP = xdc.useModule('ti.sdo.codecs.hdvicp.HDVICP');


but still get the error of "undefined symbol":

 

LOG:
configuring gsv2Combo.x64P from package/cfg/gsv2Combo_x64P.cfg ...
Configuring server to use original codecs...
ti.sdo.ce.ipc.bios.close(): loading dsplink.dsp

NOTE: You can find the complete server data sheet in ./package/info/gsv2Combo.x64P.DataSheet.html
-------------------------------------------------------------------------------------------------

Warning: incompatible use of package 'ti.bios.utils' [in /opt/bx_env/dvsdk_2_00_00_22/biosutils_1_01_00/packages/ti/bios/utils/]: version of the loaded package 'ti.bios.utils' is [2, 0, 1, 00], while 'ti.sdo.ce.bioslog' [in /opt/bx_env/dvsdk_2_00_00_22/codec_engine_2_23_01/packages/ti/sdo/ce/bioslog/] was built with 'ti.bios.utils' [2, 0, 2, 01], while 'ti.sdo.ce.osal.bios' [in /opt/bx_env/dvsdk_2_00_00_22/codec_engine_2_23_01/packages/ti/sdo/ce/osal/bios/] was built with 'ti.bios.utils' [2, 0, 2, 01]
    will link with ti.sdo.ce.video1:lib/release/viddec1.a64P;lib/release/videnc1.a64P
    will link with ti.sdo.ce.bioslog:lib/release/bioslog.a64P
    will link with ti.sdo.ce:lib/release/ce.a64P
    will link with ti.sdo.ce.alg:lib/release/Algorithm_BIOS.a64P
    will link with ti.sdo.ce.ipc.bios:lib/release/ipc_bios.a64P
    will link with ti.sdo.ce.osal.bios:lib/osal_bios.a64P
    will link with ti.sdo.ce.osal.bios:lib/osal_bios_load.a64P
    will link with ti.sdo.fc.rman:lib/release/rman.a64P
    will link with ti.bios.utils:lib/utils.a64P
    will link with ti.sdo.fc.acpy3:lib/release/acpy3.a64P
    will link with ti.sdo.fc.dskt2:lib/release/dskt2.a64P
    will link with ti.sdo.fc.memutils:lib/release/memutils.a64P
    will link with ti.sdo.fc.ires.nullresource:lib/release/nullres.a64P
    will link with ti.sdo.ce.utils.xdm:lib/release/XdmUtils.a64P
    will link with ti.sdo.ce.node:lib/release/node.a64P
    will link with ti.sdo.utils.trace:lib/release/gt.a64P
    will link with ti.sdo.fc.dman3:lib/release/dman3Cfg.a64P
    will link with ti.sdo.codecs.h264enc:lib/h264venc_tii.l64P
    will link with ti.sdo.codecs.hdvicp:lib/hdvicp_ti_api_c64Plus.lib
cl64P src/main.c ...
asm64P package/cfg/gsv2Combo_x64Pcfg.s62 ...
cl64P package/cfg/gsv2Combo_x64P.c ...
cl64P package/cfg/gsv2Combo_x64Pcfg_c.c ...
lnk64P gsv2Combo.x64P ...

 undefined         first referenced                                                                                                      
  symbol               in file                                                                                                           
 ---------         ----------------                                                                                                      
 _HDVICP_configure /opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj>
 _HDVICP_done      /opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj>
 _HDVICP_wait      /opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj>

error: unresolved symbols remain
"h264venc_tii_ialg.c", line 1777 (approximate): warning: relocation from
   function "H264VENC_TII_encode" to symbol "_HDVICP_configure" overflowed; the
   31-bit relocated address 0xde1c3d30 is too large to encode in the 21-bit
   signed PC-Relative field (type = 'R_C60PCR21' (82), file =
   "/opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h26
   4enc/lib/h264venc_tii.l64P<H264Encoder.obj>", offset = 0x0000ed14, section =
   ".text:process:_H264VENC_TII_encode")
"h264venc_tii_ialg.c", line 1777 (approximate): warning: relocation from
   function "H264VENC_TII_encode" to symbol "_HDVICP_wait" overflowed; the
   31-bit relocated address 0xde1c3d20 is too large to encode in the 21-bit
   signed PC-Relative field (type = 'R_C60PCR21' (82), file =
   "/opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h26
   4enc/lib/h264venc_tii.l64P<H264Encoder.obj>", offset = 0x0000ed58, section =
   ".text:process:_H264VENC_TII_encode")
"h264venc_isrroutine.c", line 478 (approximate): warning: relocation from
   function "H264VENC_TII_encIsr" to symbol "_HDVICP_done" overflowed; the
   31-bit relocated address 0xde1c7fe8 is too large to encode in the 21-bit
   signed PC-Relative field (type = 'R_C60PCR21' (82), file =
   "/opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h26
   4enc/lib/h264venc_tii.l64P<H264Encoder.obj>", offset = 0x00012de0, section =
   ".text:_H264VENC_TII_encIsr")
"h264venc_isrroutine.c", line 985 (approximate): warning: relocation from
   function "H264VENC_TII_encStart" to symbol "_HDVICP_done" overflowed; the
   31-bit relocated address 0xde1c62f0 is too large to encode in the 21-bit
   signed PC-Relative field (type = 'R_C60PCR21' (82), file =
   "/opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h26
   4enc/lib/h264venc_tii.l64P<H264Encoder.obj>", offset = 0x00003bec, section =
   ".text:_H264VENC_TII_encStart")
"h264venc_isrroutine.c", line 985 (approximate): warning: relocation from
   function "H264VENC_TII_encStart" to symbol "_HDVICP_done" overflowed; the
   31-bit relocated address 0xde1c61c8 is too large to encode in the 21-bit
   signed PC-Relative field (type = 'R_C60PCR21' (82), file =
   "/opt/ti_b_board/ti-algs/dm6467_dvsdk_combos_2_05/packages/ti/sdo/codecs/h26
   4enc/lib/h264venc_tii.l64P<H264Encoder.obj>", offset = 0x00004080, section =
   ".text:_H264VENC_TII_encStart")
error: errors encountered during linking; "gsv2Combo.x64P" not built
gmake[1]: *** [gsv2Combo.x64P] Error 1

 

i'm using dvsdk_2_00_00_22 with dm6467_dvsdk_combos_2_05(dm6467_codecs_setuplinux_2_00_00_22.bin) production.

could u help?

thanks.

  • I added the following line to my server.cfg file and it worked:


    var HDINTC = xdc.useModule('ti.sdo.fc.hdintc.HDINTC');
    HDINTC.interruptVectorId_0 = 10;
    HDINTC.interruptVectorId_1 = 11;
    HDINTC.hdvicpInterruptEventNo_0 = 29;
    HDINTC.hdvicpInterruptEventNo_1 = 39;

    HDINTC.biosInterruptVectorId_0 = 7;
    HDINTC.biosInterruptVectorId_1 = 8;  
    HDINTC.biosInterruptEventNo_0 = 30;  
    HDINTC.biosInterruptEventNo_1 = 31;