Compute individual stream durations in matroska muxer.
Write them as string tags in the same format as mkvmerge tool does.
Signed-off-by: Sasi Inguva <isasi@google.com>
* commit 'a0797950527120c85263c910eb6ba08fddcfdcb3':
fate/mp3: specify the number of output samples instead of filesize
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'bf0cef5c3a114df452e5476167634dd8f51eb448':
checkasm: Include io.h for isatty, if available
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
configure does check for isatty, and checkasm properly checks
HAVE_ISATTY, but on some platforms (e.g. WinRT), io.h needs to be
included for isatty to be available.
Signed-off-by: Martin Storsjö <martin@martin.st>
Also replace custom tests for MD5 with those published in RFC 2202
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Avoid clipping due to quantization noise to produce audible
artifacts, by detecting near-clipping signals and both attenuating
them a little and encoding escape-encoded bands (usually the
loudest) rounding towards zero instead of nearest, which tends to
decrease overall energy and thus clipping.
Currently fate tests measure numerical error so this change makes
tests using asynth (which are near clipping) report higher error
not less, because of window attenuation. Yet, they sound better,
not worse (albeit subtle, other samples aren't subtle at all).
Only measuring psychoacoustically weighted error would make for
a representative test, so that will be left for a future patch.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
The test file they use needs avdevice to be created
Probably fixes Ticket 4455
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'e605bf3b590d295f215fcc9fd58eb11be55b68cb':
checkasm: remove empty array initializer list in h264pred test
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes Ticket4664
The changed fate tests lack red/blue shades and thus look correct
either way
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '82e6ac85ff9aa7631b8c01521b3d6b5ca0bc8014':
checkasm: test all architectures with optimisations
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '6cc4d3e9a982e926494f4b919d9733fe29774acf':
checkasm: exit with status 0 instead of 1 if there are no tests to perform
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
It provides the following features:
* verify correctness by comparing output to the C version.
* detect failure to save and restore clobbered callee-saved registers.
* detect 32-bit parameters being used as if they were 64-bit in x86-64
(the upper halves are not guaranteed to be zero - but in practice
they very often are, which makes those bugs hard to spot otherwise).
* easy benchmarking.
Compile by running 'make checkasm'.
Execute by running 'tests/checkasm/checkasm'.
Optional arguments are '--bench' to run benchmarks for all functions,
'--bench=<pattern>' to run benchmarks for all functions that starts with
<pattern>, and '<integer>' to seed the PRNG for reproducible results.
Contains unit tests for most h264pred functions to get started, more tests
can be added afterwards using those as a reference.
Loosely based on code from x264. Currently only supports x86 and x86-64,
but additional architectures shouldn't be too much of an obstacle to add.
Note that functions with floating point parameters or floating point
return values are not supported. Some compiler-specific features or
preprocessor hacks would likely be required to add support for that.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20':
h261: Signal freeze picture release for intra frames
Conflicts:
tests/ref/vsynth/vsynth1-h261
tests/ref/vsynth/vsynth2-h261
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Freeze picture release should be set to 1 when we're responding to a
fast update request. For simplicity we set it for all intra frames,
including those that starts a GOP.
Fixes issue where Tandberg MXP1700 does not recover from packet loss
state since it's waiting for the freeze picture relase indication.
Bug-Id: 873
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Ref H.261 recommendation section 4.2.1.3, setting the still image flag
to 1 disables still image mode. Some decoders require this in order to
decode the bitstream as normal video.
Fixes H.261 calls to Cisco E20.
Also, reserved (aka spare) bits should be set to 1 unless specified
otherwise.
Bug-Id: 872
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This change fixes a bug where a test that required a sample was being included
in the suite when SAMPLES was not set. It also improves the consistency of
variable names relating to the API tests.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f91fe24e9bd6912c29bbb03d8afe878e045f9721':
g2meet: force simple idct for identical results over all fate configs
Conflicts:
tests/ref/fate/g2m3
tests/ref/fate/g2m4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4d1229dabf7a7e3b6a7b326afd79102256c3b008':
g2meet: Add FATE tests for all three G2M variants
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Most of the fate-dds-* and fate-txd-* tests already
output into the same pixel format regardless of
platform endianness, so there's no need to force
conversion to another format.
This fixes the tests fate-txd-16bpp, fate-txd-odd,
fate-dds-rgb16, fate-dds-rgb24 and fate-dds-xrgb on
big endian, where the tests seem to fail due to issues
with certain conversion codepaths in swscale.
Those conversion codepaths should of course be fixed, but
the individual decoder tests should use as little extra
conversion steps as possible.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '3ad678a85b96fc5fecd60e3d3a31ca5ffc89d67f':
fate: Update ac3 test to the new request_channel_layout option
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '441e8ae5efd681055e5af6f4317fb60110de9dd0':
FATE: drop the last truncated frame from the wmapro tests
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd3ea79e8a65ddad4da11813bb43c46701295f68c':
FATE: drop the last truncated frame from the wma lossless test
Conflicts:
tests/fate/lossless-audio.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The old one is the result of the reverse engineering and guesswork.
The new one has been written following the now-available specification.
This work is part of Outreach Program for Women Summer 2014 activities
for the Libav project.
The fate references had to be changed because the old demuxer truncates
the last frame in some cases, the new one handles it properly.
The seek-test reference is changed because seeking works differently
in the new demuxer. When seeking, the packet is not read from the stream
directly, but it is rather constructed by the demuxer. That is why
position is -1 now in the reference.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The intention of this change is to allow separation of API tests from the
existing tests, and also to have a place for the API test source/executable
files so they're not mixed in with the actual library code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Result differs in pkt_duration and time_base.den for some reason.
Right now it tests only one example (adjusted to match the output).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ideally this should be discarded by the demuxer but this is not
possible without fully parsing which would be then very similar
to this. The current ID3v1 discard code in the demuxer does not work
and will be removed in a subsequent commit
The discard code could be adjusted if needed to also discard tags at
other locations than the end or to limit this possibly to input
from the mp3 demuxer or even to move the discarding to the
decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>