On Tue, 22 Jul 2025 at 02:47, James Almer <jamr...@gmail.com> wrote: > > And stop exposing the arrays on the next major bump. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavutil/xga_font_data.c | 16 ++++++++++++++++ > libavutil/xga_font_data.h | 6 ++++++ > 2 files changed, 22 insertions(+) > > diff --git a/libavutil/xga_font_data.c b/libavutil/xga_font_data.c > index 3aed3142cf..e4b21760f8 100644 > --- a/libavutil/xga_font_data.c > +++ b/libavutil/xga_font_data.c > @@ -26,6 +26,9 @@ > #include <stdint.h> > #include "xga_font_data.h" > > +#if LIBAVUTIL_VERSION_MAJOR > 60 > +static > +#endif > const uint8_t avpriv_cga_font[2048] = { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, > 0xbd, 0x99, 0x81, 0x7e, > 0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e, 0x6c, 0xfe, 0xfe, 0xfe, > 0x7c, 0x38, 0x10, 0x00, > @@ -157,6 +160,14 @@ const uint8_t avpriv_cga_font[2048] = { > 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, > }; > > +const uint8_t *avpriv_cga_font_get(void) > +{ > + return avpriv_cga_font; > +} > + > +#if LIBAVUTIL_VERSION_MAJOR > 60 > +static > +#endif > const uint8_t avpriv_vga16_font[4096] = { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd, 0x99, 0x81, 0x81, 0x7e, > 0x00, 0x00, 0x00, 0x00, > @@ -415,3 +426,8 @@ const uint8_t avpriv_vga16_font[4096] = { > 0x00, 0x00, 0x00, 0x00, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, > 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00 > }; > + > +const uint8_t *avpriv_vga16_font_get(void) > +{ > + return avpriv_vga16_font; > +} > diff --git a/libavutil/xga_font_data.h b/libavutil/xga_font_data.h > index 69dc337120..90d3cec4ce 100644 > --- a/libavutil/xga_font_data.h > +++ b/libavutil/xga_font_data.h > @@ -28,8 +28,14 @@ > > #include <stdint.h> > #include "internal.h" > +#include "version.h" > > +#if LIBAVUTIL_VERSION_MAJOR < 61 > extern av_export_avutil const uint8_t avpriv_cga_font[2048]; > extern av_export_avutil const uint8_t avpriv_vga16_font[4096]; > +#endif > + > +const uint8_t *avpriv_cga_font_get(void); > +const uint8_t *avpriv_vga16_font_get(void);
Looks good. Accessing data from DLLs without dllimport requires manually resolving the indirection. While using a function works even without dllimport, while it may be used to better code generation and removing one function patching when dynamic linker loads it. All other FFmpeg code is not using dllimport, so it should be fine to remove these two remaining ones. This will allow all objects to be the same between shared/static build and fix checkasm static linking. For my information, isn't avpriv_ prefix used for internal symbols shared between libs? Does it need a deprecation period? Are users supposed to be accessing them? - Kacper _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".