You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							611 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							611 B
						
					
					
				#ifndef bitstream_H
 | 
						|
#define bitstream_H
 | 
						|
 | 
						|
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdint.h>
 | 
						|
 | 
						|
struct bitstream {
 | 
						|
  const uint8_t *buffer_ptr;
 | 
						|
  const uint8_t *buffer_end;
 | 
						|
  uint64_t value;
 | 
						|
  uint32_t pos;
 | 
						|
  uint32_t shift;
 | 
						|
  size_t size;
 | 
						|
};
 | 
						|
 | 
						|
void bs_init(struct bitstream *bs, const uint8_t *buffer, size_t input_size);
 | 
						|
void bs_seek(struct bitstream *bs, size_t new_pos);
 | 
						|
uint32_t bs_get(struct bitstream *bs, int n);
 | 
						|
uint32_t bs_peek(struct bitstream *bs, int n);
 | 
						|
size_t bs_remain(struct bitstream *bs);
 | 
						|
int bs_eof(struct bitstream *bs);
 | 
						|
uint32_t bs_ue(struct bitstream *bs);
 | 
						|
int32_t bs_se(struct bitstream *bs);
 | 
						|
 | 
						|
#endif
 | 
						|
 |