Anton Khirnov [Mon, 27 May 2013 15:23:15 +0000 (17:23 +0200)]
wavpack: extract sample rate from the bitstream
This way we don't require the caller to parse the block header. It also
allows the sample rate to change mid-stream.
Luca Barbato [Tue, 14 May 2013 20:41:14 +0000 (22:41 +0200)]
configure: support gcc-4.8 instrumentation
Since version 4.8 gcc sports asan and tsan integration that can
be leveraged when hunting bugs.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Sun, 19 May 2013 22:55:32 +0000 (01:55 +0300)]
fate: Add a --target-samples path parameter
This allows having the samples accessible via different paths
on the target and on the host.
Signed-off-by: Martin Storsjö <martin@martin.st>
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).
Signed-off-by: Martin Storsjö <martin@martin.st>
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.
This fixes decoding of one sample I have.
Kostya Shishkov [Sat, 25 May 2013 10:15:37 +0000 (12:15 +0200)]
indeo4: add missing Haar and slanted transforms
That involves fixing INV_HAAR4() macro and changing it to work with different
input and output like INV_HAAR8() instead of in-place transform.
Kostya Shishkov [Mon, 27 May 2013 19:58:52 +0000 (21:58 +0200)]
dxtory v2 support
Michael Niedermayer [Fri, 26 Apr 2013 01:44:05 +0000 (03:44 +0200)]
vc1dec: Remove interlaced warning
Also add a note about the feature in the changelog.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Fri, 3 May 2013 15:44:30 +0000 (17:44 +0200)]
vc1dec: Fix mixed field/frame intensity compensation
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 18:42:07 +0000 (20:42 +0200)]
vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 25 Apr 2013 19:30:41 +0000 (21:30 +0200)]
vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
Now it can use different references for those blocks and even use
averaging.
This fixes several chroma artifacts in several videos.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 25 Apr 2013 18:35:35 +0000 (20:35 +0200)]
vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 19:56:34 +0000 (21:56 +0200)]
vc1dec: Drop old use_ic code from vc1_b_mc
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 18:27:34 +0000 (20:27 +0200)]
vc1: Use shuffled use_ic instead of equally shuffled mv_mode
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 18:41:31 +0000 (20:41 +0200)]
vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 18:40:12 +0000 (20:40 +0200)]
vc1dec: Redesign the intensity compensation
Use the intensity-compensated reference frame for subsequent
fields/B-frames.
Since we currently don't change the reference frame we have to
maintain lookup tables for intensity compensation in the following
dependent frames.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Apr 2013 11:16:27 +0000 (13:16 +0200)]
vc1dec: Shuffle field MVs after decoding, not before
This simplifies the code since copying MVs to the reference is not needed
anymore (and maybe something about fixing artifacts).
Also remove the unused mv_f_last.
Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Mon, 27 May 2013 03:45:29 +0000 (05:45 +0200)]
smacker: assign video frame PTS
Anton Khirnov [Mon, 27 May 2013 07:44:27 +0000 (09:44 +0200)]
matroskadec: export full wavpack blocks.
This allows us to get rid of demuxer-specific hacks in the decoder and
will allow streamcopy from matroska once we have a wavpack muxer.
Anton Khirnov [Sun, 26 May 2013 19:09:22 +0000 (21:09 +0200)]
wavpack demuxer: export full wavpack blocks.
Currently the demuxer shaves the blocks and exports only the
information that is useful to the decoder.
Exporting the blocks just as they are stored is simpler to understand
and will make remuxing wavpack easier.
Anton Khirnov [Sun, 26 May 2013 09:02:51 +0000 (11:02 +0200)]
wavpack: don't set sample format in init.
We don't know whether it will be float until we look at the data.
Anton Khirnov [Sun, 26 May 2013 08:47:22 +0000 (10:47 +0200)]
wavpack: remove a useless parameter from wavpack_decode_block().
The decoder always returns output if an error does not occur.
Anton Khirnov [Sun, 26 May 2013 08:44:11 +0000 (10:44 +0200)]
wavpack: return an error on 0-sized blocks
Such blocks are not valid.
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.
Anton Khirnov [Sun, 26 May 2013 08:38:54 +0000 (10:38 +0200)]
wavpack: add an error message to a failure.
Anton Khirnov [Sun, 26 May 2013 08:32:56 +0000 (10:32 +0200)]
wavpack: return 0 instead of samples count from decoding functions
The caller never cares about the number of decoded samples, so this only
confuses the reader.
Anton Khirnov [Sat, 25 May 2013 13:31:18 +0000 (15:31 +0200)]
wavpack: switch to planar output
This simplifies the code and makes it faster.
Anton Khirnov [Sat, 25 May 2013 05:49:25 +0000 (07:49 +0200)]
wavpack: drop redundant if/else blocks
Anton Khirnov [Sat, 25 May 2013 04:44:14 +0000 (06:44 +0200)]
wavpack: remove the subframes codec cap
The decoder always consumes full packets.
Anton Khirnov [Fri, 17 May 2013 05:39:34 +0000 (07:39 +0200)]
lavf: preserve side data when parsing packets.
Kostya Shishkov [Mon, 27 May 2013 16:21:04 +0000 (18:21 +0200)]
smacker: add a clarification notice about audio decoding
Anton Khirnov [Fri, 17 May 2013 06:13:58 +0000 (08:13 +0200)]
configure: make jack depend on pthreads
Anton Khirnov [Sun, 26 May 2013 13:31:09 +0000 (15:31 +0200)]
avconv: make -aspect work with streamcopy
Anton Khirnov [Wed, 15 May 2013 13:48:15 +0000 (15:48 +0200)]
matroskadec: silently skip CodecState element.
mkvmerge apparrently uses it for mpeg1/2 video, but it contains the same
information as CodecPrivate, so it can be ignored.
Kostya Shishkov [Mon, 27 May 2013 04:26:28 +0000 (06:26 +0200)]
smacker: fix off-by-one error in palette expanding code
Kostya Shishkov [Mon, 27 May 2013 03:40:44 +0000 (05:40 +0200)]
Revert "smackaud: clip output samples"
Smacker audio uses overflows instead of clipping.
This reverts commit
375ca0aca81be2951d9ba4731196e70e490d3cdf.
Martin Storsjö [Sun, 26 May 2013 09:47:33 +0000 (12:47 +0300)]
arm: Only output eabi attributes if building for ELF
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Fri, 24 May 2013 17:44:29 +0000 (19:44 +0200)]
fix scalarproduct_and_madd_int16_altivec() for orders > 16
the second and third sources were incremented only by half of the needed size
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
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
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).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Fri, 24 May 2013 09:24:27 +0000 (12:24 +0300)]
cpu: Include common.h for av_popcount64
This fixes build failures on windows since
2a6eaeaa8.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sat, 11 May 2013 19:40:28 +0000 (21:40 +0200)]
vf_fade: support slice threading
Anton Khirnov [Sat, 11 May 2013 19:40:28 +0000 (21:40 +0200)]
vf_yadif: support slice threading
Anton Khirnov [Sat, 11 May 2013 18:41:46 +0000 (20:41 +0200)]
lavfi: add a slice threading infrastructure
Mostly based on libavcodec's
Anton Khirnov [Thu, 23 May 2013 06:59:07 +0000 (08:59 +0200)]
Move get_logical_cpus() from lavc/pthread to lavu/cpu.
It will be useful in lavfi, and could conceivably be useful to the user
applications as well.
Anton Khirnov [Sun, 12 May 2013 06:11:42 +0000 (08:11 +0200)]
w32pthreads: move from lavc to compat/
It will be used in other places than lavc.
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.
Kostya Shishkov [Fri, 3 May 2013 08:13:00 +0000 (10:13 +0200)]
Monkey's Audio old versions FATE tests
Yusuke Nakamura [Tue, 14 May 2013 22:37:36 +0000 (07:37 +0900)]
h264_parser: Set field_order and picture_structure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Yusuke Nakamura [Tue, 14 May 2013 22:36:15 +0000 (07:36 +0900)]
avcodec: Add picture structure information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Wed, 22 May 2013 10:51:42 +0000 (12:51 +0200)]
wavpack: check packet size early
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Wed, 22 May 2013 10:27:04 +0000 (12:27 +0200)]
wavpack: use bytestream2 in wavpack_decode_block
Prevent most out of buffer reads.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Anton Khirnov [Sat, 4 May 2013 11:57:32 +0000 (13:57 +0200)]
pixdesc: mark gray8 as pseudopal
Many functions treat it as such already.
Fixes Bug 499.
CC:libav-stable@libav.org
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.
Martin Storsjö [Tue, 21 May 2013 08:43:00 +0000 (11:43 +0300)]
configure: Enable the strtod workaround when building for bionic
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Sat, 18 May 2013 05:06:19 +0000 (07:06 +0200)]
proresdec: simplify slice component offsets handling
Luca Barbato [Wed, 15 May 2013 16:41:41 +0000 (18:41 +0200)]
mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
Prevent out of buffer write when decoding broken samples.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diego Biurrun [Sat, 6 Oct 2012 15:22:05 +0000 (15:22 +0000)]
fate.sh: add support for build-only FATE instances
If the "build_only" variable is set in the configuration file, the
FATE client will skip running tests and just compile all targets.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Tue, 14 May 2013 14:20:14 +0000 (16:20 +0200)]
ljpeg: use the correct number of components in yuv
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Mon, 13 May 2013 17:32:04 +0000 (19:32 +0200)]
mjpeg: Validate sampling factors
They must be non-zero.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
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.
Luca Barbato [Sun, 19 May 2013 16:59:13 +0000 (18:59 +0200)]
vorbis: simplify the inner loop in setup_classifs
Luca Barbato [Sun, 19 May 2013 16:57:52 +0000 (18:57 +0200)]
vorbis: use normal integer values for iterators
No need to use fixed-size integers.
Luca Barbato [Sat, 18 May 2013 13:33:39 +0000 (15:33 +0200)]
vorbis: refactor vorbis_residue_decode_internal
Jean-Baptiste Kempf [Tue, 14 May 2013 09:34:53 +0000 (11:34 +0200)]
win32: Do not use GetProcAddress when compiled for Vista+
Instead link directly to the condition variable functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
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.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Tue, 14 May 2013 16:53:23 +0000 (18:53 +0200)]
Escape 130 FATE test
Kostya Shishkov [Sat, 18 May 2013 05:09:47 +0000 (07:09 +0200)]
prores: update FATE test to account for alpha plane present in the test sample
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.
Luca Barbato [Fri, 17 May 2013 16:29:15 +0000 (18:29 +0200)]
wavpack: validate samples size parsed in wavpack_decode_block
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 17 May 2013 16:28:33 +0000 (18:28 +0200)]
wavpack: return meaningful errors
And forward those that were already meaningful.
Luca Barbato [Sat, 18 May 2013 14:02:47 +0000 (16:02 +0200)]
wavpack: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Eli Friedman [Fri, 16 Dec 2011 20:30:27 +0000 (21:30 +0100)]
Escape 130 (RPL) decoder
Some fixes provided by Paul B Mahol <onemda@gmail.com>
and Michael Niedermayer <michaelni@gmx.at> and me.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Kostya Shishkov [Fri, 17 May 2013 17:40:35 +0000 (19:40 +0200)]
prores: decode alpha plane when it's present
Anton Khirnov [Mon, 1 Apr 2013 13:44:21 +0000 (15:44 +0200)]
avfilter: check a malloc in avfilter_link().
Additionally change sizeof(type) into sizeof(var)
Anton Khirnov [Mon, 1 Apr 2013 13:20:22 +0000 (15:20 +0200)]
avfilter.c: cosmetics, reformat
Anton Khirnov [Sun, 31 Mar 2013 15:18:43 +0000 (17:18 +0200)]
lavfi: factorize freeing a link
Anton Khirnov [Sun, 31 Mar 2013 14:58:49 +0000 (16:58 +0200)]
vf_format: do not use the AVFilterFormats internals.
Use the formats.h API instead.
Anton Khirnov [Sun, 31 Mar 2013 14:52:26 +0000 (16:52 +0200)]
af_aformat: cosmetics, fix indentation
Anton Khirnov [Sun, 31 Mar 2013 14:38:07 +0000 (16:38 +0200)]
lavfi: rename AVFilterFormats.format_count to nb_formats
This is more consistent with naming in the rest of Libav.
Anton Khirnov [Sun, 12 May 2013 12:55:54 +0000 (14:55 +0200)]
doxy: don't sort struct members alphabetically
The declaration order is more meanigful in most cases.
Anton Khirnov [Sun, 12 May 2013 12:54:43 +0000 (14:54 +0200)]
lavr doxy: add version.h to the lavr group
Anton Khirnov [Mon, 27 Feb 2012 10:34:03 +0000 (11:34 +0100)]
lavc doxy: add avcodec.h to the libavcodec group.
Anton Khirnov [Wed, 11 Apr 2012 13:45:22 +0000 (15:45 +0200)]
doxy: add a section about versioning.
Anton Khirnov [Wed, 11 Apr 2012 06:31:10 +0000 (08:31 +0200)]
lavfi doxy: add a page for lavfi.
Luca Barbato [Fri, 17 May 2013 11:08:55 +0000 (13:08 +0200)]
jpegls: check the scan offset
Prevent an out of array bound write.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 17 May 2013 10:38:44 +0000 (12:38 +0200)]
jpegls: factorize return paths
Luca Barbato [Fri, 17 May 2013 10:36:06 +0000 (12:36 +0200)]
jpegls: return meaningful errors
Michael Kostylev [Thu, 16 May 2013 13:29:46 +0000 (09:29 -0400)]
sparc: VIS mnemonics
Currently, if VIS is enabled by configure, it will also be enabled at
run-time regardless of its support in the hardware. Thus, masking VIS
usage as it is done in vis.h by constructing binary instructions is
pointless. Using normal VIS mnemonics in inline assembly allows to take
advantage of automatic register allocation, gets rid of register
variables, which are unsupported by suncc for SPARC, and improves code
readability.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Jindrich Makovicka [Thu, 16 May 2013 14:49:28 +0000 (16:49 +0200)]
mpegvideo: allocate sufficiently large scratch buffer for interlaced vid
MPV_decode_mb_internal needs 3 * 16 * linesize bytes of scratch buffer
For interlaced content, linesize is multiplied by two after the allocation
of the scratch buffer, and the dest_cr pointer ends past the buffer.
This patch makes ff_mpv_frame_size_alloc allocate a total of
(aligned line_size) * 2 * 16 * 3 bytes, which suffices even for the
interlaced case.
CC:libav-stable@libav.org
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 11 May 2013 15:32:52 +0000 (17:32 +0200)]
pthread: reindent
Anton Khirnov [Sat, 11 May 2013 15:30:53 +0000 (17:30 +0200)]
lavc/pthread: remove obsolete checks
Those were useful when avcodec_thread_init() was a public functions. It
was deprecated and removed some time ago, so those checks are not needed
anymore.
Anton Khirnov [Mon, 18 Mar 2013 20:31:54 +0000 (21:31 +0100)]
vf_pixdesctest: make config_props work properly when called multiple times.
Anton Khirnov [Mon, 18 Mar 2013 20:31:54 +0000 (21:31 +0100)]
vf_hqdn3d: make config_props work properly when called multiple times.
Do not leak all the temp buffers.
Anton Khirnov [Mon, 18 Mar 2013 21:13:35 +0000 (22:13 +0100)]
vf_drawtext: don't leak the expressions.
Anton Khirnov [Mon, 18 Mar 2013 20:31:54 +0000 (21:31 +0100)]
vf_crop: make config_props work properly when called multiple times.
Do not leak the x/y expressions.
Anton Khirnov [Mon, 18 Mar 2013 20:31:54 +0000 (21:31 +0100)]
vf_setdar: make config_props work properly when called multiple times.
Do not overwrite the variable set through AVOptions.
Anton Khirnov [Mon, 18 Mar 2013 20:31:54 +0000 (21:31 +0100)]
vf_drawbox: make config_props work properly when called multiple times.
Do not overwrite the variables set through AVOptions.
Anton Khirnov [Mon, 18 Mar 2013 21:07:10 +0000 (22:07 +0100)]
vf_drawtext: do not reset the frame number in config_input.
Frame number should be incremented normally even if the link properties
change.