bitstream_test.c
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:1k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /* 
  2.  *  bitstream_test.c
  3.  *
  4.  * Aaron Holtzman - May 1999
  5.  *
  6.  */
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include "ac3.h"
  10. #include "bitstream.h"
  11. void print_bits(unsigned long data,unsigned long num_bits);
  12. void print_bits(unsigned long data,unsigned long num_bits)
  13. {
  14. long i;
  15. for (i=num_bits-1; i >= 0; i--)
  16. {
  17. printf("%1d",data & (1 << i) ? 1 : 0);
  18. }
  19. }
  20. #define BIT_SIZE (10 * 128)
  21. int main(void)
  22. {
  23. bitstream_t *bs;
  24. unsigned long num_bits = 0;
  25. unsigned long data;
  26. long i = 0;
  27. FILE *f;
  28. f = fopen("bitstream_test.dat","r");
  29. bs = bitstream_open(f);
  30. while (i < BIT_SIZE)
  31. {
  32. if(abs(i - BIT_SIZE) < 32)
  33. num_bits = abs(i - (BIT_SIZE));
  34. else
  35. num_bits = rand() % 32;
  36. data = bitstream_get(bs,num_bits);
  37. print_bits(data,num_bits);
  38. i += num_bits;
  39. }
  40. return 0;
  41. }