diff mbox series

[FFmpeg-devel,1/2] avcodec/jpegtables: Mark jpegtables as hidden

Message ID AS8P250MB0744C6A5AE4F53EE3C9626648F249@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit c9d0ba9a601040ff9872c37570c2770e28bc1b01
Headers show
Series [FFmpeg-devel,1/2] avcodec/jpegtables: Mark jpegtables as hidden | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt Oct. 14, 2022, 10:31 p.m. UTC
These tables are not exported as avpriv symbols, but instead
included into every library using them. Therefore they
can be mark with the hidden elf visibility. For certain arches
this is necessary in order to avoid building suboptimal code;
for other arches it just allows the compiler to simplify accesses
like ff_mjpeg_bits_dc_luminance + 1 because the "+ 1" can be baked
into the offset.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/jpegtables.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Andreas Rheinhardt Oct. 17, 2022, 2:41 p.m. UTC | #1
Andreas Rheinhardt:
> These tables are not exported as avpriv symbols, but instead
> included into every library using them. Therefore they
> can be mark with the hidden elf visibility. For certain arches
> this is necessary in order to avoid building suboptimal code;
> for other arches it just allows the compiler to simplify accesses
> like ff_mjpeg_bits_dc_luminance + 1 because the "+ 1" can be baked
> into the offset.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
>  libavcodec/jpegtables.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavcodec/jpegtables.h b/libavcodec/jpegtables.h
> index 49b5ecdeb0..39baec3efb 100644
> --- a/libavcodec/jpegtables.h
> +++ b/libavcodec/jpegtables.h
> @@ -23,6 +23,9 @@
>  
>  #include <stdint.h>
>  
> +#include "libavutil/attributes_internal.h"
> +
> +FF_VISIBILITY_PUSH_HIDDEN
>  extern const uint8_t ff_mjpeg_bits_dc_luminance[];
>  extern const uint8_t ff_mjpeg_val_dc[];
>  
> @@ -33,5 +36,6 @@ extern const uint8_t ff_mjpeg_val_ac_luminance[];
>  
>  extern const uint8_t ff_mjpeg_bits_ac_chrominance[];
>  extern const uint8_t ff_mjpeg_val_ac_chrominance[];
> +FF_VISIBILITY_POP_HIDDEN
>  
>  #endif /* AVCODEC_JPEGTABLES_H */

Will apply this patchset tomorrow unless there are objections.

- Andreas
diff mbox series

Patch

diff --git a/libavcodec/jpegtables.h b/libavcodec/jpegtables.h
index 49b5ecdeb0..39baec3efb 100644
--- a/libavcodec/jpegtables.h
+++ b/libavcodec/jpegtables.h
@@ -23,6 +23,9 @@ 
 
 #include <stdint.h>
 
+#include "libavutil/attributes_internal.h"
+
+FF_VISIBILITY_PUSH_HIDDEN
 extern const uint8_t ff_mjpeg_bits_dc_luminance[];
 extern const uint8_t ff_mjpeg_val_dc[];
 
@@ -33,5 +36,6 @@  extern const uint8_t ff_mjpeg_val_ac_luminance[];
 
 extern const uint8_t ff_mjpeg_bits_ac_chrominance[];
 extern const uint8_t ff_mjpeg_val_ac_chrominance[];
+FF_VISIBILITY_POP_HIDDEN
 
 #endif /* AVCODEC_JPEGTABLES_H */