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