1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

116 Commits

Author SHA1 Message Date
Mans Rullgard
11e33402ca fate: use standard diff options
diff -w is not a standard option.  This fixes the reference files
to match what the tests actually output and switches to using the
standard diff -b which is sufficient to handle different line ending
styles.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-15 19:47:18 +01:00
Mans Rullgard
0ff0af731c fate: use diff -b in oneline comparison
This is simpler and should take care of any problems with mixed
line ending styles.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-15 15:23:34 +01:00
Stefano Sabatini
f48f03a400 ffprobe: add "noprint_wrappers" option to default writer
The option is useful for simplifying parsing.

Also use the new option in fate, in order to fix the regression
introduced by the previous commit.
2012-05-14 12:59:51 +02:00
Michael Niedermayer
b4178a3f13 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Support 'rtmp_live', an option which specifies if the media is a live stream.
  av_samples_fill_array: Mark unmodified function argument as const.
  lagarith: add YUY2 decoding support
  Support decoding unaligned rgb24 lagarith.
  dv: Split profile handling code into a separate file.
  flvenc: use AVFormatContext, not AVCodecContext for logging.
  mov: Remove write-only variable in mov_read_chan().
  fate: Change the probe-format refs to match the final text format committed.
  fate: Add avprobe as a make dependency
  Add probe fate tests to test for regressions in detecting media types.
  fate: Add oneline comparison method
  qdm2: clip array indices returned by qdm2_get_vlc().
  avplay: properly close/reopen AVAudioResampleContext on channel layout change
  avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2()
  avcodec: for audio encoding, reset output packet when it is not valid
  avcodec: refactor avcodec_encode_audio2() to merge common branches
  avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()

Conflicts:
	ffplay.c
	libavcodec/Makefile
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/qdm2.c
	libavcodec/utils.c
	libavformat/flvenc.c
	libavformat/mov.c
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-08 22:02:59 +02:00
Ronald S. Bultje
4bfa67bdad Add probe fate tests to test for regressions in detecting media types.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-05-07 10:14:51 -07:00
Mans Rullgard
40fa14f775 fate: Add oneline comparison method
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-05-07 10:14:50 -07:00
Michael Niedermayer
2a976debc1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dv: Initialize encoder tables during encoder init.
  dv: Replace some magic numbers by the appropriate #define.
  FATE: pass the decoded output format and audio source file to enc_dec_pcm
  FATE: specify the input format when decoding in enc_dec_pcm()
  x86inc: support AVX abstraction for 2-operand instructions
  configure: detect PGI compiler and set suitable flags
  avconv: check for an incompatible changing channel layout
  avio: make AVIOContext.av_class pointer to const
  nutdec: add malloc check and fix const to non-const conversion warnings

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-19 21:23:52 +02: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
Michael Niedermayer
bae053fca4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: make compare() function compatible with POSIX bc
  Update Janne's email address.
  APIchanges: Replace Subversion revision numbers by Git hashes.
  bytestream: Eliminate one level of pointless macro indirection.
  xwd: convert to bytestream2.
  vqavideo: port to bytestream2 API
  Read preset files with suffix .avpreset
  prores: allow user to set fixed quantiser
  lavf: remove some disabled code.
  lavf: only set average frame rate for video.
  lavf: remove a pointless check.
  avcodec: add XBM encoder

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/vqavideo.c
	libavformat/img2enc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-18 23:39:42 +01: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
Michael Niedermayer
967bdb8572 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  resample: allocate a large enough output buffer
  fate: fix enc_dec_pcm tests with remote target
  wmaenc: remove bit-exact hack
  FATE: remove WMA acodec tests
  FATE: add WMAv1 and WMAv2 encode/decode tests with fuzzy comparison
  FATE: add AC-3 and E-AC-3 encode/decode tests with fuzzy comparison
  qtrle: Use bytestream2 functions to prevent buffer overreads.
  vqavideo: check malloc return values
  x11grab: fix a memory leak exposed by valgrind
  threads: fix old frames returned after avcodec_flush_buffers()
  MPV: always mark dummy frames as reference
  h264: fix deadlocks on incomplete reference frame decoding.
  mpeg4: report frame decoding completion at ff_MPV_frame_end().
  mimic: don't use self as reference, and report completion at end of decode().

