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: [email protected]
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
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source