diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2009-03-19 03:04:21 +0000 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2009-03-19 03:04:21 +0000 |
commit | 07d16e2ecfb7da976ef56829c4fd6f93ca94b00e (patch) | |
tree | 7405a89ceefe40f86faf665063d2b8f0a02f1145 /libavcodec | |
parent | bb504ac45ec5cf3cb114895cf721950b5fcda34c (diff) | |
download | ffmpeg-07d16e2ecfb7da976ef56829c4fd6f93ca94b00e.tar.gz |
share some constants between the FLAC encoder and FLAC decoder
Originally committed as revision 18041 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/flac.h | 3 | ||||
-rw-r--r-- | libavcodec/flacdec.c | 11 | ||||
-rw-r--r-- | libavcodec/flacenc.c | 11 |
3 files changed, 10 insertions, 15 deletions
diff --git a/libavcodec/flac.h b/libavcodec/flac.h index c93d98e144..c957893d30 100644 --- a/libavcodec/flac.h +++ b/libavcodec/flac.h @@ -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 --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c index cd746f224d..7f2542a301 100644 --- a/libavcodec/flacdec.c +++ b/libavcodec/flacdec.c @@ -46,9 +46,6 @@ #undef NDEBUG #include <assert.h> -#define MAX_CHANNELS 8 -#define MAX_BLOCKSIZE 65535 - enum decorrelation_type { INDEPENDENT, LEFT_SIDE, @@ -69,7 +66,7 @@ typedef struct FLACContext { 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 @@ void ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, 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 @@ static int decode_frame(FLACContext *s, int alloc_data_size) 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 --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c index 748906ea72..7ddaf7ed81 100644 --- a/libavcodec/flacenc.c +++ b/libavcodec/flacenc.c @@ -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 @@ typedef struct FlacSubframe { } 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 @@ static av_cold int flac_encode_init(AVCodecContext *avctx) return -1; } - if(channels < 1 || channels > FLAC_MAX_CH) { + if(channels < 1 || channels > FLAC_MAX_CHANNELS) { return -1; } s->channels = channels; |