ZhouXiao,
Some more info... Since you are writing your own server and algorithm, you might be interested in debugging these components on the DSP side. Fyi, I have attached a recent thread that talks about this topic. The VIDENC_create API sends a message to the DSP's RMS server task which creates an algorithm instance via the IALG functions it has implemented. Depending on your log output, some of the places where you might want to set breakpoints on are the IALG functions (i.e. algAlloc, algInit) supplied by the algorithm. Try to see if they are getting called and if they executed successfully. This could potentially give you a better idea about the source of the problem. Best regards, Vincent ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ring, Chris Sent: Tuesday, November 14, 2006 5:21 PM To: X. Zhou; [email protected] Subject: RE: the application always halts at the position of VIDENC_create() You might learn more about the error by enabling the various tracing mechanisms in the Codec Engine. Often, just setting the "CE_TRACE" environment variable to turn on all trace levels for all trace masks ("*=01234567") will reveal something interesting. I often do this by simply setting the variable on the command line before invoking my app... like this: CE_TRACE="*=01234567" ./app.out It's a little tricky sometimes _where_ the trace will end up. The demos use TraceUtil APIs (which wrap the underlying GT trace mechanisms), and in their application .cfg scripts use "SOCRATES_TRACING" setting. That sends all trace to the /tmp directory, so you might look for the creation of trace files there. If I understand your issue, this is likely a DSP-side codec creation issue. VIDENC_create is typically configured to create "remote" codecs; when this happens, a message is sent to the Server daemon on the DSP to create the codec. In some cases, issues which arise as a result of creating the codec are logged in the DSP-side logs. So you'll want to enable the DSP-side trace masks and capture those logs as well. Assuming your app uses TraceUtil and SOCRATES_TRACING, you can set the DSP-side mask with the TRACEUTIL_DSP0TRACEMASK variable. And, for good measure, you can have TraceUtil report some diagnostics as well by setting TRACEUTIL_VERBOSE=1. Combining all this, you might run your application like this: CE_TRACE="*=01234567" TRACEUTIL_DSP0TRACEMASK="*=01234567" TRACEUTIL_VERBOSE=1 ./app.out Again, these trace logs will, when your app has configured TraceUtil for SOCRATES_TRACING, end up in /tmp. And finally, you might find value in configuring the DSKT2 and/or DMAN3 components for debug mode. This is done by setting "DMAN3.debug = true;" and/or "DSKT2.debug = true;" in your server's config script. Doing this enables extra run time validation - and also drops a few extra trace strings when failures occur. Chris ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of X. Zhou Sent: Monday, November 13, 2006 7:57 PM To: [email protected] Subject: the application always halts at the position of VIDENC_create() Hi, everyone, I have encountered a problem which needs your help. I write a XDM-compilant video encoder and server running on DSP side of DM6446, and a client application running on ARM side of DM6446. while, when i run the client application, sometimes the application and encoder work ok, but sometimes, the application always halts at the position of VIDENC_create(). I want to know the possible reasion for this halting, Any opinion is apprepriated! ZhouXiao This message (including any attachments) is for the named addressee(s)'s use only. It may contain sensitive, confidential, private proprietary or legally privileged information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. Any use, disclosure, copying, or distribution of this message and/or any attachments is strictly prohibited.
RE DSP Server debugging on CCS32(1).msg
Description: RE DSP Server debugging on CCS32(1).msg
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
