Tasmota/lib/lib_audio/mp3_shine_esp32/src/bitstream.h
2024-04-17 11:28:17 +02:00

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