]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
rename AC3_MAX_FRAME_SIZE to AC3_FRAME_BUFFER_SIZE and increase the size
authorjbr <jbr@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 20 Aug 2008 00:08:59 +0000 (00:08 +0000)
committerjbr <jbr@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 20 Aug 2008 00:08:59 +0000 (00:08 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@14858 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/ac3dec.c

index a16a60c214f77c409e27993e6e5fb9bac00b5551..4760197b29fd16e6324a820ad3ee05f75c07acfe 100644 (file)
@@ -37,8 +37,8 @@
 #include "ac3dec.h"
 #include "ac3dec_data.h"
 
-/** Maximum possible frame size when the specification limit is ignored */
-#define AC3_MAX_FRAME_SIZE 21695
+/** Large enough for maximum possible frame size when the specification limit is ignored */
+#define AC3_FRAME_BUFFER_SIZE 32768
 
 /**
  * table for ungrouping 3 values in 7 bits.
@@ -215,7 +215,7 @@ static av_cold int ac3_decode_init(AVCodecContext *avctx)
 
     /* allocate context input buffer */
     if (avctx->error_resilience >= FF_ER_CAREFUL) {
-        s->input_buffer = av_mallocz(AC3_MAX_FRAME_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
+        s->input_buffer = av_mallocz(AC3_FRAME_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
         if (!s->input_buffer)
             return AVERROR_NOMEM;
     }
@@ -1042,7 +1042,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data, int *data_size,
     if (s->input_buffer) {
         /* copy input buffer to decoder context to avoid reading past the end
            of the buffer, which can be caused by a damaged input stream. */
-        memcpy(s->input_buffer, buf, FFMIN(buf_size, AC3_MAX_FRAME_SIZE));
+        memcpy(s->input_buffer, buf, FFMIN(buf_size, AC3_FRAME_BUFFER_SIZE));
         init_get_bits(&s->gbc, s->input_buffer, buf_size * 8);
     } else {
         init_get_bits(&s->gbc, buf, buf_size * 8);