On Tue, 22 Jul 2025 at 04:45, Kacper Michajlow <kaspe...@gmail.com> wrote:
>
> 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?

meh, I guess it was stupid question, because ffmpeg's libraries may be
in different versions and still should work and not break ABI.

- 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".

Reply via email to