Conflicts:
	libavcodec/h264.c
	libavcodec/qtrle.c
	libavcodec/resample.c
	libavcodec/vqavideo.c
	libavdevice/x11grab.c
	tests/ref/seek/wmav1_asf
	tests/ref/seek/wmav2_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-17 23:16:05 +01: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
Michael Niedermayer
8a91da9575 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: K&R formatting cosmetics
  s3tc.h: Add missing #include to fix standalone header compilation.
  FATE: add capability for audio encode/decode tests with fuzzy psnr comparison
  FATE: allow a tolerance in the size comparison in do_tiny_psnr()
  FATE: use absolute difference from a target value in do_tiny_psnr()
  FATE: allow tests to set CMP_SHIFT to pass to tiny_psnr
  FATE: use $fuzz directly in do_tiny_psnr() instead of passing it around

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-17 04:43:12 +01: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
Michael Niedermayer
6df42f9874 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  SBR DSP: fix SSE code to not use SSE2 instructions.
  cpu: initialize mask to -1, so that by default, optimizations are used.
  error_resilience: initialize s->block_index[].
  svq3: protect against negative quantizers.
  Don't use ff_cropTbl[] for IDCT.
  swscale: make filterPos 32bit.
  FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
  avconv: add -cpuflags option for setting supported cpuflags.
  cpu: add av_set_cpu_flags_mask().
  libx264: Allow overriding the sliced threads option
  avconv: fix counting encoded video size.

Conflicts:
	doc/APIchanges
	doc/fate.texi
	doc/ffmpeg.texi
	ffmpeg.c
	libavcodec/h264idct_template.c
	libavcodec/svq3.c
	libavutil/avutil.h
	libavutil/cpu.c
	libavutil/cpu.h
	libswscale/swscale.c
	tests/Makefile
	tests/fate-run.sh
	tests/regression-funcs.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 03:22:49 +01:00
Anton Khirnov
018f39ef49 FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option. 2012-03-06 15:03:36 +01:00
Reimar Döffinger
f23a740303 Add muxer test based on stream-copy from FATE sample.
This should test muxing Theora into Ogg.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-18 16:41:39 +01:00
Clément Bœsch
3d38a7260b fate: give stderr hint when a test fails. 2011-12-26 22:27:01 +01:00
Michael Niedermayer
0a23067ab4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpeg4dec: use unsigned type for startcode in ff_mpeg4_decode_picture_header
  mpeg124: use sign_extend() function
  ac3dec: use get_sbits() instead of manually sign-extending
  4xm: fix signed overflow
  wmavoice: fix a signed overflow
  mpegvideo_enc: fix a signed overflow
  crc: fix signed overflow
  fate: run avconv with -nostats flag
  avtools: add -v as alias for -loglevel
  avconv: always print stats with AV_LOG_INFO
  doc/avconv: add forgotten output/per-stream info to -filter
  avconv: add -stats option to enable/disable printing encoding progress
  avconv: in output_packet() don't set decoded_data_size for video.
  avconv: remove pointless always true condition
  avconv: factorize common code in transcode_init()
  zmbv: remove memcpy() of decoded frame
  mpeg12enc: use sign_extend() function
  h264pred: use unsigned types for pixel values, fix signed overflows
  h264: fix signed overflows in x*0x01010101 expressions
  h264pred: remove unused variables

Conflicts:
	avconv.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-10 03:50:58 +02:00
