changeset 9188:f534d0cca450 libavcodec

share some constants between the FLAC encoder and FLAC decoder
author jbr
date Thu, 19 Mar 2009 03:04:21 +0000
parents e10efe27c6b1
children 6d7c38f60b06
files flac.h flacdec.c flacenc.c
diffstat 3 files changed, 10 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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,
--- 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 <assert.h>
 
-#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",
--- 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;