1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

1355 Commits

Author SHA1 Message Date
Justin Ruggles
03caef1bed FATE: replace the acodec-g726 test with 4 new encode/decode tests
Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.
2012-04-20 10:23:57 -04:00
Justin Ruggles
a6c8cca2a8 FATE: replace current g722 encoding tests with an encode/decode test
Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.
2012-04-20 10:23:57 -04:00
Justin Ruggles
870165e217 FATE: add a pattern rule for generating asynth wav files 2012-04-20 10:23:57 -04:00
Justin Ruggles
010943c6ce FATE: optionally write a WAVE header in audiogen 2012-04-20 10:23:57 -04:00
Justin Ruggles
9cc338b1de FATE: pass the decoded output format and audio source file to enc_dec_pcm
This will allow decoding to md5 and doing a diff comparison to a reference
checksum instead of a fuzzy stddev or oneoff comparison.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-04-18 22:26:56 -04:00
Justin Ruggles
c755b1fbbc FATE: specify the input format when decoding in enc_dec_pcm()
The output format is not always the same as the file extension,
which is sometimes required for correct probing. We can avoid
probing by specifying the format since it is already known.
2012-04-18 22:26:49 -04:00
Anton Khirnov
b7327887ea avconv: get output pixel format from lavfi.
This way we don't require a clearly defined corresponding input stream.

The result for the xwd test changes because rgb24 is now chosen instead
of bgra.
2012-04-15 20:22:36 +02:00
Justin Ruggles
d3c59d5003 avconv: use default channel layouts when they are unknown
If either input or output layout is known and the channel counts match,
use the known layout for both. Otherwise choose the default layout based on
av_get_default_channel_layout().

Changed some FATE references due to some WAVE files now having a non-zero
channel mask.
2012-04-10 11:30:01 -04:00
Ronald S. Bultje
7756859a31 fate: add BMP tests. 2012-04-04 11:16:23 -07:00
Derek Buitenhuis
0aaa45ef69 FATE: Add RALF decoding test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-04-01 15:56:08 -04:00
Anton Khirnov
e2e165c00f FATE: add a test for vp8 with changing frame size. 2012-03-28 09:28:29 +02:00
Ronald S. Bultje
e74d6daa29 fate: add kgv1 fate test.
Tested to be bit-exact across x86-64, x86-32 and ppc.
2012-03-27 17:54:04 -07:00
Ronald S. Bultje
7beec7e29d fate: add wmalossless test. 2012-03-23 14:03:03 -07:00
Derek Buitenhuis
e9c0b12c2e FATE: Add ZeroCodec test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-03-22 19:52:56 +01:00
Justin Ruggles
b0f75ba272 mpegaudioenc: use AVCodec.encode2()
Update FATE references due to encoder delay.
2012-03-20 18:56:22 -04:00
Justin Ruggles
bb03b6f7b1 g722enc: use AVCodec.encode2()
FATE reference updated due timestamp rounding because of resampling from
44100 Hz to 16000 Hz in avconv.
2012-03-20 18:47:23 -04:00
Justin Ruggles
aa872af5e3 ac3enc: update to AVCodec.encode2()
Update FATE references due to encoder delay.
2012-03-20 18:46:56 -04:00
Justin Ruggles
e056f8d37d FATE: use +/- flag option syntax for vp8 emu-edge tests 2012-03-20 15:51:58 -04:00
Justin Ruggles
9b9fc9ba32 avconv: pass input stream timestamps to audio encoders
5 FATE test references updated due to using demuxer-generated timestamps that
are either not sample-accurate or are slightly off in the input file.
2012-03-20 14:12:54 -04:00
Justin Ruggles
cd2ffb67ad xa: fix timestamp calculation
The packet duration is always 28 samples.
2012-03-20 14:12:53 -04:00
Paul B Mahol
791d6df4ae FATE: change fate-maxis-xa to a normal demuxing test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-19 17:17:54 -04:00
Paul B Mahol
b36872bdb6 FATE: add test for adpcm-ea-maxis-xa
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-19 17:15:54 -04:00
Ronald S. Bultje
c346f6304c adpcm: fix nb_samples rounding for adpcm_ima_dk3, and update reference. 2012-03-18 15:25:25 -07:00
Mans Rullgard
a56fba502e fate: make compare() function compatible with POSIX bc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-03-18 18:40:59 +00:00
Mans Rullgard
b1740cb00a fate: fix enc_dec_pcm tests with remote target
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-03-17 17:28:33 +00:00
Justin Ruggles
85cf49fab7 FATE: remove WMA acodec tests 2012-03-17 11:46:15 -04:00
Justin Ruggles
3a1e453e54 FATE: add WMAv1 and WMAv2 encode/decode tests with fuzzy comparison 2012-03-17 11:33:35 -04:00
Justin Ruggles
a4cf4ef256 FATE: add AC-3 and E-AC-3 encode/decode tests with fuzzy comparison 2012-03-17 11:33:35 -04:00
Justin Ruggles
90e5b58a53 FATE: add capability for audio encode/decode tests with fuzzy psnr comparison
This allows for testing floating-point audio encoders across different
platforms where exact comparisons are unreliable due to float rounding
differences.
2012-03-15 17:06:17 -04:00
Justin Ruggles
cffd7580bb FATE: allow a tolerance in the size comparison in do_tiny_psnr()
This will allow for comparing decoded output to the original source when the
decoded size is not exactly the same as the original size.
2012-03-15 14:40:31 -04:00
Justin Ruggles
bb6842966e FATE: use absolute difference from a target value in do_tiny_psnr()
This will allow comparison to original pre-encoded content instead of
comparing to expected decoded output.
2012-03-15 14:40:31 -04:00
Justin Ruggles
5ecadc6620 FATE: allow tests to set CMP_SHIFT to pass to tiny_psnr
This will allow adjusting for any encoder or decoder delay when doing
comparisons.
2012-03-15 14:40:24 -04:00
Justin Ruggles
0720d263ea FATE: use $fuzz directly in do_tiny_psnr() instead of passing it around 2012-03-15 12:06:56 -04:00
Paul B Mahol
92a02d935b Add ffvhuff encoding and decoding regression test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-14 13:24:17 -07:00
Paul B Mahol
05e0061ef6 fate: add pam image regression test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-03-14 15:34:50 +01:00
Paul B Mahol
6efe180782 FATE: add shorthand to wavpack test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-12 21:47:47 -07:00
Paul B Mahol
5a877d9530 FATE: add test for cdxl demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-12 17:01:58 +02:00
Anton Khirnov
018f39ef49 FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option. 2012-03-06 15:03:36 +01:00
Justin Ruggles
6c65cf58fd lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
Also, do not give AVCodecContext.frame_size priority for muxing.