Mans Rullgard
0836d48a16 fate: run avconv with -nostats flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 16:53:12 +01:00
Michael Niedermayer
f9a2d0c3fe Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  avconv: Reformat s16 volume adjustment.
  ARM: NEON optimised vector_fmac_scalar()
  dca: use vector_fmac_scalar from dsputil
  dsputil: add vector_fmac_scalar()
  latmenc: Fix private options
  vf_unsharp: store hsub/vsub in the filter context
  vf_unsharp: adopt a more natural order of params in apply_unsharp()
  vf_unsharp: rename method "unsharpen" to "apply_unsharp"
  vf_scale: apply the same transform to the aspect during init that is applied per frame
  vf_pad: fix "vsub" variable value computation
  vf_scale: add a "sar" variable
  lavfi: fix realloc size computation in avfilter_add_format()
  vsrc_color: use internal timebase
  lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
  graphparser: prefer void * over AVClass * for log contexts
  avfiltergraph: use meaningful error codes
  avconv: Initialize return value for codec copy path.
  fate: use 'run' helper for seek-test
  fate: remove seek-mpeg2reuse test
  Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
  ...

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 01:11:01 +02:00
Mans Rullgard
dec4b4705f fate: use 'run' helper for seek-test
This is simpler, and the actual seek-test command is printed with V=1.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 02:30:30 +01:00
Michael Niedermayer
3c54e7ed4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
  ac3enc: scale floating-point coupling channel coefficients in scale_coefficients() rather than in apply_channel_coupling()
  ac3enc: fix encoding of stereo ac3 files when rematrixing is disabled.
  wavpack: fix wrong return value in wavpack_decode_block()
  avconv: fix parsing metadata specifiers.
  fate: use +frame+slice named constants instead of '3'
  mpeg12: propagate more real return values through chunk decode error return and fix some indentation
  wavpack: use context reset in appropriate places
  avconv: move mux_preload and mux_max_delay to options context
  avconv: move bitstream filters to options context.
  avconv: move rate_emu to options context.
  avconv: move max_frames to options context.
  avconv: move metadata to options context.
  avconv: move ts scale to options context.
  avconv: move chapter maps to options context.
  avconv: move metadata maps to options context.
  avconv: move codec_names to options context.

Conflicts:
	avconv.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 22:29:16 +02:00
Anton Khirnov
bc5acfa7af fate: use +frame+slice named constants instead of '3' 2011-09-05 12:11:08 +02:00
Michael Niedermayer
091a24b75f fate: more cases of avconv that should be conditional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-16 03:38:00 +02:00
Michael Niedermayer
6322bc0b90 fate: some shells parse $11 as ${1}1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-16 00:29:09 +02:00
Michael Niedermayer
6ae356c9a0 fate: allow specifying the tool to use for fate (avconv / ffmpeg)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 23:11:46 +02:00
Anton Khirnov
6291d7e416 Make a copy of ffmpeg under a new name -- avconv.
It will be further developed with a few incompatible changes.

ffmpeg.c will stay as is for some time, so any scripts using it won't be
broken.
2011-08-12 13:27:30 +02:00
Diego Biurrun
191c5f8ff3 build: move tests/seek_test.c to libavformat and reuse generic build rules 2011-07-13 13:27:15 +02:00
Mans Rullgard
84757de0f5 fate: add 'null' comparison method
Setting CMP=null uses stdout from the test as the diff record in
the report without further inspection.  This can be useful when
the exit status of the test itself determines success while the
output is informative.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-04 09:54:16 +01:00
Mans Rullgard
ea57502c82 fate: remove output redirections from old regtest scripts
All tests are run through the fate-run.sh script which already
sets up redirections.  Using the outputs set there simplifies
things somewhat.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-21 12:37:58 +01:00
Ronald S. Bultje
3283f274fd FATE: allow forcing thread-type when doing threaded fate runs.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-21 19:36:45 -04:00
Luca Barbato
7851eb68c6 fate: add support for multithread testing
Add a THREADS variable to fate calls.
2011-03-23 01:17:20 +01:00
Måns Rullgård
c4795e8069 fate: print commands being executed with V=1
Originally committed as revision 25161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 09:55:31 +00:00
Måns Rullgård
078ae66b4b fate: set LC_ALL=C to avoid locale interference
Originally committed as revision 24889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 17:34:08 +00:00
Måns Rullgård
b42c483f07 fate-run: use 'run' function in 'ffmpeg' function
Originally committed as revision 24837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 16:51:24 +00:00
Måns Rullgård
91de2c0a73 fate: add -v 0 to ffmpeg flags
Originally committed as revision 24836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 16:51:21 +00:00
Måns Rullgård
dff1fc51b2 fate-run: add helper to run things on target
Originally committed as revision 24694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-04 06:56:59 +00:00
Måns Rullgård
61a187b081 fate: fix non-standard use of bc
Originally committed as revision 24651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 15:28:42 +00:00
Måns Rullgård
5b60c29339 fate: fix signal name translation
Originally committed as revision 24650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 12:29:03 +00:00
Måns Rullgård
4e705a6806 fate: translate exit status to signal name
Originally committed as revision 24623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:53:09 +00:00
Måns Rullgård
b82be63688 fate: create report files
Originally committed as revision 24529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:44:06 +00:00
Måns Rullgård
8fae6e7c11 Unbreak parallel lavfi testing
Originally committed as revision 24485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:13:32 +00:00
Måns Rullgård
157c924176 fate: delete useless artifacts after running each test
Originally committed as revision 24395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 20:49:36 +00:00
Måns Rullgård
bcb0a1546d fate: keep stderr from failing tests
Originally committed as revision 24394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 20:49:34 +00:00
Måns Rullgård
ffe72624e7 fate: run diff even if command fails
The diff may provide useful information even if the command was
unsuccessful.  The test is still treated as failed in this case.

