FS#8961 - Anti-Aliased Fonts.
[kugel-rb/myfork.git] / apps / codecs / libffmpegFLAC / decoder.h
blob0b148df9164785511786c07efc605aa12cee7855
1 #ifndef _FLAC_DECODER_H
2 #define _FLAC_DECODER_H
4 #include "bitstream.h"
6 #define MAX_CHANNELS 2 /* Maximum supported channels */
7 #define MAX_BLOCKSIZE 4608 /* Maxsize in samples of one uncompressed frame */
8 #define MAX_FRAMESIZE 32768 /* Maxsize in bytes of one compressed frame */
10 #define FLAC_OUTPUT_DEPTH 29 /* Provide samples left-shifted to 28 bits+sign */
12 enum decorrelation_type {
13 INDEPENDENT,
14 LEFT_SIDE,
15 RIGHT_SIDE,
16 MID_SIDE,
19 typedef struct FLACContext {
20 GetBitContext gb;
22 int min_blocksize, max_blocksize;
23 int min_framesize, max_framesize;
24 int samplerate, channels;
25 int blocksize/*, last_blocksize*/;
26 int bps, curr_bps;
27 unsigned long samplenumber;
28 unsigned long totalsamples;
29 enum decorrelation_type decorrelation;
31 int filesize;
32 int length;
33 int bitrate;
34 int metadatalength;
36 int bitstream_size;
37 int bitstream_index;
39 int sample_skip;
40 int framesize;
41 } FLACContext;
43 int flac_decode_frame(FLACContext *s,
44 int32_t* decoded0,
45 int32_t* decoded1,
46 uint8_t *buf, int buf_size,
47 void (*yield)(void)) ICODE_ATTR_FLAC;
49 #endif