Sean McGovern [Mon, 27 May 2013 22:11:50 +0000 (18:11 -0400)]
matroskadec: introduce resync function.
This allows handling matroska files with errors.
Fixes test4.mkv and test7.mkv from the official Matroska test suite,
and by extension Bugzilla #62.
Based on a patch by Reimar Doffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Wed, 5 Jun 2013 11:51:28 +0000 (14:51 +0300)]
configure: Don't add -fPIC on windows targets
This avoids warnings about this option not having any effect on
this platform.
We still want to enable the pic configure item for these platforms
(if detected via the compiler builtin define __PIC__) to get proper
inline assembly workarounds.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 May 2013 12:10:37 +0000 (15:10 +0300)]
configure: Don't explicitly disable PIC for windows targets
This reverts
e08c946c6 and
05165c2f7a. The actual intention of
e08c946c6 was to fix shared library builds for arm/win32, which
can also be accomplished in other ways.
Disabling pic on those platforms broke inline assembly on cygwin/64
(since some inline assembly requires knowing whether we are building
as PIC or not), and might also break inline assembly on other
compilers on windows.
As a side-effect, this unfortunately brings back all the warnings
about PIC not having any effect on that platform.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 May 2013 12:08:57 +0000 (15:08 +0300)]
configure: arm: Don't try to enable pic for shared libraries on win32
The object file format doesn't support PIC loads in ARM assembly,
there are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).
Signed-off-by: Martin Storsjö <martin@martin.st>
Yusuke Nakamura [Sat, 8 Jun 2013 15:16:27 +0000 (00:16 +0900)]
utvideodec: Set colorspace by codec_tag.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Yusuke Nakamura [Sat, 8 Jun 2013 14:54:41 +0000 (23:54 +0900)]
riff: Support ULH0 and ULH2 fourccs.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Yusuke Nakamura [Sat, 8 Jun 2013 14:23:16 +0000 (23:23 +0900)]
utvideodec: Support ULH0 and ULH2 formats.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Luca Barbato [Mon, 3 Jun 2013 09:11:38 +0000 (11:11 +0200)]
faxcompr: return meaningful errors
And optionally forward them to the caller instead of concealing them.
Unify err and ret in a single variable.
Luca Barbato [Mon, 3 Jun 2013 08:37:15 +0000 (10:37 +0200)]
faxcompr: K&R formatting cosmetics
Luca Barbato [Mon, 3 Jun 2013 02:53:02 +0000 (04:53 +0200)]
tiff: do not overread the source buffer
At least 2 bytes from the source are read every loop.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Mon, 3 Jun 2013 02:00:43 +0000 (04:00 +0200)]
tiff: cleanup the error paths
Return the proper error values and optionally report them.
Luca Barbato [Mon, 3 Jun 2013 01:58:17 +0000 (03:58 +0200)]
tiff: refactor fax support in a separate function
Luca Barbato [Mon, 3 Jun 2013 01:51:05 +0000 (03:51 +0200)]
tiff: refactor deflate support in a separate function
Report when zlib support is missing.
Luca Barbato [Thu, 6 Jun 2013 06:02:50 +0000 (08:02 +0200)]
h264_parser: K&R formatting cosmetics
Luca Barbato [Fri, 17 May 2013 11:34:25 +0000 (13:34 +0200)]
vorbis: return meaningful errors
Martin Storsjö [Thu, 6 Jun 2013 10:59:34 +0000 (13:59 +0300)]
rtpdec: Fix the alphabetical ordering in registering depacketizers
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 6 Jun 2013 11:08:07 +0000 (14:08 +0300)]
libavformat: Fix standalone compilation of the webm muxer
The missing object file was added to the matroska muxer already, but
not to the webm muxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 29 May 2013 14:18:40 +0000 (16:18 +0200)]
apetag: use int64_t for filesize
CC: libav-stable@libav.org
Anton Khirnov [Wed, 29 May 2013 13:38:21 +0000 (15:38 +0200)]
avconv: check that the output format context exists before accessing it
Fixes a segfault in exit_program() if opening an output file fails.
Anton Khirnov [Sun, 12 May 2013 12:02:59 +0000 (14:02 +0200)]
lavfi doxy: improve/extend AVFilter doxy.
Luca Barbato [Sat, 1 Jun 2013 17:38:57 +0000 (19:38 +0200)]
network: uniform ff_listen_bind and ff_listen_connect
Document the functions and have both use a millisecond timeout and
check for interrupt.
Andrey Semashev [Sun, 2 Jun 2013 20:26:18 +0000 (23:26 +0300)]
movenc: Grow the frag_info array in chunks
Previously it was grown one element at a time, which leads to
excessive reallocations.
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrey Semashev [Mon, 3 Jun 2013 10:32:48 +0000 (13:32 +0300)]
movenc: Increase the cluster array allocation by doubling
The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.
Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrey Semashev [Sun, 2 Jun 2013 19:57:31 +0000 (22:57 +0300)]
movenc: Keep track of the allocated size for the cluster array
When writing fragmented mp4, the cluster array is reset when a
fragment is written. Instead of starting off reallocating the
array only based on the number of current elements in it, keep
track of how many elements there were allocated earlier.
This avoids reallocating this array needlessly when writing
fragmented mp4 files.
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 3 Jun 2013 09:31:46 +0000 (12:31 +0300)]
mem: Add av_realloc_array and av_reallocp_array
These help avoiding overflows and simplify error handling.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 2 Jun 2013 20:29:04 +0000 (23:29 +0300)]
movenc: Change the track struct name to match the typedef
This makes the struct name (which isn't used anywhere) match the
name of the typedef, as for all the other structs declared in this
header.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Mon, 25 Feb 2013 20:38:25 +0000 (21:38 +0100)]
Go2Webinar decoder
Kostya Shishkov [Sat, 1 Jun 2013 17:24:26 +0000 (19:24 +0200)]
vmd: decode videos with no LZ buffer size provided - they might not need it
The buffer is used for an additional pass of frame compression, so videos
can be coded without ever using it (and some are coded so indeed, e.g. in
Woodruff and the Schnibble of Azimuth game).
Kostya Shishkov [Sat, 1 Jun 2013 17:19:28 +0000 (19:19 +0200)]
vmd: fix mode 3 decoding
Diego Biurrun [Wed, 15 May 2013 22:28:17 +0000 (00:28 +0200)]
swscale: ppc: Remove commented-out define cruft
Diego Biurrun [Wed, 15 May 2013 22:28:03 +0000 (00:28 +0200)]
nsvdec: Remove commented-out debug cruft
Diego Biurrun [Sat, 1 Jun 2013 13:38:51 +0000 (15:38 +0200)]
cpu: Restructure code to avoid pointless ret variable indirection
libavutil/cpu.c:133:9: warning: unused variable ‘ret’ [-Wunused-variable]
Diego Biurrun [Sat, 1 Jun 2013 13:35:11 +0000 (15:35 +0200)]
tiff: K&R formatting cosmetics
Luca Barbato [Fri, 31 May 2013 01:05:13 +0000 (03:05 +0200)]
network: factor out connect-listening code
Introduce ff_listen_connect, to be shared with the other
non-tcp network protocols.
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>