lsp_avg.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. ********************************************************************************
  3. *
  4. * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001
  5. * R99 Version 3.3.0
  6. * REL-4 Version 4.1.0
  7. *
  8. ********************************************************************************
  9. *
  10. * File : lsp_avg.h
  11. * Purpose: : LSP averaging and history
  12. * The LSPs are averaged over 8 frames
  13. *
  14. ********************************************************************************
  15. */
  16. #ifndef lsp_avg_h
  17. #define lsp_avg_h "$Id $"
  18. /*
  19. ********************************************************************************
  20. * INCLUDE FILES
  21. ********************************************************************************
  22. */
  23. #include "typedef.h"
  24. #include "cnst.h"
  25. /*
  26. ********************************************************************************
  27. * LOCAL VARIABLES AND TABLES
  28. ********************************************************************************
  29. */
  30. #define EXPCONST 5243 /* 0.16 in Q15 */
  31. /*
  32. ********************************************************************************
  33. * DEFINITION OF DATA TYPES
  34. ********************************************************************************
  35. */
  36. typedef struct {
  37. Word16 lsp_meanSave[M]; /* Averaged LSPs saved for efficiency */
  38. } lsp_avgState;
  39. /*
  40. ********************************************************************************
  41. * DECLARATION OF PROTOTYPES
  42. ********************************************************************************
  43. */
  44. /*
  45. **************************************************************************
  46. *
  47. * Function : lsp_avg_init
  48. * Purpose : Allocates memory and initializes state variables
  49. *
  50. **************************************************************************
  51. */
  52. int lsp_avg_init (
  53. lsp_avgState **state
  54. );
  55. /*
  56. **************************************************************************
  57. *
  58. * Function : lsp_history_reset
  59. * Purpose : Resets state memory
  60. *
  61. **************************************************************************
  62. */
  63. int lsp_avg_reset (
  64. lsp_avgState *state
  65. );
  66. /*
  67. **************************************************************************
  68. *
  69. * Function : lsp_avg_exit
  70. * Purpose : The memory used for state memory is freed
  71. *
  72. **************************************************************************
  73. */
  74. void lsp_avg_exit (
  75. lsp_avgState **state
  76. );
  77. /*
  78. **************************************************************************
  79. *
  80. * Function : lsp_avg
  81. * Purpose : Calculate the LSP averages
  82. *
  83. **************************************************************************
  84. */
  85. void lsp_avg (
  86. lsp_avgState *st, /* i/o : State struct Q15 */
  87. Word16 *lsp /* i : LSP vector Q15 */
  88. );
  89. #endif