1
0
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:
James Almer
2025-02-12 19:01:14 -03:00
parent 22aa71d4da
commit a9e8586e3f

View File

@ -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;
/**