# HG changeset patch # User jbr # Date 1237431861 0 # Node ID f534d0cca4501554f39605d7606704e1346fb064 # Parent e10efe27c6b1fdaf70b4d8b2ace474466e9d3583 share some constants between the FLAC encoder and FLAC decoder diff -r e10efe27c6b1 -r f534d0cca450 flac.h --- a/flac.h Wed Mar 18 20:10:09 2009 +0000 +++ b/flac.h Thu Mar 19 03:04:21 2009 +0000 @@ -30,6 +30,9 @@ #include "avcodec.h" #define FLAC_STREAMINFO_SIZE 34 +#define FLAC_MAX_CHANNELS 8 +#define FLAC_MIN_BLOCKSIZE 16 +#define FLAC_MAX_BLOCKSIZE 65535 enum { FLAC_METADATA_TYPE_STREAMINFO = 0, diff -r e10efe27c6b1 -r f534d0cca450 flacdec.c --- a/flacdec.c Wed Mar 18 20:10:09 2009 +0000 +++ b/flacdec.c Thu Mar 19 03:04:21 2009 +0000 @@ -46,9 +46,6 @@ #undef NDEBUG #include -#define MAX_CHANNELS 8 -#define MAX_BLOCKSIZE 65535 - enum decorrelation_type { INDEPENDENT, LEFT_SIDE, @@ -69,7 +66,7 @@ enum decorrelation_type decorrelation; ///< channel decorrelation type in the current frame int got_streaminfo; ///< indicates if the STREAMINFO has been read - int32_t *decoded[MAX_CHANNELS]; ///< decoded samples + int32_t *decoded[FLAC_MAX_CHANNELS]; ///< decoded samples uint8_t *bitstream; unsigned int bitstream_size; unsigned int bitstream_index; @@ -190,7 +187,7 @@ skip_bits(&gb, 16); /* skip min blocksize */ s->max_blocksize = get_bits(&gb, 16); - if (s->max_blocksize < 16) { + if (s->max_blocksize < FLAC_MIN_BLOCKSIZE) { av_log(avctx, AV_LOG_WARNING, "invalid max blocksize: %d\n", s->max_blocksize); s->max_blocksize = 16; @@ -510,9 +507,9 @@ sample_rate_code = get_bits(&s->gb, 4); assignment = get_bits(&s->gb, 4); /* channel assignment */ - if (assignment < 8 && s->channels == assignment+1) + if (assignment < FLAC_MAX_CHANNELS && s->channels == assignment+1) decorrelation = INDEPENDENT; - else if (assignment >=8 && assignment < 11 && s->channels == 2) + else if (assignment >= FLAC_MAX_CHANNELS && assignment < 11 && s->channels == 2) decorrelation = LEFT_SIDE + assignment - 8; else { av_log(s->avctx, AV_LOG_ERROR, "unsupported channel assignment %d (channels=%d)\n", diff -r e10efe27c6b1 -r f534d0cca450 flacenc.c --- a/flacenc.c Wed Mar 18 20:10:09 2009 +0000 +++ b/flacenc.c Thu Mar 19 03:04:21 2009 +0000 @@ -27,10 +27,7 @@ #include "dsputil.h" #include "golomb.h" #include "lpc.h" - -#define FLAC_MAX_CH 8 -#define FLAC_MIN_BLOCKSIZE 16 -#define FLAC_MAX_BLOCKSIZE 65535 +#include "flac.h" #define FLAC_SUBFRAME_CONSTANT 0 #define FLAC_SUBFRAME_VERBATIM 1 @@ -43,8 +40,6 @@ #define FLAC_CHMODE_RIGHT_SIDE 9 #define FLAC_CHMODE_MID_SIDE 10 -#define FLAC_STREAMINFO_SIZE 34 - #define MAX_FIXED_ORDER 4 #define MAX_PARTITION_ORDER 8 #define MAX_PARTITIONS (1 << MAX_PARTITION_ORDER) @@ -82,7 +77,7 @@ } FlacSubframe; typedef struct FlacFrame { - FlacSubframe subframes[FLAC_MAX_CH]; + FlacSubframe subframes[FLAC_MAX_CHANNELS]; int blocksize; int bs_code[2]; uint8_t crc8; @@ -185,7 +180,7 @@ return -1; } - if(channels < 1 || channels > FLAC_MAX_CH) { + if(channels < 1 || channels > FLAC_MAX_CHANNELS) { return -1; } s->channels = channels;