Kostya Shishkov [Fri, 31 May 2013 19:09:27 +0000 (21:09 +0200)]
indeo4: expand allowed quantiser range
Indeo 4 has quantiser range 0-31 instead of 0-23 for Indeo 5, and clipping
quantiser leads to incorrect quantisation and DC prediction on low-quality
videos.
Alex Smith [Thu, 30 May 2013 20:11:20 +0000 (20:11 +0000)]
configure: Separate commonalities in msvc and icl flags
Allows for easier handling of flags that may be specific to icl or msvc.
Furthermore, simplify the handling of warnings and remarks thanks to
icl's support of -Wall on Windows.
Martin Storsjö [Tue, 28 May 2013 20:39:21 +0000 (23:39 +0300)]
configure: Don't pass -mthumb or -march= to MSVC
The modern MSVC for ARM always builds for thumb, and it can't be
disabled.
Also just use the default arch instead of trying to map the -march
parameter to MSVC's -arch parameter (which only takes the values
ARMv7VE and VFPv4).
Janne Grunau [Tue, 21 May 2013 08:40:01 +0000 (10:40 +0200)]
mpeg12: skip frames consistently
The decoder did not start predicted frames with missing references but
called the end of frame handling on them anyway. This caused an
assertion in the VA API HW accelorator since it tried to render a
picture with uninitialized buffers.
Martin Storsjö [Sun, 19 May 2013 22:46:21 +0000 (01:46 +0300)]
fate: Don't use files from SRC_PATH in the actual tests
If building out of tree, make sure the filter scripts are copied
into the build tree before running tests. This makes sure that
SRC_PATH doesn't need to exist on the remote system (or doesn't
need to exist at the same path).
Kostya Shishkov [Sat, 25 May 2013 10:35:12 +0000 (12:35 +0200)]
indeo4: reuse context block VLC for band instead of defaulting
Currently if no custom block VLC is specified for band, a default block VLC
will be used, while the global block VLC stored in the context should be used
instead.
Anton Khirnov [Sun, 26 May 2013 08:39:55 +0000 (10:39 +0200)]
wavpack: remove a useless check.
Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
Alex Smith [Sat, 25 May 2013 10:07:42 +0000 (06:07 -0400)]
msvc/icl: Intel Compiler support on Windows
Initial support for the ICL compiler on windows. Requires a new
c99wrap with ICL support (1.0.2+).
Currently not much different speed wise compared to msvc. In the
future with a few changes it can be made to support the inline asm.
This would be the primary reason for using it.
Passed all fate tests, versions tested:
13.1.1.171 (2013 Update 3) x86 and x64
12.1.5.344 (2011 Update 11) x86 and x64
Laurent [Sat, 25 May 2013 10:01:29 +0000 (06:01 -0400)]
configure: Fix check_exec_crash for ICL support
Change the check_exec_crash test to use a function pointer instead of
simply calling the function. The EBP availability test will crash when
compiled with ICL likely due to compiler optimization shenanigans.
Originally the check_exec_crash code was moved out of main to fix a
problem with gcc's treatment of non-leaf main on x86_32. Libav already
moved the code out of main but the addition of the function pointer will
prevent any inlining which fixes the remaining problem.
A function pointer is used since it is compiler agnostic (as opposed to
say __attribute__ ((noinline)) which would only work with gcc compatible
compilers).
Anton Khirnov [Sun, 12 May 2013 12:58:14 +0000 (14:58 +0200)]
doxy: enable TYPEDEF_HIDES_STRUCT
This means that typedef struct SomeStruct {...} SomeStruct will only be
documented as SomeStruct in the doxy, without a pointless entry in the
typedefs list.
Janne Grunau [Tue, 21 May 2013 15:39:27 +0000 (17:39 +0200)]
mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes
ff_mpeg_unref_picture clears the flag indicating that the frame needs to
be reallocated after a frame size change. Since we have now reference
counted buffers we can unref the buffers immediately.
Janne Grunau [Sun, 19 May 2013 12:49:55 +0000 (14:49 +0200)]
mpegvideo: unref old current_picture before allocating a new one
Allows decoding with only three frame buffers with frame reference
counting. Fixes VAAPI based decoding in vlc which uses only three
frame buffers for the mpegvideo-based codecs.
Luca Barbato [Sun, 19 May 2013 17:06:54 +0000 (19:06 +0200)]
vorbis: fallback to normal division instead of crashing
The use of ff_inverse speeds up slightly arches + compilers that
do not provide a division faster than the whole machinery, such
as ppc32 + gcc4.7, but has operational limits.
Drop the always-enable assert and provide a fallback.
Martin Storsjö [Wed, 15 May 2013 20:51:49 +0000 (23:51 +0300)]
configure: msvc: Set the target windows version to XP if no target is set
MSVC 2010 (or more precisely, Windows SDK 7.0 which comes with MSVC
2010) sets _WIN32_WINNT to the constant for Windows 7 if nothing is
set. This could lead to the libav configure script detecting and
using functions only present in Windows 7 or newer, which in most
cases isn't desired. If the caller explicitly wants this, the caller
can add the _WIN32_WINNT define via --extra-cflags, setting the desired
version.
Luca Barbato [Tue, 14 May 2013 20:15:18 +0000 (22:15 +0200)]
configure: Add basic valgrind-massif support
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.