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

Reply via email to