⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 algorith610.h

📁 书中的主要程序文件。在打开例题的.dsw文件后,请读者在 tools菜单下的 Options 的 Directories 标签中选择 Executable files
💻 H
字号:
//==========================================================================;
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//  PURPOSE.
//
//  Copyright (c) 1993-1994 G&G Lab Corporation
//
//--------------------------------------------------------------------------;
//
//  Algorith610.h
//
//  Description:
//      This file contains prototypes for the filtering routines, and
//      some parameters used by the algorithm.
//
//
//==========================================================================;

#ifndef _INC_ALGORITH610
#define _INC_ALGORITH610                 // #defined if Algorith610.h has been included

#ifndef RC_INVOKED
#pragma pack(1)                     // assume byte packing throughout
#endif

#ifndef EXTERN_C
#ifdef __cplusplus
    #define EXTERN_C extern "C"
#else
    #define EXTERN_C extern 
#endif
#endif

#ifdef __cplusplus
extern "C"                          // assume C declarations for C++
{
#endif


//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 
//
//
//
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 

//
// The following constants are defined in order to make portions
// of the program more readable.  In general, these constants
// cannot be changed without requiring changes in related program code.
//
#define ALGORITH610_MAX_CHANNELS             1
#define ALGORITH610_BITS_PER_SAMPLE          0
#define ALGORITH610_WFX_EXTRA_BYTES          (2)
 
#define ALGORITH610_SAMPLESPERFRAME          160
#define ALGORITH610_NUMSUBFRAMES             4
#define ALGORITH610_SAMPLESPERSUBFRAME       40
#define ALGORITH610_FRAMESPERMONOBLOCK       2
#define ALGORITH610_BITSPERFRAME             260
#define ALGORITH610_BYTESPERMONOBLOCK        (ALGORITH610_FRAMESPERMONOBLOCK * ALGORITH610_BITSPERFRAME / 8)
#define ALGORITH610_SAMPLESPERMONOBLOCK      (ALGORITH610_FRAMESPERMONOBLOCK * ALGORITH610_SAMPLESPERFRAME)

//
//  these assume mono
//
#define ALGORITH610_BLOCKALIGNMENT(pwf)    (ALGORITH610_BYTESPERMONOBLOCK)
#define ALGORITH610_AVGBYTESPERSEC(pwf)    (((LPALGORITH610WAVEFORMAT)pwf)->wfx.nSamplesPerSec * ALGORITH610_BYTESPERMONOBLOCK / ALGORITH610_SAMPLESPERMONOBLOCK)
#define ALGORITH610_SAMPLESPERBLOCK(pwf)   (ALGORITH610_SAMPLESPERMONOBLOCK)


//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 
//
//
//
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 

//
//  function prototypes from ALGORITH610.C
//
//
void FNGLOBAL Algorith610Reset
(
    PSTREAMINSTANCE         psi
);

LRESULT FNGLOBAL Algorith610Decode
(
    LPACMDRVSTREAMINSTANCE  padsi,
    LPACMDRVSTREAMHEADER    padsh
);
                             
LRESULT FNGLOBAL Algorith610Encode
(
    LPACMDRVSTREAMINSTANCE  padsi,
    LPACMDRVSTREAMHEADER    padsh
);



//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 
//
//
//
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 

#ifndef RC_INVOKED
#pragma pack()                      // revert to default packing
#endif

#ifdef __cplusplus
}                                   // end of extern "C" { 
#endif

#endif // _INC_ALGORITH610

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -