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.

undefined reference to 'IMGENC1_create' error



Hi,

I am getting an error of undefined reference to 'IMGENC1_create'  I have added the appropriate header file  #include <ti/sdo/ce/image1/imgenc1.h> to the code, I suspect that something in the cfg file may be not correct to make it not link to the proper libraries?

 

This is my cfg file I am using!  Thank in advance

 

/*  ============================================================================
 *   Copyright (c)  Texas Instruments Incorporated 2007
 *
 *   Use of this software is controlled by the terms and conditions found in the
 *   license agreement under which this software has been supplied or provided.
 *  ============================================================================
 */

var osalGlobal = xdc.useModule( 'ti.sdo.ce.osal.Global' );
osalGlobal.runtimeEnv = osalGlobal.LINUX;

//var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.dm355.ce.MPEG4ENC');
//var MPEG4DEC = xdc.useModule('ti.sdo.codecs.mpeg4dec.dm355.ce.MPEG4DEC');
var JPEGENC = xdc.useModule('ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC');

/*
 *  ======== Engine Configuration ========
 */
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var demoEngine = Engine.create("securitycamera", [
//    {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
//    {name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
    {name: "jpegenc", mod: JPEGENC, local: true, groupId: 1},
]);

/*
 *  ======== DMAN3 Configuration ========
 */
var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3');

/* give DMAN3 all TCCs except those hard-coded by The JPEG & MPEG Enc & Decs */

/*
 *   For the 32-63 range, configure tccAllocationMaskH to exclude used channels
 *   JPEG Dec: {33-47, 52-57}
 *   JPEG Enc: {34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}
 *   MPEG Dec: {32-63}
 *   MPEG Enc: {12, 13, 34, 35, 40,41,42,43,44,45,46,47,48,49,50,52,53,
 *              54,55,56,57,63}
 */
DMAN3.tccAllocationMaskH = 0x0; /* everthing 32-63 hardcoded and unavailable */

/* Give DMAN3 all lower TCCs except what's taken by Linux kernel and a Codec:
 * Based on the info from montavista: {2, 3, 8, 9, 26, 27, 30, 31}
 * and MPEG Enc taking up:            {12, 13}
 */
DMAN3.tccAllocationMaskL = 0x33ffccf3;

/* Following assignments will give DMAN3 control of PaRAMs above 78: */
DMAN3.paRamBaseIndex = 64;
DMAN3.numPaRamEntries = 48;
DMAN3.nullPaRamIndex = 127;

/* Configure Scratch Group's DMAN3 resources */
DMAN3.numTccGroup[1]   = 0;
DMAN3.numPaRamGroup[1] = 32;

DMAN3.qdmaChannels = [0, 1, 2, 3, 4, 5, 6, 7];
DMAN3.maxQdmaChannels = 8;
DMAN3.numQdmaChannels = 8;
DMAN3.maxTCs          = 2;

  • I do not see anything wrong with the file above, but I suspect this is a path issue; normally, many of the paths are defined in the Rules.make file found at the dvsdk root directory.  Also, many of the build scripts (e.g. demos) have relative paths to Rules.make file, hence if you are moving directories around I would double check the makefiles to ensure everything makes sense