interf_enc.h
上传用户:mony888
上传日期:2022-07-26
资源大小:1247k
文件大小:3k
源码类别:

Windows CE

开发平台:

Visual C++

  1. /*************************************************************************/
  2. /*                                                                       */
  3. /* Copyright (c) 2000-2004 Linuos Design                                 */
  4. /*                                     领驰设计中心  版权所有 2000-2004  */
  5. /*                                                                       */
  6. /* PROPRIETARY RIGHTS of Linuos Design  are involved in the subject      */
  7. /* matter of this material.  All manufacturing, reproduction, use, and   */
  8. /* sales rights pertaining to this subject matter are governed by the    */
  9. /* license agreement.  The recipient of this software implicitly accepts */ 
  10. /* the terms of the license.                                             */
  11. /* 本软件文档资料是领驰设计中心的资产,任何人士阅读和使用本资料必须获得   */
  12. /* 相应的书面授权,承担保密责任和接受相应的法律约束.                      */
  13. /*                                                                       */
  14. /*************************************************************************/
  15. /*
  16. * ===================================================================
  17. *  TS 26.104
  18. *  REL-5 V5.4.0 2004-03
  19. *  REL-6 V6.1.0 2004-03
  20. *  3GPP AMR Floating-point Speech Codec
  21. * ===================================================================
  22. *
  23. */
  24. /*
  25. * interf_enc.h
  26. *
  27. *
  28. * Project:
  29. *    AMR Floating-Point Codec
  30. *
  31. * Contains:
  32. *    Defines interface to AMR encoder
  33. *
  34. */
  35. #ifndef _interf_enc_h_
  36. #define _interf_enc_h_
  37. /*
  38. * include files
  39. */
  40. #include <windows.h>
  41. #define AMR_MAGIC_NUMBER "#!AMRn"
  42. /*
  43. * Declare structure types
  44. */
  45. /* Declaration transmitted frame types */
  46. enum TXFrameType { TX_SPEECH_GOOD = 0,
  47. TX_SID_FIRST,
  48. TX_SID_UPDATE,
  49. TX_NO_DATA,
  50. TX_SPEECH_DEGRADED,
  51. TX_SPEECH_BAD,
  52. TX_SID_BAD,
  53. TX_ONSET,
  54. TX_N_FRAMETYPES     /* number of frame types */
  55. };
  56. /* Declaration of interface structure */
  57. typedef struct
  58. {
  59. INT16 sid_update_counter;   /* Number of frames since last SID */
  60. INT16 sid_handover_debt;   /* Number of extra SID_UPD frames to schedule */
  61. INT16 dtx;
  62. enum TXFrameType prev_ft;   /* Type of the previous frame */
  63. void *encoderState;   /* Points encoder state structure */
  64. } AMR_Encode_State;
  65. /*
  66. * Function prototypes
  67. */
  68. /*
  69. * Encodes one frame of speech
  70. * Returns packed octets
  71. */
  72. INT32 Encoder_Interface_Encode( void *st, enum Mode mode, INT16 *speech,UINT8 *serial, INT32 forceSpeech );
  73. /*
  74.   #ifndef ETSI
  75.   UINT8 *serial,  / * max size 31 bytes * /
  76.   
  77. #else
  78. INT16 *serial, / * size 500 bytes * /
  79. #endif
  80.       INT16 forceSpeech );   / * use speech mode * /
  81. */
  82. /*
  83. * Reserve and init. memory
  84. */
  85. void *Encoder_Interface_init( INT32 dtx );
  86. /*
  87. * Exit and mcFree memory
  88. */
  89. void Encoder_Interface_exit( void *state );
  90. #endif