summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2009-03-19 03:04:21 +0000
committerJustin Ruggles <justin.ruggles@gmail.com>2009-03-19 03:04:21 +0000
commit07d16e2ecfb7da976ef56829c4fd6f93ca94b00e (patch)
tree7405a89ceefe40f86faf665063d2b8f0a02f1145
parentbb504ac45ec5cf3cb114895cf721950b5fcda34c (diff)
share some constants between the FLAC encoder and FLAC decoder
Originally committed as revision 18041 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/flac.h3
-rw-r--r--libavcodec/flacdec.c11
-rw-r--r--libavcodec/flacenc.c11
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;