Commit Graph

37509 Commits

Author SHA1 Message Date
Kostya Shishkov
0b0953baec proresenc: alpha coding support 2013-05-30 09:23:26 +02:00
Martin Storsjö
86113667c0 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>
2013-05-30 02:17:37 +03:00
Martin Storsjö
efb7968cfe arm: Don't unconditionally build dsputil files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:35 +03:00
Martin Storsjö
36a7df8cf1 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>
2013-05-30 02:17:33 +03:00
Diego Biurrun
186599ffe0 build: cosmetics: Place unconditional before conditional OBJS lines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:31 +03:00
Diego Biurrun
9b9b2e9f30 build: arm: cosmetics: Place all OBJS declarations in alphabetical order
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:27 +03:00
Luca Barbato
701966730c 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
2013-05-29 21:30:21 +02:00
Luca Barbato
676da248ca 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
2013-05-29 12:11:47 +02:00
Luca Barbato
c8f3cb9119 vmd: return meaningful errors
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato
91a6944e56 vmd: use the PALETTE_COUNT constant uniformly
While at it drop useless parentheses.
2013-05-29 12:11:47 +02:00
Martin Storsjö
a51161ed98 doc: Mention the target_samples and ld variables for fate configs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 10:37:18 +03:00
Martin Storsjö
d7b9b66abb 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>
2013-05-29 10:37:05 +03:00
Martin Storsjö
9f30fb5a77 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>
2013-05-29 00:53:11 +03:00
Janne Grunau
bf20cdbd86 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.
2013-05-28 19:18:10 +02:00
Anton Khirnov
2d2d6a4883 lavf: add a raw WavPack muxer. 2013-05-28 18:19:19 +02:00
Anton Khirnov
88de0c7901 apetag: add support for writing APE tags
This will be useful in the WavPack muxer.
2013-05-28 18:19:03 +02:00
Anton Khirnov
01656fd476 matroskaenc: support muxing WavPack 2013-05-28 18:18:57 +02:00
Anton Khirnov
794ca87d2b wvdec: split block header parsing into a separate file
It will be reused by other muxers and demuxers.
2013-05-28 17:47:59 +02:00
Anton Khirnov
0a1a94450a lavf: rename wv.c to wvdec.c
wv.c will be used for shared wavpack functions.
2013-05-28 17:47:30 +02:00
Anton Khirnov
89806691b1 wavpack: check that all the channels were coded. 2013-05-28 17:47:24 +02:00
Anton Khirnov
eae1b8451a wavpack: check that there aren't too many blocks per packet 2013-05-28 17:47:17 +02:00
Anton Khirnov
7d039e70a5 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.
2013-05-28 17:47:04 +02:00
Anton Khirnov
78f75b6fa4 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.
2013-05-28 17:46:03 +02:00
Luca Barbato
0ba49d28a1 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>
2013-05-28 17:22:16 +02:00
Martin Storsjö
ba13606ca6 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>
2013-05-28 17:16:54 +03:00
Martin Storsjö
4a27a52a1f 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>
2013-05-28 17:14:18 +03:00
Kostya Shishkov
2cf5d29110 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.
2013-05-28 14:10:58 +02:00
Kostya Shishkov
6647aa0426 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.
2013-05-28 14:08:09 +02:00
Kostya Shishkov
3b03d7e251 dxtory v2 support 2013-05-28 13:35:09 +02:00
Michael Niedermayer
728214992e vc1dec: Remove interlaced warning
Also add a note about the feature in the changelog.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:29 +03:00
Michael Niedermayer
d8b9dbe776 vc1dec: Fix mixed field/frame intensity compensation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:24 +03:00
Michael Niedermayer
17410faa22 vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:20 +03:00
Michael Niedermayer
1be175f929 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>
2013-05-28 13:56:15 +03:00
Michael Niedermayer
c69765a2cc vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:12 +03:00
Michael Niedermayer
b412f705b5 vc1dec: Drop old use_ic code from vc1_b_mc
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:08 +03:00
Michael Niedermayer
5053a9a1ff vc1: Use shuffled use_ic instead of equally shuffled mv_mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:04 +03:00
Michael Niedermayer
3ced06f283 vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:59 +03:00
Michael Niedermayer
28243b0d35 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>
2013-05-28 13:55:55 +03:00
Michael Niedermayer
93b1281264 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>
2013-05-28 13:55:46 +03:00
Kostya Shishkov
851bc1d6be smacker: assign video frame PTS 2013-05-28 09:03:41 +02:00
Anton Khirnov
9b6f47c448 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.
2013-05-28 08:14:35 +02:00
Anton Khirnov
5074f4545c 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.
2013-05-28 08:14:05 +02:00
Anton Khirnov
72dee5f40b wavpack: don't set sample format in init.
We don't know whether it will be float until we look at the data.
2013-05-28 08:04:07 +02:00
Anton Khirnov
35596bd4f4 wavpack: remove a useless parameter from wavpack_decode_block().
The decoder always returns output if an error does not occur.
2013-05-28 08:03:57 +02:00
Anton Khirnov
d1bec4be22 wavpack: return an error on 0-sized blocks
Such blocks are not valid.
2013-05-28 08:03:37 +02:00
Anton Khirnov
1d177200ce 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.
2013-05-28 08:03:24 +02:00
Anton Khirnov
0f3a0b24dd wavpack: add an error message to a failure. 2013-05-28 08:03:13 +02:00
Anton Khirnov
474fb0c9d9 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.
2013-05-28 08:03:02 +02:00
Anton Khirnov
528daa3990 wavpack: switch to planar output
This simplifies the code and makes it faster.
2013-05-28 08:01:30 +02:00
Anton Khirnov
a7ec3a9a4e wavpack: drop redundant if/else blocks 2013-05-28 08:01:16 +02:00