[FFmpeg-cvslog] r18041 - in trunk/libavcodec: flac.h flacdec.c flacenc.c

jbr subversion
Thu Mar 19 04:04:21 CET 2009


Author: jbr
Date: Thu Mar 19 04:04:21 2009
New Revision: 18041

Log:
share some constants between the FLAC encoder and FLAC decoder

Modified:
   trunk/libavcodec/flac.h
   trunk/libavcodec/flacdec.c
   trunk/libavcodec/flacenc.c

Modified: trunk/libavcodec/flac.h
==============================================================================
--- trunk/libavcodec/flac.h	Thu Mar 19 02:10:30 2009	(r18040)
+++ trunk/libavcodec/flac.h	Thu Mar 19 04:04:21 2009	(r18041)
@@ -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,

Modified: trunk/libavcodec/flacdec.c
==============================================================================
--- trunk/libavcodec/flacdec.c	Thu Mar 19 02:10:30 2009	(r18040)
+++ trunk/libavcodec/flacdec.c	Thu Mar 19 04:04:21 2009	(r18041)
@@ -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(AVCodecCon
 
     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, 
     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",

Modified: trunk/libavcodec/flacenc.c
==============================================================================
--- trunk/libavcodec/flacenc.c	Thu Mar 19 02:10:30 2009	(r18040)
+++ trunk/libavcodec/flacenc.c	Thu Mar 19 04:04:21 2009	(r18041)
@@ -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(AVCo
         return -1;
     }
 
-    if(channels < 1 || channels > FLAC_MAX_CH) {
+    if(channels < 1 || channels > FLAC_MAX_CHANNELS) {
         return -1;
     }
     s->channels = channels;




More information about the ffmpeg-cvslog mailing list