[FFmpeg-cvslog] avcodec/aacdec: Always include AV(Fixed|Float)DSPContext in AACDecContext
Andreas Rheinhardt
git at videolan.org
Tue Apr 23 09:58:06 EEST 2024
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Feb 29 17:06:47 2024 +0100| [8b2261e573b9c5c06f8b3783b98bf18ac34527f4] | committer: Lynne
avcodec/aacdec: Always include AV(Fixed|Float)DSPContext in AACDecContext
Up until now, AACDecContext included pointers to one of these
contexts depending upon USE_FIXED. Yet deduplicating
the common parts of the float and fixed-point AAC decoders
needs common structures, so we put both of these pointers
in a union.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b2261e573b9c5c06f8b3783b98bf18ac34527f4
---
libavcodec/aacdec.h | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/libavcodec/aacdec.h b/libavcodec/aacdec.h
index e8d3297d17..e5165e9b54 100644
--- a/libavcodec/aacdec.h
+++ b/libavcodec/aacdec.h
@@ -67,6 +67,9 @@ enum CouplingPoint {
AFTER_IMDCT = 3,
};
+// Supposed to be equal to AAC_RENAME() in case of USE_FIXED.
+#define RENAME_FIXED(name) name ## _fixed
+
/**
* Long Term Prediction
*/
@@ -227,11 +230,10 @@ typedef struct AACDecContext {
av_tx_fn mdct960_fn;
av_tx_fn mdct1024_fn;
av_tx_fn mdct_ltp_fn;
-#if USE_FIXED
- AVFixedDSPContext *fdsp;
-#else
- AVFloatDSPContext *fdsp;
-#endif /* USE_FIXED */
+ union {
+ AVFixedDSPContext *RENAME_FIXED(fdsp);
+ AVFloatDSPContext *fdsp;
+ };
int random_state;
/** @} */
@@ -272,6 +274,10 @@ typedef struct AACDecContext {
void (*subband_scale)(int *dst, int *src, int scale, int offset, int len, void *log_context);
} AACDecContext;
+#if defined(USE_FIXED) && USE_FIXED
+#define fdsp RENAME_FIXED(fdsp)
+#endif
+
void ff_aacdec_init_mips(AACDecContext *c);
#endif /* AVCODEC_AACDEC_H */
More information about the ffmpeg-cvslog
mailing list