37 lines
848 B
C
37 lines
848 B
C
|
#include "bitstream.h"
|
||
|
|
||
|
#define SHN_OUTPUT_DEPTH 28
|
||
|
#define DEFAULT_BLOCK_SIZE 256
|
||
|
#define MAX_FRAMESIZE 1024
|
||
|
#define MAX_CHANNELS 2
|
||
|
#define MAX_NWRAP 3
|
||
|
#define MAX_NMEAN 4
|
||
|
|
||
|
typedef struct ShortenContext {
|
||
|
GetBitContext gb;
|
||
|
int32_t lpcqoffset;
|
||
|
uint32_t totalsamples;
|
||
|
int header_bits;
|
||
|
int channels;
|
||
|
int sample_rate;
|
||
|
int bits_per_sample;
|
||
|
int version;
|
||
|
int bitshift;
|
||
|
int nmean;
|
||
|
int nwrap;
|
||
|
int blocksize;
|
||
|
int bitindex;
|
||
|
/* Not needed...
|
||
|
int bit_rate;
|
||
|
int block_align;
|
||
|
int chunk_size;
|
||
|
*/
|
||
|
} ShortenContext;
|
||
|
|
||
|
int shorten_init(ShortenContext* s, uint8_t *buf, int buf_size);
|
||
|
int shorten_decode_frame(ShortenContext *s,
|
||
|
int32_t *decoded,
|
||
|
int32_t *offset,
|
||
|
uint8_t *buf,
|
||
|
int buf_size) ICODE_ATTR;
|