This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IALG algControl Vs IUNIVERSAL control & Process

In  XDAIS  IALG Interface we have algControl function in the function table,

then  WHY we need a control along with process API  provided separately in XDM IUNIVERSAL(OF COURSE IAUDDEC IAUDENC etc.,..........)

What is their difference??????????

  • The IALG interface is a set of standard interface functions exported by an XDAIS algorithm, that are used (by the framework) to ensure memory and other resources can be shared among multiple algorithms.

    XDM interfaces extend the xDAIS standard to create a standard interface specifically for multimedia codecs. These include the IAUDDEC, IAUDENC etc interfaces you mention above. 

    IUNIVERSAL interface is another such extension to the xDAIS standard, that is not multimedia specific. It allows "other types of algorithms" to be 'plug and play' compatible with codec engine.

    The control and process APIs in IUNIVERSAL, are extensions of the same functions in the IALG interface. 

    Let me know if you have any more specific questions. A lot of informationa about the IUNIVERSAL APIs is available here:- http://processors.wiki.ti.com/index.php/Getting_started_with_IUNIVERSAL

  • Hi,

              what we have to include for the IUNIVERSAL process/ in the #pragma code section.

    .i.e.

    #pragma CODE_SECTION(FIR_JI_control, ".text:algControl") ---> actually meant for    control function    in IALG interface

                                                                       

     

     

    #pragma CODE_SECTION(FIR_JI_process, ".text:algProcess") -->  we have to write like this???? For process in IUNIVERSAL interface or someother methodology????

  • http://www.ti.com/lit/ug/spru187t/spru187t.pdf 

    Find out more details about how to use PRAGMA(s) in the document linked above (See section 6.9.3, 6.9.6 for CODE_SECTION and DATA_SECTION)

    Looking at pragma statements above, it seems like you are trying to place the functions FIR_JI_control and _process into specific sections. Even when you are using the IUNIVERSAL interface, your algorithm implementation of the process and control functions, have the same name (?!). Which means that the above pragma(s) should work just fine.

    Did you have a problem with the above statements ?