[FFmpeg-cvslog] avcodec/fdctdsp: Mark functions as hidden

Andreas Rheinhardt git at videolan.org
Sat Jul 29 05:28:50 EEST 2023


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Jul 24 15:02:42 2023 +0200| [27b43643395543783f071731665924d570287ff1] | committer: Andreas Rheinhardt

avcodec/fdctdsp: Mark functions as hidden

Pointers to these functions are used in comparisons.
Currently the compiler has to presume the worst for these,
namely that the functions are from another DSO and therefore
loads their addresses from the GOT (which also entails a
relocation entry that is processed at runtime, regardless
of whether the code using them is run or not). This changes
after these functions are declared as hidden.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

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

 libavcodec/fdctdsp.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/fdctdsp.h b/libavcodec/fdctdsp.h
index be65efa895..7378eab870 100644
--- a/libavcodec/fdctdsp.h
+++ b/libavcodec/fdctdsp.h
@@ -21,6 +21,8 @@
 
 #include <stdint.h>
 
+#include "libavutil/attributes_internal.h"
+
 struct AVCodecContext;
 
 typedef struct FDCTDSPContext {
@@ -28,6 +30,7 @@ typedef struct FDCTDSPContext {
     void (*fdct248)(int16_t *block /* align 16 */);
 } FDCTDSPContext;
 
+FF_VISIBILITY_PUSH_HIDDEN
 void ff_fdctdsp_init(FDCTDSPContext *c, struct AVCodecContext *avctx);
 void ff_fdctdsp_init_ppc(FDCTDSPContext *c, struct AVCodecContext *avctx,
                          unsigned high_bit_depth);
@@ -40,5 +43,6 @@ void ff_jpeg_fdct_islow_8(int16_t *data);
 void ff_jpeg_fdct_islow_10(int16_t *data);
 void ff_fdct248_islow_8(int16_t *data);
 void ff_fdct248_islow_10(int16_t *data);
+FF_VISIBILITY_POP_HIDDEN
 
 #endif /* AVCODEC_FDCTDSP_H */



More information about the ffmpeg-cvslog mailing list