windows-nt/Source/XPSP1/NT/multimedia/media/msacm/gsm610/gsm610.h

117 lines
3.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//==========================================================================;
//
// 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 Microsoft Corporation
//
//--------------------------------------------------------------------------;
//
// gsm610.h
//
// Description:
// This file contains prototypes for the filtering routines, and
// some parameters used by the algorithm.
//
//
//==========================================================================;
#ifndef _INC_GSM610
#define _INC_GSM610 // #defined if gsm610.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 GSM610_MAX_CHANNELS 1
#define GSM610_BITS_PER_SAMPLE 0
#define GSM610_WFX_EXTRA_BYTES (2)
#define GSM610_SAMPLESPERFRAME 160
#define GSM610_NUMSUBFRAMES 4
#define GSM610_SAMPLESPERSUBFRAME 40
#define GSM610_FRAMESPERMONOBLOCK 2
#define GSM610_BITSPERFRAME 260
#define GSM610_BYTESPERMONOBLOCK (GSM610_FRAMESPERMONOBLOCK * GSM610_BITSPERFRAME / 8)
#define GSM610_SAMPLESPERMONOBLOCK (GSM610_FRAMESPERMONOBLOCK * GSM610_SAMPLESPERFRAME)
//
// these assume mono
//
#define GSM610_BLOCKALIGNMENT(pwf) (GSM610_BYTESPERMONOBLOCK)
#define GSM610_AVGBYTESPERSEC(pwf) (((LPGSM610WAVEFORMAT)pwf)->wfx.nSamplesPerSec * GSM610_BYTESPERMONOBLOCK / GSM610_SAMPLESPERMONOBLOCK)
#define GSM610_SAMPLESPERBLOCK(pwf) (GSM610_SAMPLESPERMONOBLOCK)
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
//
//
//
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
//
// function prototypes from GSM610.C
//
//
void FNGLOBAL gsm610Reset
(
PSTREAMINSTANCE psi
);
LRESULT FNGLOBAL gsm610Decode
(
LPACMDRVSTREAMINSTANCE padsi,
LPACMDRVSTREAMHEADER padsh
);
LRESULT FNGLOBAL gsm610Encode
(
LPACMDRVSTREAMINSTANCE padsi,
LPACMDRVSTREAMHEADER padsh
);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
//
//
//
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
#ifndef RC_INVOKED
#pragma pack() // revert to default packing
#endif
#ifdef __cplusplus
} // end of extern "C" {
#endif
#endif // _INC_GSM610