mirror of https://git.ffmpeg.org/ffmpeg.git
rename AC3_MAX_FRAME_SIZE to AC3_FRAME_BUFFER_SIZE and increase the size
Originally committed as revision 14858 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ba99cfc213
commit
8e33132bab
|
@ -37,8 +37,8 @@
|
||||||
#include "ac3dec.h"
|
#include "ac3dec.h"
|
||||||
#include "ac3dec_data.h"
|
#include "ac3dec_data.h"
|
||||||
|
|
||||||
/** Maximum possible frame size when the specification limit is ignored */
|
/** Large enough for maximum possible frame size when the specification limit is ignored */
|
||||||
#define AC3_MAX_FRAME_SIZE 21695
|
#define AC3_FRAME_BUFFER_SIZE 32768
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* table for ungrouping 3 values in 7 bits.
|
* 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 */
|
/* allocate context input buffer */
|
||||||
if (avctx->error_resilience >= FF_ER_CAREFUL) {
|
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)
|
if (!s->input_buffer)
|
||||||
return AVERROR_NOMEM;
|
return AVERROR_NOMEM;
|
||||||
}
|
}
|
||||||
|
@ -1042,7 +1042,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data, int *data_size,
|
||||||
if (s->input_buffer) {
|
if (s->input_buffer) {
|
||||||
/* copy input buffer to decoder context to avoid reading past the end
|
/* copy input buffer to decoder context to avoid reading past the end
|
||||||
of the buffer, which can be caused by a damaged input stream. */
|
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);
|
init_get_bits(&s->gbc, s->input_buffer, buf_size * 8);
|
||||||
} else {
|
} else {
|
||||||
init_get_bits(&s->gbc, buf, buf_size * 8);
|
init_get_bits(&s->gbc, buf, buf_size * 8);
|
||||||
|
|
Loading…
Reference in New Issue