[FFmpeg-cvslog] avcodec/ac3dec: move some fields up in AC3DecodeContext
James Almer
git at videolan.org
Thu Feb 13 00:18:56 EET 2025
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Feb 12 19:01:14 2025 -0300| [a9e8586e3fa8c3f217268f53a85f5cdecd46ae59] | committer: James Almer
avcodec/ac3dec: move some fields up in AC3DecodeContext
Needed for the following commit.
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a9e8586e3fa8c3f217268f53a85f5cdecd46ae59
---
libavcodec/ac3dec.h | 40 ++++++++++++++++++++++------------------
1 file changed, 22 insertions(+), 18 deletions(-)
diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h
index 98de7b5abf..0a6bba7c63 100644
--- a/libavcodec/ac3dec.h
+++ b/libavcodec/ac3dec.h
@@ -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;
/**
More information about the ffmpeg-cvslog
mailing list