summaryrefslogtreecommitdiff
path: root/apps/codecs/libffmpegFLAC/decoder.h
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-12-10 22:28:16 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-12-10 22:28:16 +0000
commita6653a9bb6c35e01dc44365b51f816198656acf7 (patch)
tree4a271828aa91694403a4e3688b9106b062084dcd /apps/codecs/libffmpegFLAC/decoder.h
parent09722dd28db02bf7cb34d1a7d42729ce66ebe302 (diff)
downloadrockbox-a6653a9bb6c35e01dc44365b51f816198656acf7.zip
rockbox-a6653a9bb6c35e01dc44365b51f816198656acf7.tar.gz
rockbox-a6653a9bb6c35e01dc44365b51f816198656acf7.tar.bz2
rockbox-a6653a9bb6c35e01dc44365b51f816198656acf7.tar.xz
Fix decoding of multichannel flac, refactor sample buffer handling and decorrelation (taken from ffmpeg sources) and add some flac details to the manual. Solves FS#12371.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31207 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libffmpegFLAC/decoder.h')
-rw-r--r--apps/codecs/libffmpegFLAC/decoder.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/codecs/libffmpegFLAC/decoder.h b/apps/codecs/libffmpegFLAC/decoder.h
index 0b148df..677a21a 100644
--- a/apps/codecs/libffmpegFLAC/decoder.h
+++ b/apps/codecs/libffmpegFLAC/decoder.h
@@ -3,9 +3,9 @@
#include "bitstream.h"
-#define MAX_CHANNELS 2 /* Maximum supported channels */
+#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 32768 /* Maxsize in bytes of one compressed 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 */
@@ -38,11 +38,11 @@ typedef struct FLACContext {
int sample_skip;
int framesize;
+
+ int32_t *decoded[MAX_CHANNELS];
} FLACContext;
int flac_decode_frame(FLACContext *s,
- int32_t* decoded0,
- int32_t* decoded1,
uint8_t *buf, int buf_size,
void (*yield)(void)) ICODE_ATTR_FLAC;