Luca Barbato [Wed, 29 May 2013 23:08:51 +0000 (01:08 +0200)]
network: factor out bind-listening code
Introduce ff_listen_bind, to be shared with the other non-tcp
network protocols.
Kostya Shishkov [Sat, 1 Jun 2013 08:38:56 +0000 (10:38 +0200)]
use my full first name instead of short one in copyrights
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.
This fixes bug 259.
Alex Smith [Thu, 30 May 2013 20:11:21 +0000 (20:11 +0000)]
configure: icl: Merge -Qdiag-error parameters
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
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.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Kostya Shishkov [Sat, 18 May 2013 10:07:30 +0000 (12:07 +0200)]
proresenc: alpha coding support
Martin Storsjö [Wed, 29 May 2013 18:41:37 +0000 (21:41 +0300)]
arm: Include hpeldsp_neon.o if h264qpel is enabled
A few of the h264qpel neon functions are shared with other
hpeldsp functions in this file.
This fixes standalone compilation of the h264 decoder on arm.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 29 May 2013 18:31:46 +0000 (21:31 +0300)]
arm: Don't unconditionally build dsputil files
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 29 May 2013 18:08:10 +0000 (21:08 +0300)]
arm: Only build the FFT init files if FFT is enabled
This fixes build errors in cases where FFT is disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 29 May 2013 21:15:17 +0000 (23:15 +0200)]
build: cosmetics: Place unconditional before conditional OBJS lines
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 29 May 2013 21:15:16 +0000 (23:15 +0200)]
build: arm: cosmetics: Place all OBJS declarations in alphabetical order
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Wed, 29 May 2013 14:59:13 +0000 (16:59 +0200)]
vmd: drop incomplete chunks and spurious samples
Odd chunk size makes no sense for stereo and incomplete chunks are
not supported.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Tue, 28 May 2013 20:09:59 +0000 (22:09 +0200)]
vmd: refactor the inner decode loop
Simplify a little, assume empty frames are acceptable and
do not pointlessly reinit the bytestream2 contexts using
possibly wrong size values.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Tue, 28 May 2013 20:00:12 +0000 (22:00 +0200)]
vmd: return meaningful errors
CC: libav-stable@libav.org
Luca Barbato [Tue, 28 May 2013 21:49:43 +0000 (23:49 +0200)]
vmd: use the PALETTE_COUNT constant uniformly
While at it drop useless parentheses.
Martin Storsjö [Tue, 28 May 2013 20:03:25 +0000 (23:03 +0300)]
doc: Mention the target_samples and ld variables for fate configs
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 May 2013 20:00:54 +0000 (23:00 +0300)]
fate.sh: Allow specifying --as via a specific variable
This simplifies specifying a value containing spaces for this
parameter.
Signed-off-by: Martin Storsjö <martin@martin.st>
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).
Signed-off-by: Martin Storsjö <martin@martin.st>
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.
Anton Khirnov [Tue, 28 May 2013 15:44:18 +0000 (17:44 +0200)]
lavf: add a raw WavPack muxer.
Anton Khirnov [Tue, 28 May 2013 15:43:22 +0000 (17:43 +0200)]
apetag: add support for writing APE tags
This will be useful in the WavPack muxer.
Anton Khirnov [Tue, 28 May 2013 08:09:21 +0000 (10:09 +0200)]
matroskaenc: support muxing WavPack
Anton Khirnov [Tue, 28 May 2013 07:33:43 +0000 (09:33 +0200)]
wvdec: split block header parsing into a separate file
It will be reused by other muxers and demuxers.
Anton Khirnov [Tue, 28 May 2013 06:55:52 +0000 (08:55 +0200)]
lavf: rename wv.c to wvdec.c
wv.c will be used for shared wavpack functions.
Anton Khirnov [Mon, 27 May 2013 17:13:14 +0000 (19:13 +0200)]
wavpack: check that all the channels were coded.
Anton Khirnov [Mon, 27 May 2013 17:11:09 +0000 (19:11 +0200)]
wavpack: check that there aren't too many blocks per packet
Anton Khirnov [Mon, 27 May 2013 15:23:15 +0000 (17:23 +0200)]
wavpack: extract channel information from the bitstream
This way we don't require the caller to parse the block header. It also
allows the channel configuration to change mid-stream.
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>