29 lines
1020 B
C
Executable File
29 lines
1020 B
C
Executable File
#ifndef BITSTREAM_H
|
|
#define BITSTREAM_H
|
|
|
|
typedef struct bit_stream_struc {
|
|
unsigned char *data; /* Processed data */
|
|
int data_size; /* Total data size */
|
|
int data_position; /* Data position */
|
|
unsigned int cache; /* bit stream cache */
|
|
int cache_bits; /* free bits in cache */
|
|
} bitstream_t;
|
|
|
|
/* "bit_stream.h" Definitions */
|
|
|
|
#define MINIMUM 4 /* Minimum size of the buffer in bytes */
|
|
#define MAX_LENGTH 32 /* Maximum length of word written or
|
|
read from bit stream */
|
|
|
|
#define BUFFER_SIZE 4096
|
|
|
|
//#define MIN(A, B) ((A) < (B) ? (A) : (B))
|
|
//#define MAX(A, B) ((A) > (B) ? (A) : (B))
|
|
|
|
void shine_open_bit_stream(bitstream_t *bs,const int size);
|
|
void shine_close_bit_stream(bitstream_t *bs);
|
|
void shine_putbits(bitstream_t *bs,unsigned int val, unsigned int N);
|
|
int shine_get_bits_count(bitstream_t *bs);
|
|
|
|
#endif
|