Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.1 KiB

  1. //==========================================================================;
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) 1993-1994 Microsoft Corporation
  9. //
  10. //--------------------------------------------------------------------------;
  11. //
  12. // gsm610.h
  13. //
  14. // Description:
  15. // This file contains prototypes for the filtering routines, and
  16. // some parameters used by the algorithm.
  17. //
  18. //
  19. //==========================================================================;
  20. #ifndef _INC_GSM610
  21. #define _INC_GSM610 // #defined if gsm610.h has been included
  22. #ifndef RC_INVOKED
  23. #pragma pack(1) // assume byte packing throughout
  24. #endif
  25. #ifndef EXTERN_C
  26. #ifdef __cplusplus
  27. #define EXTERN_C extern "C"
  28. #else
  29. #define EXTERN_C extern
  30. #endif
  31. #endif
  32. #ifdef __cplusplus
  33. extern "C" // assume C declarations for C++
  34. {
  35. #endif
  36. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  37. //
  38. //
  39. //
  40. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  41. //
  42. // The following constants are defined in order to make portions
  43. // of the program more readable. In general, these constants
  44. // cannot be changed without requiring changes in related program code.
  45. //
  46. #define GSM610_MAX_CHANNELS 1
  47. #define GSM610_BITS_PER_SAMPLE 0
  48. #define GSM610_WFX_EXTRA_BYTES (2)
  49. #define GSM610_SAMPLESPERFRAME 160
  50. #define GSM610_NUMSUBFRAMES 4
  51. #define GSM610_SAMPLESPERSUBFRAME 40
  52. #define GSM610_FRAMESPERMONOBLOCK 2
  53. #define GSM610_BITSPERFRAME 260
  54. #define GSM610_BYTESPERMONOBLOCK (GSM610_FRAMESPERMONOBLOCK * GSM610_BITSPERFRAME / 8)
  55. #define GSM610_SAMPLESPERMONOBLOCK (GSM610_FRAMESPERMONOBLOCK * GSM610_SAMPLESPERFRAME)
  56. //
  57. // these assume mono
  58. //
  59. #define GSM610_BLOCKALIGNMENT(pwf) (GSM610_BYTESPERMONOBLOCK)
  60. #define GSM610_AVGBYTESPERSEC(pwf) (((LPGSM610WAVEFORMAT)pwf)->wfx.nSamplesPerSec * GSM610_BYTESPERMONOBLOCK / GSM610_SAMPLESPERMONOBLOCK)
  61. #define GSM610_SAMPLESPERBLOCK(pwf) (GSM610_SAMPLESPERMONOBLOCK)
  62. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  63. //
  64. //
  65. //
  66. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  67. //
  68. // function prototypes from GSM610.C
  69. //
  70. //
  71. void FNGLOBAL gsm610Reset
  72. (
  73. PSTREAMINSTANCE psi
  74. );
  75. LRESULT FNGLOBAL gsm610Decode
  76. (
  77. LPACMDRVSTREAMINSTANCE padsi,
  78. LPACMDRVSTREAMHEADER padsh
  79. );
  80. LRESULT FNGLOBAL gsm610Encode
  81. (
  82. LPACMDRVSTREAMINSTANCE padsi,
  83. LPACMDRVSTREAMHEADER padsh
  84. );
  85. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  86. //
  87. //
  88. //
  89. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
  90. #ifndef RC_INVOKED
  91. #pragma pack() // revert to default packing
  92. #endif
  93. #ifdef __cplusplus
  94. } // end of extern "C" {
  95. #endif
  96. #endif // _INC_GSM610