bitstream.h 645 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include "c99defs.h"
  3. /*
  4. * General programmable serialization functions. (A shared interface to
  5. * various reading/writing to/from different inputs/outputs)
  6. */
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. struct bitstream_reader {
  11. uint8_t pos;
  12. uint8_t subPos;
  13. uint8_t *buf;
  14. size_t len;
  15. };
  16. EXPORT void bitstream_reader_init(struct bitstream_reader *r, uint8_t *data,
  17. size_t len);
  18. EXPORT uint8_t bitstream_reader_read_bits(struct bitstream_reader *r, int bits);
  19. EXPORT uint8_t bitstream_reader_r8(struct bitstream_reader *r);
  20. EXPORT uint16_t bitstream_reader_r16(struct bitstream_reader *r);
  21. #ifdef __cplusplus
  22. }
  23. #endif