www.pudn.com > g7231codec.rar > g723de_kn_ialgvt.c
/* //============================================================================ // // FILE NAME : G723DE_KN_ialgvt.c // // ALGORITHM : G723DE // // VENDOR : KN // // TARGET DSP: C64x // // PURPOSE : This file contains the function table definitions for // all interfaces implemented by the G723DE_KN module // that derive from IALG // // You are free to replace these tables with different // definitions. For example, one may want to build a // system where the algorithm is activated once and never // deactivated, moved, or freed. // // Component Wizard for eXpressDSP Version 1.31.00 Auto-Generated Component // // Number of Inputs : 1 // Number of Outputs: 1 // // Creation Date: Mon - 16 May 2005 // Creation Time: 04:34 PM // //============================================================================ */ #include#include "ig723de.h" #include "g723de_kn.h" extern Int G723DE_KN_alloc(const IALG_Params *, struct IALG_Fxns **, IALG_MemRec *); extern Int G723DE_KN_control(IALG_Handle, IALG_Cmd, IALG_Status *); extern Int G723DE_KN_free(IALG_Handle, IALG_MemRec *); extern Int G723DE_KN_initObj(IALG_Handle, const IALG_MemRec *, IALG_Handle, const IALG_Params *); extern Int G723DE_KN_numAlloc(Void); /* // The G723DE_KN_moved routine is only used if the G723DE_KN_alloc routine // returns more than one valid IALG_MemRec structure. extern Void G723DE_KN_moved(IALG_Handle, const IALG_MemRec *, IALG_Handle, const IALG_Params *); */ /* // The G723DE_KN_activate & G723DE_KN_deactivate routines are // only used if scratch memory is being used. extern Void G723DE_KN_activate(IALG_Handle); extern Void G723DE_KN_deactivate(IALG_Handle); */ extern XDAS_Void G723DE_KN_apply(IG723DE_Handle handle, XDAS_Int16 * ptrIn0, XDAS_Int16 * ptrOut0); #define IALGFXNS \ &G723DE_KN_IALG, /* module ID */ \ NULL, /* activate (NULL => not suported) */ \ G723DE_KN_alloc, /* algAlloc */ \ G723DE_KN_control, /* control (NULL => not suported) */ \ NULL, /* deactivate (NULL => not suported) */ \ G723DE_KN_free, /* free */ \ G723DE_KN_initObj, /* init */ \ NULL, /* moved (NULL => not suported) */ \ NULL /* numAlloc (NULL => IALG_DEFMEMRECS) */ \ /* //============================================================================ // G723DE_KN_IG723DE // // This structure defines KN's implementation of the IG723DE interface // for the G723DE_KN module. */ IG723DE_Fxns G723DE_KN_IG723DE = { /* module_vendor_interface */ IALGFXNS, G723DE_KN_apply, }; /* //============================================================================ // G723DE_KN_IALG // // This structure defines KN's implementation of the IALG interface // for the G723DE_KN module. */ #ifdef _TI_ asm("_G723DE_KN_IALG .set _G723DE_KN_IG723DE"); #else /* //============================================================================ // The structure is duplicated here to allow this code to be compiled // and run on non-DSP platforms at the expense of unnecessary data space // consumed by the definition below. */ IALG_Fxns G723DE_KN_IALG = { /* module_vendor_interface */ IALGFXNS }; #endif