aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ac3enc.h
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-06-10 12:42:36 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-06-13 16:49:35 -0400
commite754dfc0bba4f81fe797f240fca94fea5dfd925e (patch)
treea610aa37e26a60e164d0ae4a1c12552c3df12754 /libavcodec/ac3enc.h
parent36151b3e3112cd7d8ae0e02e850dee16bd966696 (diff)
downloadffmpeg-e754dfc0bba4f81fe797f240fca94fea5dfd925e.tar.gz
ac3enc: dynamically allocate AC3EncodeContext fields windowed_samples and mdct
This will allow the same struct to be used for both the fixed and float ac3 encoders.
Diffstat (limited to 'libavcodec/ac3enc.h')
-rw-r--r--libavcodec/ac3enc.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h
index 34ca2e449f..ccdb963a7c 100644
--- a/libavcodec/ac3enc.h
+++ b/libavcodec/ac3enc.h
@@ -128,7 +128,7 @@ typedef struct AC3EncodeContext {
PutBitContext pb; ///< bitstream writer context
DSPContext dsp;
AC3DSPContext ac3dsp; ///< AC-3 optimized functions
- AC3MDCTContext mdct; ///< MDCT context
+ AC3MDCTContext *mdct; ///< MDCT context
AC3Block blocks[AC3_MAX_BLOCKS]; ///< per-block info
@@ -189,6 +189,7 @@ typedef struct AC3EncodeContext {
int frame_bits; ///< all frame bits except exponents and mantissas
int exponent_bits; ///< number of bits used for exponents
+ SampleType *windowed_samples;
SampleType **planar_samples;
uint8_t *bap_buffer;
uint8_t *bap1_buffer;
@@ -208,8 +209,6 @@ typedef struct AC3EncodeContext {
uint8_t *ref_bap [AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< bit allocation pointers (bap)
int ref_bap_set; ///< indicates if ref_bap pointers have been set
- DECLARE_ALIGNED(32, SampleType, windowed_samples)[AC3_WINDOW_SIZE];
-
void (*output_frame_header)(struct AC3EncodeContext *s);
} AC3EncodeContext;