Originally committed as revision 24353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 12:54:43 +00:00
Måns Rullgård
9a3f31efcb fate: allow running regtests through fate frontend
Originally committed as revision 24347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 10:19:28 +00:00
Måns Rullgård
cdaf4b79bb fate: simplify test runner slightly
All tests use the provided helper functions so prepending $target_exec
and using eval is no longer required.

Originally committed as revision 24317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:46:44 +00:00
Måns Rullgård
2b18c451bd fate: add some helper functions to simplify test rules
Originally committed as revision 24314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:19:30 +00:00
Måns Rullgård
f0388cf716 fate: apply TARGET_EXEC only to commands starting with absolute path
Originally committed as revision 24313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:19:25 +00:00
Måns Rullgård
d2f33c8021 fate: use our variable names in test rules imported from Mike's db
Originally committed as revision 24312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:19:21 +00:00
Måns Rullgård
122a9af76b fate-run: rename some variables consistently with other files
Originally committed as revision 24311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:19:16 +00:00
Måns Rullgård
e153cfa867 fate: add stddev comparator
This allows CMP=stddev in test rules.  The test passes if the reported
stddev is <= the FUZZ value (default 1).

Originally committed as revision 24289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 15:02:34 +00:00
Måns Rullgård
26e87a2261 fate: whitespace cosmetics
Originally committed as revision 24288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 15:02:32 +00:00
Måns Rullgård
83b203dc94 fate: ensure file sizes match in oneoff tests
Originally committed as revision 24164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 16:58:00 +00:00
Måns Rullgård
150ef830f5 fate: fail with a sensible error message if reference file is missing
Originally committed as revision 24152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 23:55:16 +00:00
Måns Rullgård
7d610af6f2 fate: delete output files from successful tests
Originally committed as revision 24150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 23:36:04 +00:00
Måns Rullgård
58d2b15447 fate: exit with error immediately if test command fails
Originally committed as revision 24147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 23:26:33 +00:00
Måns Rullgård
aab3ea5f7d fate: add oneoff comparison method
This adds the 'oneoff' comparison method.  It compares two s16le pcm
files with a max difference <= the fuzz factor treated as success.
Default fuzz is 1.  On failure, the full tiny_psnr output is printed.

Originally committed as revision 24134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 00:40:51 +00:00
Måns Rullgård
3ade7d32c1 fate: pass additional variables to test script
This passes the following additional variables to the test script:

- CMP  method to use comparing output with reference, default 'diff'
- REF  reference file, default 'tests/ref/fate/${test}'
- FUZZ maximum fuzz factor in comparison, meaning depends on CMP

Originally committed as revision 24133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 00:40:45 +00:00
Måns Rullgård
2fad097788 Add FATE tests
This adds a "fate" make target which runs the full FATE test suite.
Individual tests can be run with "make fate-$testname".

The location of the FATE test samples must be specified with the
--samples=PATH option to configure.

The tests/fate-update.sh script regenerates the references files and
test list from the online FATE database.  These are checked in since
generating them requires non-standard tools.

Originally committed as revision 22552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:23:24 +00:00