RE: undefined reference to 'IMGENC1_create' error

2008-12-15 Thread Tivy, Robert
Either the application .cfg file or some included package would need to do:
xdc.useModule('ti.sdo.ce.image1.IIMGENC1');
to bring in the library containing IMGENC1_create().

I'm not familiar with the details of the ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC 
module so I can't check that out, but perhaps you need to manually invoke the 
above statement in your cfg.

- Rob


From: davinci-linux-open-source-boun...@linux.davincidsp.com 
[mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of 
Neerav Patel
Sent: Monday, December 15, 2008 12:44 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: 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;
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


RE: undefined reference to 'IMGENC1_create' error

2008-12-15 Thread Ring, Chris
Not quite.  You shouldn't do xdc.useModule('ti.sdo.ce.image1.IIMGENC1') because 
IIMGENC1 is an Interface, not a Module.  Kind of the right idea - we need to 
get that ti.sdo.ce.image1 support package brought into the executable.

What really should happen is that ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC Module 
should declare (in it's JPEGENC.xdc Module spec file) that it implements the 
ti.sdo.ce.image1.IIMGENC1 interface.  That will cause the support for that 
interface (namely the library with those IMGENC1_* APIs) to be added to the 
generated linker.cmd file when the config step sees a codec that needs that 
support has been integrated.

When you run your config step, does the generated linker.cmd file include a 
library from the ti/sdo/ce/image1 package?  Maybe you either 1) forgot to run 
the config step after changing your .cfg script or 2) aren't passing the newly 
generated linker.cmd into your linker?

Chris


From: davinci-linux-open-source-boun...@linux.davincidsp.com 
[mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of 
Tivy, Robert
Sent: Monday, December 15, 2008 5:42 PM
To: Neerav Patel; davinci-linux-open-source@linux.davincidsp.com
Subject: RE: undefined reference to 'IMGENC1_create' error

Either the application .cfg file or some included package would need to do:
xdc.useModule('ti.sdo.ce.image1.IIMGENC1');
to bring in the library containing IMGENC1_create().

I'm not familiar with the details of the ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC 
module so I can't check that out, but perhaps you need to manually invoke the 
above statement in your cfg.

- Rob


From: davinci-linux-open-source-boun...@linux.davincidsp.com 
[mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of 
Neerav Patel
Sent: Monday, December 15, 2008 12:44 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: 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;
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source