In a closed system, where you only have to interoperate with yourself, you can do whatever you want. I don't think there's any limitation in Codec Engine or BIOS that will prevent you from calling malloc/free from within your algorithm. Your algorithm would obviously fail any xDAIS validation testing. ( And on that note, here's a quick pitch for the resurrected QualiTI tool available in xDAIS 6.10, and the new TI eXpress DSP wiki here: http://tiexpressdsp.com/wiki/index.php?title=QualiTI_XDAIS_Compliance_Tool ) As your signature indicates you're from a University, this may be an opportunity to share the reasons xDAIS places this restriction on algorithms with your students, and help them understand why calling malloc/free are not "good things to do" in an open environment. Here are a few: * malloc() and free() are often non-deterministic, so methods calling malloc()/free() lose their determinism * malloc() can fail(!), what should your algorithm do if that happens? xDAIS algs restrict failures due to lack of resources to creation time. * malloc() and free() don't provide fine-grained _types_ of memory requests (e.g. internal, external, scratch, persistent, etc) which complex algorithms typically need. * and as a result, the use of malloc()/free() hinders frameworks (like Codec Engine and Framework Components) from sharing scratch resources across algorithms, which complex systems with many algorithms typically need. Chris
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cheng Yang Sent: Thursday, March 27, 2008 8:16 PM To: davinci-linux-open-source@linux.davincidsp.com Subject: Memory operation in the DSP side Hi, all I am developping an algorithm for the DSP. In the Codec Engine framework, the codec is run in the DSP/BIOS. And the codec has to be complied with the xDAIS standard. So the codec is not allowed to do any memory alloction operation. It is for the convenience of algorithm users. However, in our project, we are not going to export the codec to others, which means we will provide the DSP server directly. So will it be safe for the codec to do memory operation such as malloc() and free()? Any discussion will be appreciated! Best regards! --------------------- Cheng Yang 杨成 Digital Signal Processing and Transmission Lab E.E. Department, Fudan University Shanghai, P.R. China Lab: +86 (0) 21 65643633 Mobile: +86 13818155051 Email: [EMAIL PROTECTED]
_______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source