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
|
AVCodecContext *avctx; ///< parent context
|
||||||
GetBitContext gbc; ///< bitstream reader
|
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
|
///@name Bit stream information
|
||||||
///@{
|
///@{
|
||||||
int frame_type; ///< frame type (strmtyp)
|
int frame_type; ///< frame type (strmtyp)
|
||||||
@ -164,7 +186,6 @@ typedef struct AC3DecodeContext {
|
|||||||
int fbw_channels; ///< number of full-bandwidth channels
|
int fbw_channels; ///< number of full-bandwidth channels
|
||||||
int channels; ///< number of total channels
|
int channels; ///< number of total channels
|
||||||
int lfe_ch; ///< index of LFE channel
|
int lfe_ch; ///< index of LFE channel
|
||||||
SHORTFLOAT *downmix_coeffs[2]; ///< stereo downmix coefficients
|
|
||||||
int downmixed; ///< indicates if coeffs are currently downmixed
|
int downmixed; ///< indicates if coeffs are currently downmixed
|
||||||
int output_mode; ///< output channel configuration
|
int output_mode; ///< output channel configuration
|
||||||
int prev_output_mode; ///< output channel configuration for previous frame
|
int prev_output_mode; ///< output channel configuration for previous frame
|
||||||
@ -222,24 +243,9 @@ typedef struct AC3DecodeContext {
|
|||||||
|
|
||||||
///@name IMDCT
|
///@name IMDCT
|
||||||
int block_switch[AC3_MAX_CHANNELS]; ///< block switch flags (blksw)
|
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];
|
SHORTFLOAT *outptr[AC3_MAX_CHANNELS];
|
||||||
INTFLOAT *xcfptr[AC3_MAX_CHANNELS];
|
|
||||||
INTFLOAT *dlyptr[AC3_MAX_CHANNELS];
|
|
||||||
|
|
||||||
///@name Aligned arrays
|
///@name Aligned arrays
|
||||||
DECLARE_ALIGNED(16, int, fixed_coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< fixed-point transform coefficients
|
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, 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
|
DECLARE_ALIGNED(32, SHORTFLOAT, output_buffer)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE * 6]; ///< final output buffer
|
||||||
///@}
|
///@}
|
||||||
|
|
||||||
AVChannelLayout downmix_layout;
|
|
||||||
} AC3DecodeContext;
|
} AC3DecodeContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user