[FFmpeg-devel] [PATCH 5/7] avformat/mpegts: add s337m support
Martin Storsjö
martin at martin.st
Tue Dec 10 23:47:34 EET 2024
On Tue, 10 Dec 2024, Scott Theisen wrote:
> ff_* symbols are not exported and are internal to each library. Some of
> the other libraries `#include "libavutil/reverse.c"` in a file. Should
> ff_reverse be renamed avpriv_reverse so that is not necessary?
No, this is intentionally done this way.
If we'd make it into avpriv_reverse, then we'd also need to distinguish
between whether we're accessing it from within the same library where it
is defined, or mark the declaration with dllimport, if building shared
libraries with MSVC.
Back when ffmpeg was made to support MSVC and building shared libraries
with it, we decided not to try to add dllimport for it; these tables are
miniscule anyway. So if building shared libraries, we instead duplicate
the tables within each shared library that uses them.
(Later we did end up adding selective dllimport for cross-library tables
anyway though. But we tend to prefer to avoid avpriv symbols if possible,
as they're effectively part of the ABI surface even if they're supposed to
be private.)
In any case - just replicate the existing pattern for duplicating
reverse.c into libavformat, like is done in the other libraries that use
the symbol; changing how it is set up is a much larger discussion.
// Martin
More information about the ffmpeg-devel
mailing list