This avoids having to manually set _WIN32_WINNT in --extra-cflags
when targeting these API families, which only was necessary to
work around configure setting _WIN32_WINNT to an older version
by default.
Signed-off-by: Martin Storsjö <martin@martin.st>
If _WIN32_WINNT is unset, we force it to a new enough value to
make sure the necessary definitions are visible.
When targeting Windows Phone or Windows RT, _WIN32_WINNT should
be at least 0x0602 - otherwise the windows headers themselves
can cause errors (which technically are bugs in the headers).
Raising this value here shouldn't hurt; the alternative would
be to not touch it at all if WINAPI_FAMILY is set to phone/app,
or to force setting it to 0x0602 in configure if unset (for phone/app).
Signed-off-by: Martin Storsjö <martin@martin.st>
This macro identifies whether VFPv3 is available; MSVC defaults
to hardfloat (except for older MSVC versions for CE, targeting
ARMv4).
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '60a21b3d81c1a11cf5a08950eadd4e84ca2e597c':
configure: Check for _M_ARMT to detect thumb when using MSVC
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '2192ff84dd720968108bc1ca54e239f4c94eb61d':
configure: Default to armasm for --toolchain=msvc when targeting arm
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '342b0ba5f93b09b1d0c2597db44605300e6fcc53':
configure: Only redirect strtoll to _strtoi64 if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '5fd553d31272d5ed42a7a5a0ecaab7b3452da83a':
configure: Only redefine inline to __inline for msvc if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '0cff125200ab53fa3ae70d85b4f614f269fe3426':
configure: Only add -FIstdlib.h for msvc/icl if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.
Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.
The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This is only necessary on MSVC 2010/2012 (and possibly on some
ICL versions). This both avoids an extra hack on newer MSVC
versions, and better documents what the extra compiler option
is used for.
Signed-off-by: Martin Storsjö <martin@martin.st>
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.
Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.
The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e':
lavc: add Intel libmfx-based MPEG2 decoder.
Conflicts:
configure
libavcodec/qsvdec_mpeg2.c
Some cosmetics merged, rest is related to the removed parser code and
thus not merged
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
Otherwise it would get translated like a library path (-L option),
which breaks setting the flag.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
favor link over link.exe in case some wrapper script already exists
fallback to "link" in the path if the one next to cl is not found
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'a54e720e0289433d6bc3f7ba0a37fa5cabfaeea9':
configure: force -nologo- when detecting MSVC
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
The -nologo- option is the inverse of -nologo, reenabling printing the
"logo" version header. This is useful if the compiler actually is a
wrapper that forces -nologo.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'e1319aa1c1be9b64117c19170344fb78841dd67c':
libx264: Add support for the MPEG2 encoder
Conflicts:
configure
libavcodec/Makefile
libavcodec/libx264.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
Export symbols by name rather then ordinal.
Remove PROTMODE directive as it does not make sense for 32 bit library.
Also silences a warning from some linkers.
Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
With gcc-4.9.2 loongson faild in test fate-dca, this is caused by option
-fexpensive-optimizations in -O3 optimization. We disable it temporarily
before the bug been fixed up.
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
If it's not, then the new dependence-free parser will be used instead
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
Build system modified
There are several warnings occurring during build after this patch is
applied. The cause of most of these warnings is in that some definitions
needed here are logical part of sbr module and are added in later patches.
When this patches are applied these warnings stop occurring.
The only warning that is added here and is not fixed with later patches
is warning that warns that type mismatch for table ff_aac_eld_window_480.
The reason for this warning is in that ER AAC ELD 480 is not integrated in
to the fixed point implementation at this moment and there is no fixed point
version of this table.
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b08569a23948db107e5e6175cd4c695427d5339d':
lavf: Replace the ASF demuxer
Conflicts:
Changelog
libavformat/asf.h
libavformat/asfdec.c
libavformat/version.h
tests/ref/fate/wmv8-drm-nodec
tests/ref/seek/lavf-asf
The rewritten demuxer is placed in a new file, the current demuxer is
left as default. Carl has tested both and the one working better is
default.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Any other x265 symbol may not exported, e.g. if the build is a
multilib (10-bit and 8-bit in one) build.
This is the only symbol we directly call, and is available in the
build number we check for.
Fixes the configure check on multilib x265 builds.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Any other x265 symbol may not exported, e.g. if the build is a
multilib (10-bit and 8-bit in one) build.
This is the only symbol we directly call, and is available in the
build number we check for.
Fixes the configure check on multilib x265 builds.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This change introduces basic support for HEVC decoding through vdpau.
Right now, there are problems with the nvidia driver/library implementation
that mean that frames are incorrectly laid out in memory when they are
returned from the decoder, and it is normally impossible to recover the
complete decoded frame due to loss of data from alignment inconsistencies.
I obviously hope that nvidia will be fixing it in due course - I've verified
the problems exist with their example application.
As such, this support is not useful for any real world application, but I
believe that it is correct (with the caveat that the mangled frames may hide
problems) and will work properly once the nvidia problem is fixed.
Right now it appears that any file encoded by x265 or nvenc is decoded
correctly, but that's because these files don't use a bunch of HEVC
features.
Quick summary:
Features that seem to work:
1) Short Term References
2) Scaling Lists
3) Tiling
Features with known problems:
1) Long Term References
It's hard to tell what's going on here. After I read the nvidia example
app that does not set the IsLongTerm flag on LTRs, and changed my code,
a bunch of frames using LTR started to display correctly, but there
are still samples with glitches that are related to LTRs.
In terms of real world files, both x265 and nvenc only use short term
refs from this list. The divx encoder seems similar.
Signed-off-by: Philip Langdale <philipl@overt.org>
Cross-compile toolchains without support for ranlib -D would fail.
This fixes the configure script to test the cross ranlib rather than the native ranlib.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c0b105756f61d253bdabcc2bb49453a2557e7c3b':
txd: Use the TextureDSP module for decoding
Conflicts:
configure
libavcodec/s3tc.c
libavcodec/s3tc.h
libavcodec/txd.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Using the internal DXTC routines brings support for non multiple of 4
textures. A new test is added to cover this feature. Hashes differ
since the decoding algorithm is different, though no visual changes
have been spotted.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This module implements generic texture decompression from different
families (DXTC, RGTC, BCn) and texture compression DXTC 1, 3, and 5.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* commit '8655c54160767de1a6b96f8bc310d6e4eaceff48':
libvpx: Support the vp9 extended profiles
Conflicts:
Changelog
configure
libavcodec/libvpx.c
libavcodec/libvpx.h
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/version.h
mostly not merged, as requested by jamrial
See: 01e59d48ed
See: 079b7f6eac and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Bump the minimum libvpx version to 1.3.0 and rework the configure logic
to fail only if no decoders and encoders are found.
Based on the original patch from Vittorio.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
The current check is too strict for newer makeinfo versions.
Existing version strings are:
makeinfo (GNU texinfo) 4.13
makeinfo (GNU texinfo) 5.2
texi2any (GNU texinfo) 5.9.93
Probably version 6 will come in the not too far future.
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This reverts commit 04f0002, which made it impossible to enable VSX with
a generic cpu.
This changes the behavior back to what it was before commit b0af404.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
The C runtime C99 compatibility had been improved a lot and it now
rejects some of the compatibility defines provided for the older
versions.
Many thanks to Ray for the time spent testing.
Bug-Id: 864
CC: libav-stable@libav.org
This allows us to offer the same codec name that libav uses. We don't have
a special way to do aliases, so it's all a bit more verbose than you'd want
but such is life.
Signed-off-by: Philip Langdale <philipl@overt.org>
For the sake of compatibility, and because pretty much everything else in the
codebase calls it HEVC.
Signed-off-by: Philip Langdale <philipl@overt.org>