diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-03-24 21:27:05 +0100 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-04-05 18:21:51 +0200 |
commit | 6e075dcaf85d9cd32fffe160d3090af47982cf93 (patch) | |
tree | dda98b62c65103aa3a8508b43c967e988256d11f /libavcodec/ac3dec.h | |
parent | 6f73d5e859f02be7f3677b58be5d7fa741c54a16 (diff) | |
download | ffmpeg-6e075dcaf85d9cd32fffe160d3090af47982cf93.tar.gz |
ac3dec: avoid pointless alloc and indirection for input_buffer
Since we now always allocate it, it can simply be made part of the context
instead.
Diffstat (limited to 'libavcodec/ac3dec.h')
-rw-r--r-- | libavcodec/ac3dec.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h index 3e0afcded0..91008e5c8f 100644 --- a/libavcodec/ac3dec.h +++ b/libavcodec/ac3dec.h @@ -67,10 +67,12 @@ #define SPX_MAX_BANDS 17 +/** Large enough for maximum possible frame size when the specification limit is ignored */ +#define AC3_FRAME_BUFFER_SIZE 32768 + typedef struct { AVCodecContext *avctx; ///< parent context GetBitContext gbc; ///< bitstream reader - uint8_t *input_buffer; ///< temp buffer to prevent overread ///@defgroup bsi bit stream information ///@{ @@ -205,6 +207,7 @@ typedef struct { DECLARE_ALIGNED(16, float, window)[AC3_BLOCK_SIZE]; ///< window coefficients DECLARE_ALIGNED(16, float, tmp_output)[AC3_BLOCK_SIZE]; ///< temporary storage for output before windowing DECLARE_ALIGNED(16, float, output)[AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]; ///< output after imdct transform and windowing + DECLARE_ALIGNED(16, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE]; ///< temp buffer to prevent overread ///@} } AC3DecodeContext; |