hi
I am studying at dm6467, i changed encodedecode example for ImageBinary, the algorithm name is filecoy_dec, and the server name is file_copy.x64p, in video.c I write these code:
hVd2 = Vdec2_create(hEngine, "filecopy_dec", &decParams, &decDynParams);
if (hVd2 == NULL) {
ERR("Failed to create filecopy_dec video decoder\n");
cleanup(THREAD_FAILURE);
}
image_colorbinary is app name , when i run it , "Failed to create filecopy_dec video decoder", why? image_colorbinary .cfg is :
var FILECOPYDEC = xdc.useModule('codecs.filecopy_dec.FILECOPYDEC');
/*
* ======== Engine Configuration ========
*/
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var myEngine = Engine.createFromServer("file_copy", [
{name: "filecopy_dec", mod: FILECOPYDEC, local: false, groupId: 0},
],
"./ImageColorBinary.x64P",
"servers.file_copy");
//myEngine.server = "./ImageColorBinary.x64P";
/* Load support for the 'Davinci Multimedia Application Interface' module */
var DMAI = xdc.loadPackage('ti.sdo.dmai');
/* Load support for SimpleWidget */
var SW = xdc.loadPackage('ti.sdo.simplewidget');
Program.main = Program.system = null;
and the file_copy.cfg is
/* set up OSAL */
var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
osalGlobal.runtimeEnv = osalGlobal.DSPLINK_BIOS;
osalGlobal.defaultMemSegId = "DDR2"; /* get various codec modules; i.e., implementation of codecs */ var Server = xdc.useModule('ti.sdo.ce.Server'); Server.algs = [ /* DSKT2.ALLOW_EXTERNAL_SCRATCH = false; var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3'); DMAN3.paRamBaseIndex = 80; // 1st EDMA3 PaRAM set available for DMAN3 Program.main = Program.system = null; anyone can help me ? thank you very much!
environment['xdc.cfg.check.fatal'] = 'false';
/* activate BIOS logging module */
var LogServer = xdc.useModule('ti.sdo.ce.bioslog.LogServer');
var FILECOPYDEC = xdc.useModule('codecs.filecopy_dec.FILECOPYDEC');
Server.threadAttrs.stackSize = 4096;
Server.threadAttrs.priority = Server.MINPRI;
Server.autoGenScratchSizeArrays = true;
{name: "filecopy_dec", mod: FILECOPYDEC, threadAttrs:
{
stackMemId: 0,
priority: Server.MINPRI + 1
},groupId : 0,
},
];
/* we can use DMA in certain codecs! */
/*FILECOPYENC.useDMA = true;*/
* ======== DSKT2 (XDAIS Alg. memory alocation ) configuration ========
*/
var DSKT2 = xdc.useModule('ti.sdo.fc.dskt2.DSKT2');
DSKT2.DARAM0 = "L1DHEAP";
DSKT2.DARAM1 = "L1DHEAP";
DSKT2.DARAM2 = "L1DHEAP";
DSKT2.SARAM0 = "L1DHEAP";
DSKT2.SARAM1 = "L1DHEAP";
DSKT2.SARAM2 = "L1DHEAP";
DSKT2.ESDATA = "DDRALGHEAP";
DSKT2.IPROG = "L1DHEAP";
DSKT2.EPROG = "DDRALGHEAP";
DSKT2.DSKT2_HEAP = "DDR2";
DSKT2.SARAM_SCRATCH_SIZES[0] = 32*1024;
DMAN3.heapInternal = "L1DHEAP"; /* L1DHEAP is an internal segment */
// DMAN3.heapInternal = "DDRALGHEAP"; /* DDRALGHEAP is an external segment */
DMAN3.heapExternal = "DDRALGHEAP";
DMAN3.idma3Internal = false;
DMAN3.scratchAllocFxn = "DSKT2_allocScratch";
DMAN3.scratchFreeFxn = "DSKT2_freeScratch";
DMAN3.numQdmaChannels = 8; // number of device's QDMA channels to use
DMAN3.qdmaChannels = [0,1,2,3,4,5,6,7]; // choice of QDMA channels to use
DMAN3.numPaRamEntries = 48; // number of PaRAM sets exclusively used by DMAN
DMAN3.numPaRamGroup[0] = 48; // number of PaRAM sets for scratch group 0
DMAN3.numTccGroup[0] = 32; // number of TCCs assigned to scratch group 0
DMAN3.tccAllocationMaskL = 0; // bit mask indicating which TCCs 0..31 to use
DMAN3.tccAllocationMaskH = 0xffffffff; // assign all TCCs 32..63 for DMAN