Hi Brian, If you haven't already done so, I suggest you take a look at the example codec_engine_2_10_01\examples\ti\sdo\ce\examples\apps\video_copy\dualcpu_separateconfig_dll. It does something similar to what you are trying to accomplish, ie., wrap CE into a DLL. This might give you a clue as to what the problem is.
Best regards, Vincent -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Rhodes Sent: Thursday, June 19, 2008 12:02 AM To: Kamoolkar, Mugdha Cc: [email protected] Subject: Re: building dsplink Thanks for responding. I am trying to compile dsplink 1.50 and I am using codec engine 2.10. The error is with the type for 'current'. I dug around for that, but could not find where it was actually located. What I am actually trying to do is load an Engine from a library which loads dynamic libraries which are initialized with the engine handle. These libraries then use the individual algorithms. However VIDDEC_create just causes the program to exit when called from one of the libraries which I dlopen. If I call VIDDEC_create from the main library (where CERuntime_init() is called from) then everything works correctly. dsplink is unrelated to my problem, however I was concerned that I could not rebuild it. #0 0x4520fec8 in Memory_alloc () from /usr/local/LEO_SDK.1.0/media_plugins/decode_video_c64x.plug #1 0x4520b1b8 in VISA_create2 (engine=0x42478, name=0x452295b8 "mpeg2_dec", params=0x0, paramsSize=0, msgSize=836, type=0x4522a704 "ti.sdo.ce.video.IVIDDEC") at visa.c:380 #2 0x4520ac70 in VISA_create (engine=0x42478, name=0x452295b8 "mpeg2_dec", params=0x0, msgSize=836, type=0x4522a704 "ti.sdo.ce.video.IVIDDEC") at visa.c:239 #3 0x45204f40 in VIDDEC_create (engine=0x42478, name=0x452295b8 "mpeg2_dec", params=0x0) at viddec.c:61 #4 0x45203aac in c64x_video_init () from /usr/local/LEO_SDK.1.0/media_plugins/decode_video_c64x.plug will link with codecs.iv_mpeg2_dec:lib/iv_mpeg2dec.a64P will link with ti.sdo.ce.video:lib/debug/video.a470MV will link with ti.sdo.ce:lib/ce_debug.a470MV will link with ti.sdo.ce.ipc.dsplink:lib/ipc_dsplink_6446_debug.a470MV will link with ti.sdo.ce.osal.linux:lib/osal_linux_470.a470MV will link with ti.sdo.ce.alg:lib/Algorithm_noOS.a470MV;lib/alg.a470MV will link with ti.sdo.ce.ipc:lib/ipc.a470MV will link with ti.sdo.fc.dman3:dman3Cfg.a470MV will link with ti.sdo.fc.acpy3:acpy3.a470MV will link with ti.sdo.ce.utils.xdm:lib/debug/XdmUtils.a470MV will link with ti.sdo.utils.trace:lib/gt.a470MV will link with dsplink.gpp:export/BIN/Linux/Davinci/DM6446/DEBUG/dsplink.lib will link with ti.sdo.linuxutils.cmem:lib/cmem.a The main application where VIDDEC_create() works, links the same libraries. I am guessing that this fails because the engine is created in the main application and the dynamically loaded libraries do know what memory segment to use for the algorithm creation? Kamoolkar, Mugdha wrote: > Brian, > > You may have an incompatible version of Linux kernel. DSPLink versions prior > to DSPLink 1.50 did not inherently support linux kernel versions 2.6.18 > onwards. If you need to build DSPLink on a linux kernel version 2.6.18+, > you'll need to either: > 1. Use DSPLink 1.50 (but note that you need the compatible Codec Engine > version for this) > http://wiki.davincidsp.com/index.php?title=Codec_Engine_Roadmap > 2. Use the patch from Kevin on the older version of DSPLink, that adds > support for Linux kernel versions 2.6.18 onwards into DSPLink > http://www.mail-archive.com/[email protected]/msg03002.html > > Regards, > Mugdha > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Rhodes > Sent: Wednesday, June 18, 2008 9:29 PM > To: [email protected] > Subject: building dsplink > > prcs.c: In function `PRCS_Create': > prcs.c:185: error: dereferencing pointer to incomplete type > prcs.c:186: error: dereferencing pointer to incomplete type > prcs.c:188: error: dereferencing pointer to incomplete type > > 185 (*prcsObj)->handleToThread = (Pvoid) current->pid ; > 186 (*prcsObj)->handleToProcess = (Pvoid) current->mm ; > 187 (*prcsObj)->priorityOfThread = 0 ; > 188 (*prcsObj)->priorityOfProcess = current->prio ; > > What am I missing? > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
