summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* avformat/matroskadec: Fix lzo decompressionAndreas Rheinhardt2019-12-28
| | | | | | | | | | | | | | | | | | | | | | | | When a Matroska Block is only stored in compressed form, the size of the uncompressed block is not explicitly coded and therefore not known before decompressing it. Therefore the demuxer uses a guess for the uncompressed size: The first guess is three times the compressed size and if this is not enough, it is repeatedly incremented by a factor of three. But when this happens with lzo, the decompression is neither resumed nor started again. Instead when av_lzo1x_decode indicates that x bytes of input data could not be decoded, because the output buffer is already full, the first (not the last) x bytes of the input buffer are resent for decoding in the next try; they overwrite already decoded data. This commit fixes this by instead restarting the decompression anew, just with a bigger buffer. This seems to be a regression since 935ec5a1. A FATE-test for this has been added. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate/matroska: Add test for ProRes and bz2 compressionAndreas Rheinhardt2019-12-28
| | | | | | | | | | This test tests that demuxing ProRes that is muxed like it should be in Matroska (i.e. with the first header ("icpf") atom stripped away) works; it also tests bz2 decompression as well as the handling of unknown-length clusters. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_waveform: implement tint optionsPaul B Mahol2019-12-28
|
* avfilter/vf_vectorscope: rename gray mode to tint modePaul B Mahol2019-12-28
|
* avutil/tests/opt: add av_opt_get/av_opt_set testsMarton Balint2019-12-27
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/tests/opt: add tests for AV_OPT_TYPE_DICTMarton Balint2019-12-27
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/microdvd: Use \n instead of \0 to end file headerAndreas Rheinhardt2019-12-27
| | | | | | | | | | | | | | | | | | | | Up until now, the microdvd demuxer uses av_strdup() to allocate the extradata from a string; its length is set to strlen() + 1, i.e. including the \0 at the end. Upon remuxing, the muxer would simply copy the extradata at the beginning, including the \0. This commit changes this by not adding the \0 to the size of the extradata; the muxer now delimits extradata by inserting a \n. This required to change the subtitles-microdvd-remux FATE-test. Furthermore, the extradata is now allocated with zeroed padding. The microdvd decoder is not affected by this, as it didn't use the size of the extradata at all, but treated it as a C-string. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/movenc: use iso6 major brand when signed CTS offsets are used in ↵James Almer2019-12-21
| | | | | | trun boxes Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/movenc: ensure we don't write the major brand as a compatible brand ↵James Almer2019-12-21
| | | | | | more than once Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/movenc: write the major brand also as the first compatible brandJames Almer2019-12-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: aacpsdsp: Tolerate extra intermediate precision in stereo_interpolateMartin Storsjö2019-12-18
| | | | | | | | | | | | | | | | | | | | | | The stereo_interpolate functions add h_step to the values h BUF_SIZE times. Within the stereo_interpolate C functions, the values h (h0-h3, h00-h13) are declared as local float variables, but the compiler is free to keep them in a register with extra precision. If the accumulation is rounded to 32 bit float precision after each step, the less significant bits of h_step end up ignored and the sum can deviate, affecting the end result more than the currently set EPS. By clearing the log2(BUF_SIZE) lower bits of h_step, we make sure that the accumulation shouldn't differ significantly, regardless of any extra precision in the accmulating register/variable. This fixes the aacpsdsp checkasm test when built with clang for mingw/x86_32. Signed-off-by: Martin Storsjö <martin@martin.st>
* ffprobe: Fix fate tests for ffprobe in cases where TARGET_PATH differs from ↵Martin Storsjö2019-12-18
| | | | | | | | | | | | | | | | | | | the current path In these cases, we must pass the full path of the file to ffprobe (as the current working dir on the remote system, e.g. when invoked with "ssh remote ffprobe ..." isn't the wanted one). The input filename passed to ffprobe is also included in the output, which is part of the reference test data. Add a new option to ffprobe to allow overriding what path is printed, to keep the original relative path in the tests. An alternative approach could be an option to allow requesting omitting the file name from the dumped data, and updating the test references accordingly. Signed-off-by: Martin Storsjö <martin@martin.st>
* FATE/hevc.mak: cosmetic for fate-hevc-paired-fieldsLinjie Fu2019-12-17
| | | | | | | Adjust the order of fate-hevc-paired-fields. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>
* FATE: add test for hevc files with 4 TUDepth(0..4) of cbf_cb/cbf_crLinjie Fu2019-12-17
| | | | | | | | | | | 5 cabac states for cbf_cb and cbf_cr are supported according to Table 9-4. Add a test for 64x64 4:4:4 8bit HEVC clips with TUDepth = 4, cbf_cr > 0. Signed-off-by: Xu Guangxin <guangxin.xu@intel.com> Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate: Add an option for disabling the 2k/4k testsMartin Storsjö2019-12-17
| | | | | | | | When testing on a memory limited system, these tests consume a significant amount of memory and can often fail if testing by running multiple processes in parallel. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate/cbs: use the rawvideo muxer for AV1 testsJames Almer2019-12-13
| | | | | | | The IVF muxer autoinserts the av1_metadata filter unconditionally, which is not desirable for these tests. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: af_afir: Use a dynamic tolerance depending on valuesMartin Storsjö2019-12-12
| | | | | | | | | | | | As the values generated by av_bmg_get can be arbitrarily large (only the stddev is specified), we can't use a fixed tolerance. Calculate a dynamic tolerance (like in float_dsp from 38f966b2222db), based on the individual steps of the calculation. This fixes running this test with certain seeds, when built with clang for mingw/x86_32. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: Fix use of target_path/target_samplesMartin Storsjö2019-12-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: Fix dependencies to sample files to use local pathsMartin Storsjö2019-12-12
| | | | | | | These dependencies are evaluted by make and must be expressed with the paths as in the local filesystem. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate/cbs: update the two film grain cbs_av1 testsJames Almer2019-12-11
| | | | | | They were missed in the previous commit. Signed-off-by: James Almer <jamrial@gmail.com>
* fate: Use a oneoff test for the tremolo filterMartin Storsjö2019-12-11
| | | | | | | | | | | | | | | | The tremolo filter uses floating point internally, and uses multiplication factors derived from sin(fmod()), neither of which is bitexact for use with framecrc. This fixes running this test when built with for mingw/x86_32 with clang. In this case, a 1 ulp difference in the output from fmod() would end up in an output from the filter that differs by 1 ulp, but which makes the lrint() in swresample/audioconvert.c round in a different direction. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: float_dsp: Scale FLT/DBL_EPSILON sufficiently when comparingMartin Storsjö2019-12-11
| | | | | | | | | | | | | As the values generated by av_bmg_get can be arbitrarily large (only the stddev is specified), we can't use a fixed tolerance. This matches what was done for test_vector_dmul_scalar in 38f966b2222db. This fixes the float_dsp checkasm test for some seeds, when built with clang for mingw/x86_32. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate/matroska: Add a test for propagating flac channel layoutsAndreas Rheinhardt2019-12-08
| | | | | | | | contained in Vorbis comments in the CodecPrivate of flac tracks. Moreover, it also tests header removal compression. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: Add a fate test for CodecPrivate compressionAndreas Rheinhardt2019-12-07
| | | | | | | | This test contains a track with zlib compressed CodecPrivate in addition to compressed frames; the former was unchecked before. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate/matroska: fix dependencies for fate-matroska-prores-zlib testJames Almer2019-12-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/matroska: add a demux test for ProRes using zlib compressionJames Almer2019-12-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/fitsdec: Use lrint()Michael Niedermayer2019-12-05
| | | | | | | | | | Fixes: fate-fitsdec-bitpix-64 Possibly Fixes: -nan is outside the range of representable values of type 'unsigned short' Possibly Fixes: 17769/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FITS_fuzzer-5678314672357376 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate/matroska: add a test for xiph lacingJames Almer2019-12-04
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/cbs: add svc AV1 testsJames Almer2019-12-02
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/cbs: add a decode model AV1 testJames Almer2019-12-01
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/cbs: add a switch frame AV1 testJames Almer2019-12-01
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/demux: add an AV1 Annex B testJames Almer2019-11-29
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/lavf-container: add an H264 mp4 remux testJames Almer2019-11-29
| | | | | | | This uses a raw h264 bitstream as source, in order to test the avcC generation code. Signed-off-by: James Almer <jamrial@gmail.com>
* fate/lavf-container: add an AV1 mp4 remux testJames Almer2019-11-29
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/cbs: add initial AV1 testsJames Almer2019-11-19
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* tests/ref/vsynth: add missing reference files, fix buildMichael Niedermayer2019-11-13
|
* avcodec/dvenc: support encoding dvcprohdBaptiste Coudurier2019-11-13
|
* tests/fate/filter-video: add test for colorlevelsLimin Wang2019-11-11
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* FATE: add a test for freeezedetectLimin Wang2019-10-30
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* dnn: add tf.nn.conv2d support for native modelGuo, Yejun2019-10-30
| | | | | | | | | | | | | Unlike other tf.*.conv2d layers, tf.nn.conv2d does not create many nodes (within a scope) in the graph, it just acts like other layers. tf.nn.conv2d only creates one node in the graph, and no internal nodes such as 'kernel' are created. The format of native model file is also changed, a flag named has_bias is added, so change the version number. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* FATE/dnn: add .gitignoreZhao Zhili2019-10-23
| | | | Reviewed-by: Guo, Yejun <yejun.guo@intel.com>
* avfilter/af_silencedetect: use AV_OPT_TYPE_DURATIONLimin Wang2019-10-21
| | | | | Reviewed-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_shuffleplanes: add mising query_formats()Paul B Mahol2019-10-18
| | | | Fixes #8298
* avcodec/cavsdec: Set ret on errors in decode_pic()Michael Niedermayer2019-10-17
| | | | | | Fixes regression and fate failure on some machienes Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check remaining bitstream in the main loop in decode_pic()Michael Niedermayer2019-10-16
| | | | | | | | Fixes: Timeout (149sec ->1sec) Fixes: 17311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5679368642232320 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate/source: add libavfilter/af_arnndn.cPaul B Mahol2019-10-16
|
* avfilter/dnn: unify the layer execution function in native modeGuo, Yejun2019-10-15
| | | | | Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* avutil/opt: print runtime flag tooPaul B Mahol2019-10-14
|
* avformat/mov: parse sdtp atom and set the pkt disposable flag accordinglyMatthieu Bouron2019-10-12
| | | | | | Allows the creation of the sdtp atom while remuxing MP4 to MP4. This atom is required by Apple devices (iPhone, Apple TV) in order to accept 2160p medias.
* avcodec/flac_parser: Fix off-by-one errorAndreas Rheinhardt2019-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flac parser uses a fifo to buffer its data. Consequently, when searching for sync codes of flac packets, one needs to take care of the possibility of wraparound. This is done by using an optimized start code search that works on each of the continuous buffers separately and by explicitly checking whether the last pre-wrap byte and the first post-wrap byte constitute a valid sync code. Moreover, the last MAX_FRAME_HEADER_SIZE - 1 bytes ought not to be searched for (the start of) a sync code because a header that might be found in this region might not be completely available. These bytes ought to be searched lateron when more data is available or when flushing. Unfortunately there was an off-by-one error in the calculation of the length to search of the post-wrap buffer: It was too large, because the calculation was based on the amount of bytes available in the fifo from the last pre-wrap byte onwards. This meant that a header might be parsed twice (once prematurely and once regularly when more data is available); it could also mean that an invalid header will be treated as valid (namely if the length of said invalid header is MAX_FRAME_HEADER_SIZE and the invalid byte that will be treated as the last byte of this potential header happens to be the right CRC-8). Should a header be parsed twice, the second instance will be the best child of the first instance; the first instance's score will be FLAC_HEADER_BASE_SCORE - FLAC_HEADER_CHANGED_PENALTY ( = 3) higher than the second instance's score. So the frame belonging to the first instance will be output and it will be done as a zero length frame (the difference of the header's offset and the child's offset). This has serious consequences when flushing, as returning a zero length buffer signals to the caller that no more data will be output; consequently the last frames not yet output will be dropped. Furthermore, a "sample/frame number mismatch in adjacent frames" warning got output when returning the zero-length frame belonging to the first header, because the child's sample/frame number of course didn't match the expected sample frame/number given its parent. filter/hdcd-mix.flac from the FATE-suite was affected by this (the last frame was omitted) which is the reason why several FATE-tests needed to be updated. Fixes ticket #5937. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>