Commit Graph

2574 Commits

Author SHA1 Message Date
Vittorio Giovara c45fcf30cf DXV decoder
Support all DXDI and DXD3 normal quality videos.
2015-09-02 22:22:02 +02:00
Luca Barbato 0c7707610f lavc: Add a lzf decompressor
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-02 21:56:22 +02:00
Luca Barbato e176639bcb webm: Explicitly select libvpx, libopus and libvorbis encoders
And update the preference for the newer codecs now that the libraries
seem stable and widespread enough.

Bug-Id: 695
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-25 19:47:43 +02:00
Martin Storsjö cb2dbe2c76 configure: arm: Assume softfp ABI on darwin
Don't try to detect the float ABI by checking at the toolchain
name or by trying to assemble and link files with eabi_attributes.

This fixes the float ABI detection when building using clang
with -fembed-bitcode, where the current eabi_attributes check
accidentally passes.

This issue was pointed out by James Howe <james.howe@hp.com>.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-08-16 00:17:22 +03:00
Shiz b197f78329 configure: Silence error messages when probing compiler
On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.

The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-04 12:19:27 +02:00
Martin Storsjö c6e0829e36 configure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt
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>
2015-07-28 19:37:49 +03:00
Martin Storsjö d75b55635a dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600
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>
2015-07-28 19:37:47 +03:00
Martin Storsjö 60a21b3d81 configure: Check for _M_ARMT to detect thumb when using MSVC
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:45:32 +03:00
Martin Storsjö 616b409c8f configure: Check MSVC defines for identifying hardfloat
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>
2015-07-27 10:45:15 +03:00
Martin Storsjö 2192ff84dd configure: Default to armasm for --toolchain=msvc when targeting arm
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:45:08 +03:00
Martin Storsjö e4015b00d4 configure: Simplify, remove an unnecessary intermediate variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:44:44 +03:00
Martin Storsjö 342b0ba5f9 configure: Only redirect strtoll to _strtoi64 if necessary
This isn't necessary any longer on MSVC 2013 Update 4.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:33:09 +03:00
Martin Storsjö 5fd553d312 configure: Only redefine inline to __inline for msvc if necessary
This isn't necessary on MSVC 2015 any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:33:01 +03:00
Martin Storsjö 0cff125200 configure: Only add -FIstdlib.h for msvc/icl if necessary
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>
2015-07-26 20:33:00 +03:00
Steve Lhomme 9b4b96c0de force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h
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>
2015-07-26 20:18:03 +03:00
Anton Khirnov 41d47ea85f lavc: add Intel libmfx-based HEVC decoder. 2015-07-25 17:37:01 +02:00
Anton Khirnov bf52f77391 lavc: add Intel libmfx-based MPEG2 decoder. 2015-07-25 17:36:59 +02:00
Steve Lhomme c9edbe4af9 use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
Fallback to "link" in the path if the one next to cl is not found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-24 18:21:22 +03:00
Steve Lhomme a54e720e02 configure: force -nologo- when detecting MSVC
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>
2015-07-23 22:28:08 +03:00
Vittorio Giovara f5ee23004d configure: Factor out g722dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara a623aa0069 configure: Factor out wmv2dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara d42191c78b configure: Factor out vp8dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara d4aea1aa40 configure: Factor out vp56dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara 5cb4bdb2a0 configure: Factor out rv34dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara 575ec60e54 configure: Factor out mss34dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara 2edc77dc7b configure: Factor out ividsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara b075869bc1 configure: Factor out flacdsp module 2015-07-17 18:46:23 +01:00
Dave Yeo 4da585ae47 OS/2: Cleanup slib_create_def_cmd
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>
2015-07-17 10:47:59 +02:00
Luca Barbato e1319aa1c1 libx264: Add support for the MPEG2 encoder 2015-07-17 10:47:48 +02:00
Anton Khirnov 650060dfb6 hevc_parser: parse and export some stream parameters
Particularly those that will be needed by the QSV decoder.
More can be added later as necessary.
2015-07-12 18:15:40 +02:00
Luca Barbato 84b223cc6d configure: Make the new qsv encoder depend on libmfx
Found-by: kropping
2015-07-09 00:20:27 +02:00
Anton Khirnov 66acb76bb0 lavc: add Intel libmfx-based HEVC encoder 2015-07-08 23:40:11 +02:00
Anton Khirnov 3a85397e8b lavc: add Intel libmfx-based MPEG2 encoder 2015-07-08 23:39:28 +02:00
Derek Buitenhuis b56b12cd12 configure: Check for x265_api_get
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>
2015-06-27 11:44:20 +01:00
Vittorio Giovara 5c018ee188 DirectDraw Surface image decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
Vittorio Giovara 7ca3e5203f Hap decoder and encoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
Vittorio Giovara c0b105756f txd: Use the TextureDSP module for decoding
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>
2015-06-22 15:23:08 +01:00
Vittorio Giovara 8337e0c573 Introduce a TextureDSP module
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>
2015-06-22 15:23:08 +01:00
Luca Barbato 2ecfd45164 Implement Snappy decompression
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
Luca Barbato 8655c54160 libvpx: Support the vp9 extended profiles
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>
2015-06-21 16:27:18 +03:00
Luca Barbato a6f19d6a9f configure: Support MSVC 2015
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
2015-06-08 13:27:49 +02:00
Martin Storsjö e97446e600 configure: Check for DXVA2_ConfigPictureDecode instead of LPDIRECT3DSURFACE9
Checking this struct is a bit more natural for this dependency.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:29:54 +03:00
Martin Storsjö b9875b497a configure: Remove unnecessary tests for d3d11va
These are only necessary once/if avconv gets support for this hwaccel.
While that obviously is desireable, we don't have it yet, and they
currently only are a distraction.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:28:25 +03:00
Martin Storsjö 76eb0950b8 configure: Don't run "export $e" for an empty string
This fixes the side effect of printing the whole environment,
if no --env parameter was provided.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:27:42 +03:00
James Almer 876d441fbe configure: don't enable tls protocols if network is disabled
This was a regression introduced with d8ffb2055f.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-02 22:48:50 +03:00
Luca Barbato fd11465b21 configure: Use pkg-config for fdk-aac
Makes the life of the people already setting PKG_CONFIG_PATH simpler.
2015-06-02 10:33:32 +02:00
Luca Barbato 604abd025d configure: Provide an option to override the environment
Useful to have `make config` work with custom pkgconf path.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-02 10:33:11 +02:00
Luca Barbato 06db45523c configure: Support the extended pkgconf syntax
Make possible to require a combination of
packages and/or pin specific versions.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-02 10:33:11 +02:00
Martin Storsjö 8349bedfa5 configure: Remove some unnecessary exported config items
The only need to be listed if they are to be used in ifdefs from
within the code - config items used as dependencies only within
configure don't need to be exported.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:52 +03:00
Martin Storsjö ff7ae4b9df configure: Require LPDIRECT3DSURFACE9 for dxva2
This fixes dxva2 detection (i.e. correctly realizes that it isn't
available) for WinRT, where dxva2api.h does exist, but these definitions
are omitted (when targeting the API subsets).

Ideally we should rather check for e.g. DXVA2_ConfigPictureDecode,
but configure might fail to find that definition due to _WIN32_WINNT
not being set to the right value during configure. (libavcodec/dxva2.h
manually overrides the _WIN32_WINNT define.)

This allows removing hardcoded --disable-dxva2 from such build
configurations.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:49 +03:00