You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
avcodec/ac3dec: move some fields up in AC3DecodeContext
Needed for the following commit. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@ -75,6 +75,28 @@ typedef struct AC3DecodeContext {
|
||||
AVCodecContext *avctx; ///< parent context
|
||||
GetBitContext gbc; ///< bitstream reader
|
||||
|
||||
///@name Optimization
|
||||
BswapDSPContext bdsp;
|
||||
#if USE_FIXED
|
||||
AVFixedDSPContext *fdsp;
|
||||
#else
|
||||
AVFloatDSPContext *fdsp;
|
||||
#endif
|
||||
AC3DSPContext ac3dsp;
|
||||
FmtConvertContext fmt_conv; ///< optimized conversion functions
|
||||
///@}
|
||||
|
||||
AVTXContext *tx_128, *tx_256;
|
||||
av_tx_fn tx_fn_128, tx_fn_256;
|
||||
|
||||
INTFLOAT *xcfptr[AC3_MAX_CHANNELS];
|
||||
INTFLOAT *dlyptr[AC3_MAX_CHANNELS];
|
||||
|
||||
AVChannelLayout downmix_layout;
|
||||
SHORTFLOAT *downmix_coeffs[2]; ///< stereo downmix coefficients
|
||||
|
||||
// Start of flushable fields.
|
||||
|
||||
///@name Bit stream information
|
||||
///@{
|
||||
int frame_type; ///< frame type (strmtyp)
|
||||
@ -164,7 +186,6 @@ typedef struct AC3DecodeContext {
|
||||
int fbw_channels; ///< number of full-bandwidth channels
|
||||
int channels; ///< number of total channels
|
||||
int lfe_ch; ///< index of LFE channel
|
||||
SHORTFLOAT *downmix_coeffs[2]; ///< stereo downmix coefficients
|
||||
int downmixed; ///< indicates if coeffs are currently downmixed
|
||||
int output_mode; ///< output channel configuration
|
||||
int prev_output_mode; ///< output channel configuration for previous frame
|
||||
@ -222,24 +243,9 @@ typedef struct AC3DecodeContext {
|
||||
|
||||
///@name IMDCT
|
||||
int block_switch[AC3_MAX_CHANNELS]; ///< block switch flags (blksw)
|
||||
AVTXContext *tx_128, *tx_256;
|
||||
av_tx_fn tx_fn_128, tx_fn_256;
|
||||
///@}
|
||||
|
||||
///@name Optimization
|
||||
BswapDSPContext bdsp;
|
||||
#if USE_FIXED
|
||||
AVFixedDSPContext *fdsp;
|
||||
#else
|
||||
AVFloatDSPContext *fdsp;
|
||||
#endif
|
||||
AC3DSPContext ac3dsp;
|
||||
FmtConvertContext fmt_conv; ///< optimized conversion functions
|
||||
///@}
|
||||
|
||||
SHORTFLOAT *outptr[AC3_MAX_CHANNELS];
|
||||
INTFLOAT *xcfptr[AC3_MAX_CHANNELS];
|
||||
INTFLOAT *dlyptr[AC3_MAX_CHANNELS];
|
||||
|
||||
///@name Aligned arrays
|
||||
DECLARE_ALIGNED(16, int, fixed_coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< fixed-point transform coefficients
|
||||
@ -251,8 +257,6 @@ typedef struct AC3DecodeContext {
|
||||
DECLARE_ALIGNED(32, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; ///< temp buffer to prevent overread
|
||||
DECLARE_ALIGNED(32, SHORTFLOAT, output_buffer)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE * 6]; ///< final output buffer
|
||||
///@}
|
||||
|
||||
AVChannelLayout downmix_layout;
|
||||
} AC3DecodeContext;
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user