1
0
Fork 0
forked from len0rd/rockbox

Add codecs to librbcodec.

Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
This commit is contained in:
Sean Bartell 2011-06-25 21:32:25 -04:00 committed by Nils Wallménius
parent a0009907de
commit f40bfc9267
757 changed files with 122 additions and 122 deletions

View file

@ -0,0 +1,49 @@
#ifndef _FLAC_DECODER_H
#define _FLAC_DECODER_H
#include "bitstream.h"
#define MAX_CHANNELS 6 /* Maximum supported channels, only left/right will be played back */
#define MAX_BLOCKSIZE 4608 /* Maxsize in samples of one uncompressed frame */
#define MAX_FRAMESIZE 65536 /* Maxsize in bytes of one compressed frame */
#define FLAC_OUTPUT_DEPTH 29 /* Provide samples left-shifted to 28 bits+sign */
enum decorrelation_type {
INDEPENDENT,
LEFT_SIDE,
RIGHT_SIDE,
MID_SIDE,
};
typedef struct FLACContext {
GetBitContext gb;
int min_blocksize, max_blocksize;
int min_framesize, max_framesize;
int samplerate, channels;
int blocksize/*, last_blocksize*/;
int bps, curr_bps;
unsigned long samplenumber;
unsigned long totalsamples;
enum decorrelation_type decorrelation;
int filesize;
int length;
int bitrate;
int metadatalength;
int bitstream_size;
int bitstream_index;
int sample_skip;
int framesize;
int32_t *decoded[MAX_CHANNELS];
} FLACContext;
int flac_decode_frame(FLACContext *s,
uint8_t *buf, int buf_size,
void (*yield)(void)) ICODE_ATTR_FLAC;
#endif