pack.c
上传用户:tsjrly
上传日期:2021-02-19
资源大小:107k
文件大小:1k
源码类别:

语音压缩

开发平台:

C/C++

  1. /**************************************************************************
  2. *
  3. * ROUTINE
  4. * pack (pack tau into binaru bit stream)
  5. *
  6. * FUNCTION
  7. * Input decimal value and number of binary bits, 
  8. * program returns binary value packed in array.
  9. *
  10. * SYNOPSIS
  11. * subroutine pack(value, bits, array, pointer)
  12. *
  13. *   formal 
  14. *
  15. *                       data    I/O
  16. *       name            type    type    function
  17. *       -------------------------------------------------------------------
  18. * value int i decimal value
  19. * bits int i number of bits to convert to
  20. * (ie. 01001 for 5 bits, 1st 0 incl.)
  21. * array short o array to which one bit is assigned
  22. * for binary representation
  23. * pointer int * i/o points to appropriate element in
  24. * array
  25. *
  26. ***************************************************************************
  27. *
  28. * DESCRIPTION
  29. *
  30. * This program packs a decimal value into a binary value
  31. * to be decoded by unpack.c in CELP synthesizer sections.
  32. *
  33. ***************************************************************************
  34. *
  35. * CALLED BY
  36. *
  37. * celp
  38. *
  39. * CALLS
  40. *
  41. *
  42. *
  43. **************************************************************************/
  44. pack(value, bits, array, pointer)
  45. int value, bits, *pointer;
  46. short array[];
  47. {
  48.   int i;
  49.   for (i = 0; i < bits; (*pointer)++, i++)
  50.     array[*pointer] = (value & 1 << i) >> i;
  51. }