* qatar/master:
compat: msvc: Make sure the object files are included when linking statically
id3v2: check for end of file while unescaping tags
Conflicts:
configure
libavformat/id3v2.c
Note, ffmpeg is not affected by the out of buffer write bug
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521':
matroskaenc: add an option to put the index at the start of the file
Conflicts:
doc/muxers.texi
libavformat/matroskaenc.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a':
vc1_parser: Set field_order.
mpegvideo_parser: Set field_order.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
avcodec: Add field order information to AVCodecParserContext.
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b333f3a22a4db4cf65d6a0457ac82ecbe7c7ac44':
lavf-regression: use -frames instead of -t for image tests
Conflicts:
tests/lavf-regression.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
lavc: schedule AVCodecContext.lowres for removal on next bump.
Conflicts:
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb':
configure: Don't do enable_deep_weak on disabled variables
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4d810ad2e943a59658ddf00a397121c2b62f7157':
configure: Use a different variable name in push/popvar
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bf7c3c6b157f7938578f964b62cffd5e504940be':
x86: dsputil: Move cavs and vc1-specific functions where they belong
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '932806232108872655556100011fe369125805d3':
x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
x86: Move duplicated put_pixels{8|16}_mmx functions into their own file
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This avoids cases where configure tries to weakly enable an item
which actually is disabled, ending up still enabling dependencies
of the item which itself is only enabled weakly.
More concretely, the h264 decoder suggests error resilience, which
is then enabled weakly (unless manually disabled). Previously,
dsputil, which is a dependency of error resilience, was enabled
even if error resilience wasn't enabled in the end.
Signed-off-by: Martin Storsjö <martin@martin.st>
The variable name 'var' is commonly used to iterate through arguments
in other functions. When the pushvar function internally uses the
variable 'var', it makes pushing/popping the variable 'var' not
work as intended.
Signed-off-by: Martin Storsjö <martin@martin.st>