[FFmpeg-cvslog] avcodec/aacsbr: Fix type mismatch

Andreas Rheinhardt git at videolan.org
Tue May 7 01:08:12 EEST 2024


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon May  6 10:37:17 2024 +0200| [44474dd7b9e1d2ac842935fc139d9e8517c53002] | committer: Andreas Rheinhardt

avcodec/aacsbr: Fix type mismatch

ff_aac_sbr_apply() and ff_aac_sbr_apply_fixed() still used
pointers to INTFLOAT which is float or int depending upon
whether USE_FIXED is set or not; in particular, according
to these declarations both functions have the same type.
But that is wrong and given that aacdec.c sets USE_FIXED,
it sees the wrong type for ff_aac_sbr_apply().
This leads to a -Wlto-type-mismatch warning when using lto [1].
Fix this by avoiding INTFLOAT in aacsbr.h (which also means
that aac_defines.h need not be included there any more).

[1]: https://fate.ffmpeg.org/log.cgi?slot=x86_64-archlinux-gcc-lto&time=20240506022217&log=compile

Reviewed-by: Lynne <dev at lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44474dd7b9e1d2ac842935fc139d9e8517c53002
---

 libavcodec/aac/aacdec.c | 1 +
 libavcodec/aacsbr.h     | 5 ++---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/aac/aacdec.c b/libavcodec/aac/aacdec.c
index 72f2d7e7ba..c6b93e33a2 100644
--- a/libavcodec/aac/aacdec.c
+++ b/libavcodec/aac/aacdec.c
@@ -42,6 +42,7 @@
 #include "aacdec_tab.h"
 
 #include "libavcodec/aac.h"
+#include "libavcodec/aac_defines.h"
 #include "libavcodec/aacsbr.h"
 #include "libavcodec/aactab.h"
 #include "libavcodec/adts_header.h"
diff --git a/libavcodec/aacsbr.h b/libavcodec/aacsbr.h
index cd030aa801..656ef5258e 100644
--- a/libavcodec/aacsbr.h
+++ b/libavcodec/aacsbr.h
@@ -31,7 +31,6 @@
 
 #include "get_bits.h"
 #include "aac/aacdec.h"
-#include "aac_defines.h"
 
 #include "libavutil/attributes_internal.h"
 
@@ -91,9 +90,9 @@ int ff_aac_sbr_decode_extension_fixed(AACDecContext *ac, ChannelElement *che,
 
 /** Apply one SBR element to one AAC element. */
 void ff_aac_sbr_apply(AACDecContext *ac, ChannelElement *che,
-                      int id_aac, INTFLOAT* L, INTFLOAT* R);
+                      int id_aac, float *L, float *R);
 void ff_aac_sbr_apply_fixed(AACDecContext *ac, ChannelElement *che,
-                            int id_aac, INTFLOAT* L, INTFLOAT* R);
+                            int id_aac, int *L, int *R);
 
 FF_VISIBILITY_POP_HIDDEN
 



More information about the ffmpeg-cvslog mailing list