bitstream.h 639 B

12345678910111213141516171819202122232425262728
  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, size_t len);
  17. EXPORT uint8_t bitstream_reader_read_bits(struct bitstream_reader *r, int bits);
  18. EXPORT uint8_t bitstream_reader_r8(struct bitstream_reader *r);
  19. EXPORT uint16_t bitstream_reader_r16(struct bitstream_reader *r);
  20. #ifdef __cplusplus
  21. }
  22. #endif