1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Go to file
Martin Storsjö 769d921f3e compat: msvc: Make sure the object files are included when linking statically
If building libav with -MD in the cflags (for making the MSVC compiler
generate code for using a dynamically linked libc), the system headers
that declare strtod, snprintf and vsnprintf declare the functions as
imported from a DLL. To hook up wrappers of our own for these functions,
the function names are defined to avpriv_*, so that the calling code
within libav calls the wrappers instead. Since these functions
are declared to be imported from DLLs, the calling code expects to
load them from DLL import function pointers (creating references to
_imp__avpriv_strtod instead of directly to avpriv_strtod). If the
libav libraries are not built as DLLs, no such function pointers (as
the calling code expects) are created.

The linker can fix this up automatically in some cases (producing
warnings LNK4217 and LNK4049), if the object files are already
included. By telling the linker to try to include those symbols
(without the _imp prefix as the calling code ends up using),
we get the object files included, so that the linker can do the
automatic fixup. This is done via config.h, so that all (or at least
most) of the object files in our libraries force including the compat
files, to make sure they are included regardless of what files from our
static libraries actually are included.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-03 13:34:34 +03:00
compat Use the avstring.h locale-independent character type functions 2013-03-07 15:16:36 +02:00
doc matroskaenc: add an option to put the index at the start of the file 2013-05-03 08:32:35 +02:00
libavcodec vc1_parser: Set field_order. 2013-05-03 08:20:19 +02:00
libavdevice sndio_dec: Add missing includes for av_gettime() 2013-03-24 13:20:53 +02:00
libavfilter lavfi: add trim and atrim filters. 2013-04-30 11:24:57 +02:00
libavformat id3v2: check for end of file while unescaping tags 2013-05-03 10:21:27 +02:00
libavresample cosmetics: Remove unnecessary extern keywords from function declarations 2013-03-27 14:21:45 +01:00
libavutil x86: float dsp: butterflies_float SSE 2013-05-03 08:08:02 +02:00
libswscale ppc: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:10:06 +02:00
presets
tests lavf-regression: use -frames instead of -t for image tests 2013-05-03 08:07:45 +02:00
tools lavfi: merge avfiltergraph.h into avfilter.h 2013-04-11 20:33:33 +02:00
.gitignore Integrate lcov/gcov into Libav 2013-04-05 18:55:11 +02:00
arch.mak arm: rename ARMVFP config symbol to VFP 2012-12-07 16:54:04 +00:00
avconv_filter.c avconv: make output -ss insert trim/atrim filters. 2013-04-30 12:00:55 +02:00
avconv_opt.c avconv: do not send non-monotonous DTS to the muxers. 2013-05-03 09:59:48 +02:00
avconv.c avconv: do not send non-monotonous DTS to the muxers. 2013-05-03 09:59:48 +02:00
avconv.h avconv: do not send non-monotonous DTS to the muxers. 2013-05-03 09:59:48 +02:00
avplay.c avplay: remove a warning 2013-04-27 10:51:28 +02:00
avprobe.c avtools: move media_type_string() from avprobe to cmdutils. 2013-04-11 20:46:04 +02:00
avserver.c avserver: don't set deprecated options. 2013-03-08 07:41:07 +01:00
Changelog matroskaenc: add an option to put the index at the start of the file 2013-05-03 08:32:35 +02:00
cmdutils_common_opts.h cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
cmdutils.c cmdutils: Fix build with lavfi disabled 2013-04-16 21:44:26 +02:00
cmdutils.h avtools: move media_type_string() from avprobe to cmdutils. 2013-04-11 20:46:04 +02:00
common.mak Integrate lcov/gcov into Libav 2013-04-05 18:55:11 +02:00
configure compat: msvc: Make sure the object files are included when linking statically 2013-05-03 13:34:34 +03:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL
library.mak build: Move setting of SRC_DIR to the only place it is used 2013-03-27 14:49:13 +01:00
LICENSE LICENSE: Move (L)GPLv3 explanation block to a more suitable place 2013-02-27 19:51:10 +01:00
Makefile Integrate lcov/gcov into Libav 2013-04-05 18:55:11 +02:00
README
RELEASE Prepare for 10_alpha1 Release 2013-01-06 16:23:12 +01:00
version.sh

Libav README
------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.