I'm trying to upgrade my codec. I thought it would be as simple as changing the configuration file for my project but it appears there are some additional quirks to it.
I did not change anything else from the configuration file but the following lines
var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.ce.MPEG4ENC');
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var FCEngine = Engine.create("encode", [
{name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
]);
to
var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc_hdvicp.ce.MPEG4ENC_HDVICP');
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var FCEngine = Engine.create("encode", [
{name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
]);
But now when I try VIDENC1_create(...) with the same parameters as before, it fails with return code -1. Engine_getLastError() returns 12, Engine_ENOTAVAIL.
When I start my application with CE_DEBUG=2, the codec seems to be loaded correctly
@0,426,300us: [+4 T:0x4001fb20] OG - Global_init> This program was built with the following packages:
@0,426,969us: [+4 T:0x4001fb20] OG - package gnu.targets.arm.rtsv5T (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/gnu/targets/arm/rtsv5T/) [1, 0, 0, 0]
@0,427,256us: [+4 T:0x4001fb20] OG - package ti.sdo.linuxutils.edma (/home/eric/stuff/apps/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/edma/) [1, 0, 0]
@0,427,442us: [+4 T:0x4001fb20] OG - package ti.sdo.linuxutils.cmem (/home/eric/stuff/apps/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/) [2, 2, 0]
@0,427,617us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/) [1, 0, 0]
@0,427,782us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.global (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/global/) [1, 0, 0]
@0,427,944us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.memutils (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/memutils/) [1, 0, 0]
@0,428,104us: [+4 T:0x4001fb20] OG - package ti.xdais (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdais_6_25_02_11/packages/ti/xdais/) [1, 2.0, 1]
@0,428,262us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.addrspace (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/addrspace/) [1, 0, 0]
@0,428,423us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.utils (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/utils/) [1, 0, 2]
@0,428,583us: [+4 T:0x4001fb20] OG - package ti.sdo.linuxutils.vicp (/home/eric/stuff/apps/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/vicp/) [1, 0, 0]
@0,428,789us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.hdvicp (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/hdvicp/) [1, 0, 1]
@0,429,071us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.nullresource (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/nullresource/) [1, 0, 0]
@0,429,683us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.rman (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/rman/) [2, 0, 0]
@0,429,876us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.edma3 (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/edma3/) [3, 0, 0]
@0,430,050us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.edma3chan (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/edma3chan/) [1, 0, 0]
@0,430,225us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.grouputils (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/grouputils/) [1, 0, 0]
@0,430,499us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.ires.vicp (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/ires/vicp/) [1, 0, 1]
@0,430,681us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.vicpsync (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/vicpsync/) [1, 0, 0]
@0,430,855us: [+4 T:0x4001fb20] OG - package ti.sdo.codecs.jpegenc (/home/eric/stuff/apps/dvsdk_3_10_00_19/dm365_codecs_03_10_00_07/packages/ti/sdo/codecs/jpegenc/) [1, 0, 0]
@0,431,019us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.global (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/global/) [1, 0, 0]
@0,870,805us: [+4 T:0x4001fb20] OG - package ti.xdais.dm (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdais_6_25_02_11/packages/ti/xdais/dm/) [1, 0, 5]
@0,871,027us: [+4 T:0x4001fb20] OG - package ti.sdo.utils.trace (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/utils/trace/) [1, 0, 0]
@0,871,215us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.hdvicpsync (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/hdvicpsync/) [1, 0, 0]
@0,871,387us: [+4 T:0x4001fb20] OG - package ti.sdo.codecs.mpeg4enc_hdvicp (/home/eric/stuff/apps/dvsdk_3_10_00_19/dm365_mpeg4enc_hdvicp_02_00_00_08_production/dm365_mpeg4enc_hdvicp_02_00_00_08_production/packages/ti/sdo/codecs/mpeg4enc_hdvicp/) [1, 0, 0]
@0,871,567us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.node (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/node/) [1, 0, 0]
@0,871,722us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.utils.xdm (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/utils/xdm/) [1, 0, 2]
@0,871,884us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.dman3 (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/dman3/) [1, 0, 4]
@0,872,101us: [+4 T:0x4001fb20] OG - package ti.sdo.fc.acpy3 (/home/eric/stuff/apps/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages/ti/sdo/fc/acpy3/) [1, 0, 4]
@0,872,277us: [+4 T:0x4001fb20] OG - package gnu.targets (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/gnu/targets/) [1, 0, 1]
@0,872,440us: [+4 T:0x4001fb20] OG - package gnu.targets.arm (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/gnu/targets/arm/) [1, 0, 0, 0]
@0,872,603us: [+4 T:0x4001fb20] OG - package ti.catalog.arm (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/ti/catalog/arm/) [1, 0, 1, 0]
@0,872,765us: [+4 T:0x4001fb20] OG - package ti.catalog (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/ti/catalog/) [1, 0, 0]
@0,872,923us: [+4 T:0x4001fb20] OG - package ti.platforms.evmDM365 (/home/eric/stuff/apps/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages/ti/platforms/evmDM365/) [1, 0, 0]
@0,873,078us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.osal (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/osal/) [2, 0, 2]
@0,873,238us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.osal.linux (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/osal/linux/) [2, 0, 1]
@0,873,445us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.ipc (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/ipc/) [2, 0, 1]
@0,873,617us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.ipc.linux (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/ipc/linux/) [2, 0, 1]
@0,873,781us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.alg (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/alg/) [1, 0, 1]
@0,873,939us: [+4 T:0x4001fb20] OG - package ti.sdo.ce (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/) [1, 0, 6]
@0,874,096us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.video2 (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/video2/) [1, 0, 2]
@0,874,262us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.video1 (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/video1/) [1, 0, 2]
@0,874,423us: [+4 T:0x4001fb20] OG - package ti.sdo.codecs.mpeg4enc_hdvicp.ce (/home/eric/stuff/apps/dvsdk_3_10_00_19/dm365_mpeg4enc_hdvicp_02_00_00_08_production/dm365_mpeg4enc_hdvicp_02_00_00_08_production/packages/ti/sdo/codecs/mpeg4enc_hdvicp/ce/) [1, 0, 0]
@1,206,375us: [+4 T:0x4001fb20] OG - package ti.sdo.ce.image1 (/home/eric/stuff/apps/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/image1/) [1, 0, 1]
@1,206,605us: [+4 T:0x4001fb20] OG - package ti.sdo.codecs.jpegenc.ce (/home/eric/stuff/apps/dvsdk_3_10_00_19/dm365_codecs_03_10_00_07/packages/ti/sdo/codecs/jpegenc/ce/) [1, 0, 0]
@1,206,796us: [+4 T:0x4001fb20] OG - package rtspserver_crim_config (/home/eric/stuff/prog/linux/trunk/rtspserver_crim/rtspserver_crim_config/) []
@1,207,907us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - LockMP_create> key: 0x524d414e count: 717116 attrs: 0xaf9e4
@1,208,644us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_create> lock[0xb34f8]
@1,209,008us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,209,617us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,209,850us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,210,054us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,210,443us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,210,688us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,210,950us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - LockMP_create> key: 0x4956444a count: 8776 attrs: 0xaf13c
@1,211,316us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_create> lock[0xb3520]
@1,211,526us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb3520]
@1,211,773us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb3520]
@1,212,531us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb3520]
@1,212,812us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb3520]
@1,213,176us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,213,421us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,213,611us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,213,806us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,213,987us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - LockMP_create> key: 0x50434958 count: 717116 attrs: 0xb1634
@1,214,325us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_create> lock[0xb3548]
@1,214,582us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb3548]
@1,214,787us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb3548]
@1,215,336us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb3548]
@1,215,606us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb3548]
@1,215,821us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb3548]
@1,216,079us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb3548]
@1,216,689us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb3548]
@1,216,959us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb3548]
@1,217,203us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,217,470us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,217,658us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,217,854us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,218,041us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,218,235us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,218,534us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,218,810us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,551,697us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,551,953us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,552,149us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_acquire> lock[0xb34f8]
@1,552,342us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_acquire> lock[0xb34f8]
@1,552,531us: [+0 T:0x4001fb20] ti.sdo.ce.osal.Sem - Sem_create> count: 1
@1,552,766us: [+0 T:0x4001fb20] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0xb3570]
@1,553,018us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Entered LockMP_release>lock[0xb34f8]
@1,553,224us: [+0 T:0x4001fb20] ti.sdo.ce.osal.LockMP - Leaving LockMP_release>lock[0xb34f8]
@1,553,434us: [+0 T:0x4001fb20] ti.sdo.ce.alg - ALG_init> Enter
@1,553,761us: [+0 T:0x4001fb20] ti.sdo.ce.alg - ALG_init> Exit
@1,554,155us: [+6 T:0x4001fb20] CE - Engine_init> CE debugging on (CE_DEBUG=2; allowed CE_DEBUG levels: 1=min, 2=good, 3=max)
@1,554,587us: [+0 T:0x4001fb20] CS - Server_init()
@1,554,773us: [+0 T:0x4001fb20] CS - Server_init> Global_useLinkArbiter = 0
Here is the debug output from the VIDENC1_create call
@5,213,367us: [+0 T:0x42424490] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> Enter (engine=0xeae08, name='mpeg4enc', params=0xd63a0)
@5,213,609us: [+0 T:0x42424490] CV - VISA_create(0xeae08, 'mpeg4enc', 0xd63a0, 0x520, 'ti.sdo.ce.video1.IVIDENC1')
@5,213,806us: [+0 T:0x42424490] CV - VISA_create2(0xeae08, 'mpeg4enc', 0xd63a0, 0x54, 0x520, 'ti.sdo.ce.video1.IVIDENC1')
@5,214,132us: [+0 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_create> Enter (fxns=0xafb40, idma3Fxns=0x0, iresFxns=0xafbc0, params=0xd63a0, attrs=0x42423b4c)
@5,214,625us: [+2 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_create> useCachedMem = -1
@5,214,824us: [+0 T:0x42424490] ti.sdo.ce.alg - ALG_create> Enter (scratchId=1, fxns=0xafb40, parentAlg=0x0, params=0xd63a0, useCacheMem=-1)
@5,215,099us: [+2 T:0x42424490] ti.sdo.ce.alg - ALG_create> algNumAlloc 14 memory recs
@5,215,368us: [+7 T:0x42424490] ti.sdo.ce.alg - ALG_create> alg's algAlloc() returned alg-specific error code (0xffffffff)
@5,215,566us: [+7 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_create> Algorithm creation FAILED; make sure that 1) alg params are correct/supported, 2) there is enough internal and external algorithm memory available
@5,215,833us: [+0 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_delete> Enter(alg=0xed1d0)
@5,216,121us: [+0 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_delete> Exit
@5,216,308us: [+0 T:0x42424490] ti.sdo.ce.alg.Algorithm - Algorithm_create> return (0x0)[65642.230000] vpfe-capture vpfe-capture: input information not found for the subdev
@5,216,471us: [+6 T:0x42424490] CV - VISA_create2> FAILED to c[65642.250000]
[65642.250000] ov2710_setstd, id>>32 = 10
reate local codec.
@5,216,619us: [+0 T:0x42424490] CV - VISA_delete(0xedfa0)
@5,216,753us: [+5 T:0x42424490] CV - VISA_delete> deleting codec (localQueue=0xffff, remoteQueue=0xffff)
@5,216,919us: [+0 T:0x42424490] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> return (0x0)
@5,217,135us: [+0 T:0x42424490] CE - Engine_getUsedMem(0xeae08)