Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2020-06-08Revert "lavf/mp3dec: don't adjust start time; packets are not adjusted."Michael Niedermayer
This causes regressions in end to end timestamps with mp3s and ffmpeg. The revert is to avoid this regression in the 4.3 release See: [FFmpeg-devel] [PATCH] Don't adjust start time for MP3 files; packets are not adjusted. This reverts commit 460132c9980f8a1f501a1f69477bca49e1641233.
2020-06-04fate/vcodec: use the encoder private option for frame skip compare functionJames Almer
Stop using the deprecated global option Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-02fate: add adpcm_ima_ssi encoding testZane van Iperen
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-06-01checkasm: sw_rgb: Fix mixed declaration and codeJun Zhao
Fix mixed declaration and code. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-05-28dnn-layer-mathunary-test: add unit test for absTing Fu
Signed-off-by: Ting Fu <ting.fu@intel.com> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-05-27lavf/mp3dec: don't adjust start time; packets are not adjusted.Dale Curtis
7546ac2fee4 made it so that the start_time for mp3 files is adjusted for skip_samples. However, this appears incorrect because subsequent packet timestamps are not adjusted and skip_samples are applied by deleting data from a packet without changing the timestamp. E.g., we are told the start_time is ~25ms and we get a packet with a timestamp of 0 that has had the skip_samples discarded from it. As such rendering engines may incorrectly discard everything prior to the 25ms thinking that is where playback should officially start. Since the samples were deleted without adjusting timestamps though, the true start_time is still 0. Other formats like MP4 with edit lists will adjust both the start time and the timestamps of subsequent packets to avoid this issue. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
2020-05-25fate: add tests for h264 and vp9 video enc parameters exportAnton Khirnov
2020-05-23lavfi: add untile filter.Nicolas George
2020-05-23avcodec/ass: explicitly set ScaledBorderAndShadowOneric
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-22Stop hardcoding align=32 in av_frame_get_buffer() calls.Anton Khirnov
Use 0, which selects the alignment automatically.
2020-05-21checkasm/sw_scale: Fix stack-buffer-overflowAndreas Rheinhardt
A buffer whose size is not a multiple of four has been initialized using consecutive writes of 32bits. This results in a stack-buffer-overflow reported by ASAN in the checkasm-sw_scale FATE-test. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-05-20fate: add adpcm_ima_cunning testsZane van Iperen
single: Single-track track{0,1}: Dual-track trunc-t1: Truncated track 1 trunc-t2-track{0,1}: Fully-truncated track 2 trunc-t2a-track{0,1}: Partially-truncated track 2 trunc-h2: Truncated track 2 header Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-20avcodec/exr: output float pixels in float pixel formatMark Reid
changes since v1 - default behavior, no longer hidden behind decoder parameter - updated tests to reflect change Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-19avfilter/vf_colorkey: fix formula for calculation of differencePaul B Mahol
Also fixes colorhold filtering.
2020-05-19avformat/matroskaenc: Don't ignore tags of chapters written lateAndreas Rheinhardt
The Matroska muxer writes the Chapters early when chapters were already available when writing the header; in this case any tags pertaining to these chapters get written, too. Yet if no chapters had been supplied before writing the header, Chapters can also be written when writing the trailer if any are supplied. Tags belonging to these chapters were up until now completely ignored. This commit changes this: Writing the tags belonging to chapters has been moved to mkv_write_chapters(). If mkv_write_tags() has not been called yet (i.e. when chapters are written when writing the header), the AVIOContext for writing the ordinary Tags element is used, but not output, as this is left to mkv_write_tags() in order to only write one Tags element. Yet if mkv_write_tags() has already been called, mkv_write_chapters() will output a Tags element of its own which only contains the tags for chapters. When chapters are available initially, the corresponding tags will now be the first tags in the Tags element; but the ordering of tags in Tags is irrelevant anyway. This commit also makes chapter_id_offset local to mkv_write_chapters() as it is used only there and not reused at all. Potentially writing a second Tags element means that the maximum number of SeekHead entries had to be incremented. All the changes to FATE result from the ensuing increase in the amount of space reserved for the SeekHead (21 bytes more). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-05-19avformat/matroskaenc: Don't reserve space for duration when unseekableAndreas Rheinhardt
We won't be able to seek back to write the actual duration anyway. FATE-tests using the md5pipe command had to be updated due to this change. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-05-16checkasm: swscale: Fix running the hscale test on 32 bit x86Martin Storsjö
This function doesn't call emms. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: sw_rgb: Add a test for interleaveBytesMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: pixblockdsp: Add tests for get_pixels_unaligned and ↵Martin Storsjö
diff_pixels_unaligned Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: aarch64: Check for stack overflowsMartin Storsjö
Also fill x8-x17 with garbage before calling the function. Figure out the number of stack parameters and make sure that the value on the stack after those is untouched. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: arm: Check for stack overflowsMartin Storsjö
Figure out the number of stack parameters and make sure that the value on the stack after those is untouched. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: arm: Don't use blx to call checkasm_fail_funcMartin Storsjö
We should just use a normal bl here, and the linker will add the 'x' bit if necessary. This fixes calling the checkasm_fail_func on windows, where the code is built in thumb mode (and the linker doesn't clear the 'x' bit in the blx instruction). Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: arm: Make the indentation consistent with other filesMartin Storsjö
This makes it easier to share code with e.g. the dav1d implementation of checkasm. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-05-15checkasm: add hscale testJosh de Kock
This tests the hscale 8bpp to 14/18bpp functions with different filter sizes. Signed-off-by: Josh de Kock <josh@itanimul.li>
2020-05-15checkasm: add function to check and diff memoryMartin Storsjö
This was ported from dav1d (c950e7101bdf5f7117bfca816984a21e550509f0). Signed-off-by: Josh de Kock <josh@itanimul.li>
2020-05-14FATE: add fate test for minterpolate filterLimin Wang
have tested on linux x86_32/64, mingw32/64 arm & mips qemu Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-14fate: add scdet metadata testLimin Wang
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-14FATE: add a test for colorbalanceLimin Wang
Tested on x86-32/64, mingw32/64, arm & mips qemu Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-12test: Add codecview testMichael Niedermayer
2020-05-12tests: Add pp7, spp tests based on pp testMichael Niedermayer
2020-05-10fate: add signalstats 8bit and 10bit testLimin Wang
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-08dnn-layer-mathbinary-test: add unit test for minimumGuo, Yejun
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-05-07avformat/mux: Set AV_PKT_FLAG_KEY for is_intra_only packetLimin Wang
The patch will make audio and subtitle packets be marked as AV_PKT_FLAG_KEY. For audio, it'll caused the audio sample to be sync sample. To verify ref/fate/movenc results: 1. Get the movenc test data [lmwang@vpn ffmpeg]$ libavformat/tests/movenc -w && mkdir -p audio_old && mv *.mp4 audio_old_ After applied the patch: [lmwang@vpn ffmpeg]$ make fate-movenc SAMPLES=../fate-suite [lmwang@vpn ffmpeg]$ libavformat/tests/movenc -w && mkdir -p audio_key && mv *.mp4 audio_key 2. Get l-smash and build boxdumper https://github.com/l-smash/l-smash.git 3. dump the box of crc change mp4 and diff -u [lmwang@vpn ffmpeg]$ ../l-smash/cli/boxdumper --box audio_key/non-empty-moov-no-elst.mp4 > audio_key/non-empty-moov-no-elst.log [lmwang@vpn ffmpeg]$ ../l-smash/cli/boxdumper --box audio_old/non-empty-moov-no-elst.mp4 > audio_old/non-empty-moov-no-elst.log [lmwang@vpn ffmpeg]$ diff -u audio_key/non-empty-moov-no-elst.log audio_old/non-empty-moov-no-elst.log - default_sample_flags = 0x02000000 - independent - sync sample + default_sample_flags = 0x01010000 + dependent + non-sync sample 4. have checked the change of crc are caused by default_sample_flags non-empty-moov.mp4, non-empty-moov-elst.mp4, non-empty-moov-no-elst.mp4, empty-moov.mp4, delay-moov-content.mp4, empty-moov-second-frag.mp4, empty-moov-second-frag-discont.mp4, delay-moov-second-frag-discont.mp4, delay-moov-elst-second-frag.mp4 etc 5 For subtitle, it'll effect for tests/ref/fate/binsub-movtextenc and tests/ref/fate/sub2video, that's expecting result for the subtitle is marked as keyframe. Below is the checking result of binsub-movtextenc: [lmwang@vpn ffmpeg]$ ./ffmpeg -i ../fate-suite/sub/MovText_capability_tester.mp4 -map 0 -scodec mov_text -f mp4 -flags +bitexact -fflags +bitexact -movflags frag_keyframe+empty_moov audio_key/binsub-movtextenc.mp4 [lmwang@vpn ffmpeg]$ ./ffmpeg -i ../fate-suite/sub/MovText_capability_tester.mp4 -map 0 -scodec mov_text -f mp4 -flags +bitexact -fflags +bitexact -movflags frag_keyframe+empty_moov audio_old/binsub-movtextenc.mp4 [lmwang@vpn ffmpeg]$../l-smash/cli/boxdumper audio_key/binsub-movtextenc.mp4 > audio_key/binsub-movtextenc.log [lmwang@vpn ffmpeg]$../l-smash/cli/boxdumper audio_old/binsub-movtextenc.mp4 > audio_old/binsub-movtextenc.log [lmwang@vpn ffmpeg]$ diff -u audio_key/binsub-movtextenc.log audio_old/binsub-movtextenc.log .... // the key difference is the flag for sync sample - flags = 0x000701 + flags = 0x000301 data-offset-present sample-duration-present sample-size-present - sample-flags-present sample_count = 6 - data_offset = 188 + data_offset = 164 sample[0] sample_duration = 1570000 sample_size = 21 - sample_flags = 0x02000000 - independent - sync sample - degradation_priority = 0 sample[1] sample_duration = 510000 sample_size = 2 - sample_flags = 0x01010000 - dependent - non-sync sample - degradation_priority = 0 sample[2] sample_duration = 1690000 sample_size = 9 - sample_flags = 0x02000000 - independent - sync sample - degradation_priority = 0 Suggested-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Suggested-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-06avformat/url: check url root node when rel include double dot and trim ↵Steven Liu
double dot fix ticket: 8625 and add testcase into url for double dot corner case Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-05-06tests/fate/hlsenc: rename fate macro define from FATE_AFILTER to FATE_HLSENCSteven Liu
and add fate-hlsenc for test all of the testcase Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-05-05libswscale: add output support for AV_PIX_FMT_GBRAPF32Mark Reid
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-02fftools/ffprobe: show closed caption info in the stream dumpvectronic
Signed-off-by: vectronic <hello.vectronic@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
2020-05-01fate/oggopus-demux: fix fate failureLynne
Failure was due to the extra comment printed by libavcodec/utils.c since side data is used to signal the skipped samples.
2020-04-29tests/api/api-h264-slice-test: remove unused bool headerLinjie Fu
Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Josh de Kock <josh@itanimul.li>
2020-04-26fate: hevc: Skip a few large testcases if large tests are disabledMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2020-04-26fate: Skip the dnxhd-uhd-hr-sq tests of large tests are disabledMartin Storsjö
These tests are also in the same size range as the previously skipped 2k and 4k tests. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-04-24dnn-layer-mathbinary-test: Fix tests for cases with extra intermediate precisionMartin Storsjö
This fixes tests on 32 bit x86 mingw with clang, which uses x87 fpu by default. In this setup, while the get_expected function is declared to return float, the compiler is (especially given the optimization flags set) free to keep the intermediate values (in this case, the return value from the inlined function) in higher precision. This results in the situation where 7.28 (which actually, as a float, ends up as 7.2800002098), multiplied by 100, is 728.000000 when really forced into a 32 bit float, but 728.000021 when kept with higher intermediate precision. For the multiplication case, a more suitable epsilon would e.g. be 2*FLT_EPSILON*fabs(expected_output), but just increase the current hardcoded threshold for now. Signed-off-by: Martin Storsjö <martin@martin.st>
2020-04-22dnn-layer-mathbinary-test: add unit test for divideGuo, Yejun
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-22dnn-layer-mathbinary-test: add unit test for 'mul'Guo, Yejun
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-22dnn-layer-mathbinary-test: add unit test for addGuo, Yejun
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-21avformat/matroskaenc: Redo handling of FlagDefaultAndreas Rheinhardt
Up until now, the Matroska muxer would mark a track as default if it had the disposition AV_DISPOSITION_DEFAULT or if there was no track with AV_DISPOSITION_DEFAULT set; in the latter case even more than one track of a kind (audio, video, subtitles) was marked as default which is not sensible. This commit changes the logic used to mark tracks as default. There are now three modes for this: a) In the "infer" mode the first track of every type (audio, video, subtitles) with default disposition set will be marked as default; if there is no such track (for a given type), then the first track of this type (if existing) will be marked as default. This behaviour is inspired by mkvmerge. It ensures that the default flags will be set in a sensible way even if the input comes from containers that lack the concept of default flags. This mode is the default mode. b) The "infer_no_subs" mode is similar to the "infer" mode; the difference is that if no subtitle track with default disposition exists, no subtitle track will be marked as default at all. c) The "passthrough" mode: Here the track will be marked as default if and only the corresponding input stream had disposition default. This fixes ticket #8173 (the passthrough mode is ideal for this) as well as ticket #8416 (the "infer_no_subs" mode leads to the desired output). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-04-21avformat/matroskaenc: Don't waste bytes on length fieldsAndreas Rheinhardt
Several EBML Master elements for which a good upper bound of the final length was available were nevertheless written without giving an upper bound of the final length to start_ebml_master(), so that their length fields were eight bytes long. This has been changed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-04-20avformat/matroskaenc: Improve Cues in case of no videoAndreas Rheinhardt
The Matroska muxer currently only adds CuePoints in three cases: a) For video keyframes. b) For the first audio frame in a new Cluster if in DASH-mode. c) For subtitles. This means that ordinary Matroska audio files won't have any Cues which impedes seeking. This commit changes this. For every track in a file without video track it is checked and tracked whether a Cue entry has already been added for said track for the current Cluster. This is used to add a Cue entry for each first packet of each track in each Cluster. Implements #3149. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-04-20fate/truehd: add a test for the truehd_core bitstream filterJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2020-04-20fate: move TrueHD tests to their own fileJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>