www.pudn.com > g7231codec.rar > G723DE.h


//============================================================================ 
// 
//    FILE NAME : G723DE.h 
// 
//    BLOCK NAME: G723DE 
// 
//    GROUP NAME: Default Group 
// 
//    PURPOSE:    Header file for the block: G723DE.DLL 
// 
//    Component Wizard for eXpressDSP Version 1.31.00 Auto-Generated Block 
// 
//    Creation Date: Mon - 16 May 2005 
//    Creation Time: 04:34 PM 
// 
//    Copyright (C) 1992, 2005 Hyperception, All rights reserved 
// 
//============================================================================ 
//    NOTE: Do not modify lines starting with "//;".  This information is 
//          required by the C Code Generator for block importing. 
//============================================================================ 
 
#ifdef RC_INVOKED 
#define ID(id) id 
#else 
#define ID(id) MAKEINTRESOURCE(id) 
#endif 
 
//============================================================================ 
//   Include Files 
//============================================================================ 
#include "hresourc.h" 
#include "resource.h" 
#include "bddrv.h" 
 
//============================================================================ 
//   Definitions 
//============================================================================ 
// menu and block names  
#define MNAME   "G723DE" 
#define GNAME   "Default Group" 
#define LNAME   "eXpressDSP Library" 
#define BFNAME  "G723DE" 
#define BINAME  "GI23DE" 
 
// Whenever VERSION is changed, IDS_REV_NUMBER in the *.rc file should also be changed 
#define VERSION "1.00" 
 
//; Definitions 
//; End of Definitions 
 
// Number of user parameters 
#define NUM_PARAMS   3 
 
//--------------------------------------------------------------------------- 
// The following two definitions identify the size (in addresses) of the      
// block's DSP parameters and internal (persistent-storage) variables.        
//--------------------------------------------------------------------------- 
// NOTE: The parameter size (PARAMS_SIZE) definition below is the size of     
//       parameter space to reserve in DSP memory.  In most cases, the size   
//       will be the same as NUM_PARAMS.  However, since the TEXT and FILE    
//       types are not applicable to the DSP, PARAM_SIZE may be less than     
//       NUM_PARAMS.                                                          
//--------------------------------------------------------------------------- 
#define PARAMS_SIZE   3 
 
 
// Miscellaneous definitions 
#define TEXT_LENGTH   256 
 
 
//============================================================================ 
//   Structure Definitions 
//============================================================================ 
 
typedef struct 
{ 
//; Block Parameter Structure 
 
//------------------------------------------------------------------------------ 
//  General Block Information 
//------------------------------------------------------------------------------ 
    int           Precision; 
    int           LocalError; 
    unsigned long Framesize; 
 
//------------------------------------------------------------------------------ 
//  Block Input Information 
//------------------------------------------------------------------------------ 
    unsigned long FramesizeIn0;     // framesize of input channel 0 
    int           RCFlagIn0;        // real/complex flag of input channel 0 
    int           DTFlagIn0;        // data type flag of input channel 0 
    double        SampFreqIn0;      // sample frequency of input channel 0 
 
//------------------------------------------------------------------------------ 
//  Block Output Information 
//------------------------------------------------------------------------------ 
    unsigned long FramesizeOut0;    // framesize of output channel 0 
    int           RCFlagOut0;       // real/complex flag of output channel 0 
    int           DTFlagOut0;       // data type flag of output channel 0 
    double        SampFreqOut0;     // sample frequency of output channel 0 
 
//------------------------------------------------------------------------------ 
//  User Parameters                                                              
//------------------------------------------------------------------------------ 
    BOOL          _annexA; 
    BOOL          _pfoEnable; 
    BOOL          _badFrame; 
 
//------------------------------------------------------------------------------ 
//  Real-Time Driver Support Information 
//------------------------------------------------------------------------------ 
    char          DriverName[16];   // driver name (no path) 
    BYTE          RunMode;          // run mode 
 
 
//------------------------------------------------------------------------------ 
// Any user-added variables that are added to the BLOCK_PARAM structure should 
// be added between the following tags so they can be included in future 
// versions of this block. 
//------------------------------------------------------------------------------ 
//; Added Variables 
//; End of Added Variables 
 
//; End of Block Parameter Structure 
} BLOCK_PARAM; 
 
//--------------------------------------------------------------------------- 
//  The parameter structure below is used to store temporary or scratch 
//  information that is only required by the block during the life of the 
//  current worksheet.  This information is not stored to disk for use with 
//  other worksheets.  User-added variables that are only valid during the 
//  life of a worksheet, such as handles, should be added at the end of this 
//  structure. 
//--------------------------------------------------------------------------- 
typedef struct 
{ 
//; Scratch Parameter Structure 
 
//------------------------------------------------------------------------------ 
//  Real-Time Parameter Structure and Driver Handles 
//------------------------------------------------------------------------------ 
    HANDLE        hRTParam;            // handle to real-time block structure 
    HINSTANCE     hDriver;             // handle to DSP board driver 
    FARPROC       lpfnRideSendCommand; // pointer to RIDE driver command handler 
 
//------------------------------------------------------------------------------ 
// Any user-added variables that are added to the SCRATCH_PARAM structure should 
// be added between the following tags so they can be included in future  
// versions of this block. 
//------------------------------------------------------------------------------ 
//; Added Variables 
    HBITMAP       hBitmap; 
    BITMAP        Bitmap; 
//; End of Added Variables 
 
//; End of Scratch Parameter Structure 
} SCRATCH_PARAM; 
 
 
//============================================================================ 
//   Function Prototypes 
//============================================================================ 
 
//------------------------------------------------------------------------------ 
//  Block DLL Interface Functions 
//------------------------------------------------------------------------------ 
int  PASCAL UserSetupProc(HANDLE *, HANDLE *); 
int  PASCAL UserDefaultSetupProc(HANDLE, HANDLE); 
int  PASCAL UserPreInitializeProc(HANDLE,HANDLE, HANDLE); 
int  PASCAL UserInitializeProc(HANDLE,HANDLE, HANDLE); 
int  PASCAL UserRTCompileProc(HANDLE, HANDLE, HANDLE, int); 
int  PASCAL UserExecProc(HANDLE,HANDLE, HANDLE); 
int  PASCAL UserExitProc(HANDLE,HANDLE, HANDLE); 
int  PASCAL UserResetProc(HANDLE,HANDLE, HANDLE); 
BOOL PASCAL UserDialogProc(HWND,UINT,WPARAM,LPARAM); 
int  PASCAL UserSaveProc(HANDLE, HANDLE, LPSTR, LPSTR); 
int  PASCAL UserLoadProc(HANDLE, HANDLE, LPSTR, LPSTR); 
void PASCAL UserGetParameterListProc(HWND); 
int  PASCAL UserSetParameterProc(HANDLE,HANDLE,DWORD,void *); 
 
//------------------------------------------------------------------------------ 
//  Static Functions 
//------------------------------------------------------------------------------ 
static int PASCAL DownloadDSPParameters(BLOCK_PARAM *, SCRATCH_PARAM *); 
 
 
//------------------------------------------------------------------------------ 
//  Block's Data Processing Routines 
//------------------------------------------------------------------------------ 
int  PASCAL G723DEInt(HANDLE, HANDLE, HANDLE, HANDLE); 
 
//============================================================================ 
//  NOTE: User-added routine (function) prototypes should be placed in the 
//        following section. 
//============================================================================ 
 
 
//; External Routine Prototypes 
 
//; End of External Routine Prototypes