Updated 2 FATE references:
dxa-feeble - adds 1 audio frame that is still within 2 seconds as specified
             by -t 2 in the FATE test
wmv8-drm-nodec - durations are not needed. previously they were estimated
                 using the packet size and average bit rate.
2012-03-05 13:08:18 -05:00
Justin Ruggles
8d1a20aa7c aiffdec: do not set AVCodecContext.frame_size
It is unnecessary. Also, for some codecs we're reading more than 1 frame per
packet. Instead we use a private context variable to calculate the bit rate,
stream duration, and packet durations.

Updated FATE seek test, which has slightly different timestamps due to a
more accurate bit rate calculation.
2012-03-05 13:08:17 -05:00
Anton Khirnov
27c7ca9c12 lavf: deobfuscate read_frame_internal().
Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.

The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.

compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.
2012-03-05 18:47:05 +01:00
Derek Buitenhuis
6aa6e3e814 fate: Add sunrast regression test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-03 20:57:03 -05:00
Justin Ruggles
51ddf35c90 wmaenc: fix m/s stereo encoding for the first frame
We need to set ms_stereo in encode_init() in order to avoid incorrectly
encoding the first frame as non-m/s while flagging it as m/s. Fixes an
uncomfortable pop in the left channel at the start of playback.

CC:libav-stable@libav.org
2012-03-03 18:20:10 -05:00
Justin Ruggles
f9cf91d822 tiertexseq: set audio stream start time to 0
Update FATE test to reflect delayed video due to the file having audio-only
frames prior to the first frame with video.
2012-03-03 17:03:27 -05:00
Justin Ruggles
0883109b27 voc/avs: Do not change the sample rate mid-stream.
Also, set the time base based on the sample rate.
lavf-voc seek test updated to reflect slightly different seek points.
2012-03-03 17:03:27 -05:00
Justin Ruggles
d0ab585074 vqf: set packet duration
Fixes timestamp calculation.
The FATE reference is updated because timestamp calculations are now more
accurate. Previous timestamps were based on average bit rate.
2012-03-03 17:03:26 -05:00
Justin Ruggles
0b8b7db01b mpegaudio_parser: do not ignore information from the first parsed frame
Update some demuxing and seeking fate tests.
2012-03-03 17:03:26 -05:00
Martin Storsjö
b087ce2bee g722: Fix the QMF scaling
This fixes clipping if the encoder input used the full 16 bit
input range (samples with a magnitude below 16383 worked fine).
The filtered subband samples should be 15 bit maximum, while
the code earlier produced them scaled to 16 bit.

This makes the decoder output have double the magnitude
compared to before.

The spec reference samples doesn't test the QMF at all, which
was why this part slipped past initially.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-02 18:58:19 +02:00
Anton Khirnov
efec3bc65a electronicarts: set timebase for tgv video.
The container has no timestamps and the framerate isn't stored in the
data either.
The decoder sets codec timebase to experimentally found value 1/15. Do
the same for the demuxer too, it should at least be better than the
default 1/90000.
2012-03-02 11:11:38 +01:00
Anton Khirnov
e39400c3a8 electronicarts: parse the framerate for cmv video. 2012-03-02 11:11:38 +01:00