summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* fate/pcm: Add pcm_dvd transcode testsAndreas Rheinhardt2022-07-10
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_enc: Fix a chroma mb size error in sse_mb()Wenbin Chen2022-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | For 422 frames we should not use hard coded 8 to calculate mb size for uv plane. Chroma shift should be taken into consideration to be compatiple with different sampling format. The error is reported by fate test when av_cpu_max_align() return 64 on the platform supporting AVX512. This is a hidden error and it is exposed after commit 17a59a634c39b00a680c6ebbaea58db95594d13d. mpeg2enc has a mechanism to reuse frames. When it computes SSE (sum of squared error) on current mb, reconstructed mb will be wrote to the previous mb space, so that the memory can be saved. However if the align is 64, the frame is shared in somewhere else, so the frame cannot be reused and a new frame to store reconstrued data is created. Because the height of mb is wrong when compute sse on 422 frame, starting from the second line of macro block, changed data is read when frame is reused (we need to read row 16 rather than row 8 if frame is 422), and unchanged data is read when frame is not reused (a new frame is created so the original frame will not be changed). That is why commit 17a59a634c39b00a680c6ebbaea58db95594d13d exposes this issue, because it add av_cpu_max_align() and this function return 64 on platform supporting AVX512 which lead to creating a frame in mpeg2enc, and this lead to the different outputs. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* fate/h264: Add Active Format Descriptor testAndreas Rheinhardt2022-07-09
| | | | | | | | Some samples contain Active Format Descriptors, yet the output of no test depends upon them, so that they are de-facto untested. So add a dedicated test for them. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate: add PFM encoder testsPaul B Mahol2022-07-03
|
* fate: add EXR encoder testsPaul B Mahol2022-07-03
|
* avformat/mov: Only read the primary item for AVIFVignesh Venkatasubramanian2022-06-29
| | | | | | | | | | | | | | | | | | | | Update the still AVIF parser to only read the primary item. With this patch, AVIF still images with exif/icc/alpha channel will no longer fail to parse. For example, this patch enables parsing of files in: https://github.com/AOMediaCodec/av1-avif/tree/master/testFiles/Microsoft Adding two fate tests: 1) demuxing of still image with 1 item - this test will pass regardless of this patch. 2) demuxing of still image with 2 items - this test will fail without this patch and will pass with patch applied. Partially fixes trac ticket #7621 Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: James Zern <jzern@google.com>
* checkasm: Provide enough alignment in the new motion testMartin Storsjö2022-06-28
| | | | | | This fixes the checkasm test in some setups on x86. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc/aarch64: motion estimation functions in neonSwinney, Jonathan2022-06-28
| | | | | | | | | | | | | | | | | | | | | | - ff_pix_abs16_neon - ff_pix_abs16_xy2_neon In direct micro benchmarks of these ff functions verses their C implementations, these functions performed as follows on AWS Graviton 3. ff_pix_abs16_neon: pix_abs_0_0_c: 141.1 pix_abs_0_0_neon: 19.6 ff_pix_abs16_xy2_neon: pix_abs_0_3_c: 269.1 pix_abs_0_3_neon: 39.3 Tested with: ./tests/checkasm/checkasm --test=motion --bench --disable-linux-perf Signed-off-by: Jonathan Swinney <jswinney@amazon.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat/matroskaenc: Split updating CodecPrivate from writing itAndreas Rheinhardt2022-06-24
| | | | | | | | | | | | | | | | | | | | | | Up until now, updating extradata was very ad-hoc: The amount of space reserved for extradata was not recorded when writing the header; instead the AAC code simply presumed that it was enough. This commit changes this by recording how much space is available. This brings with it that the code for writing of and reserving space for the CodecPrivate and for updating it diverges. They are therefore split; this allows to put other common tasks like seeking to right offset as well as writing padding (in case the new extradata did not fill the whole reserved space) to this common function. The code for filling up the reserved space is smarter than the code it replaces; therefore it is no longer necessary to reserve more than necessary just to be sure that one can add an EBML Void element (whose minimum size is two) lateron. This is the reason for the change to the aac-autobsf-adtstoasc test. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/movenc: enable compressorname for mp4 modeZhao Zhili2022-06-24
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/matroskaenc: Don't waste bytes to Write Tag length fieldsAndreas Rheinhardt2022-06-20
| | | | | | | This is possible by using a dynamic buffer to write them; said dynamic buffer is (re)used and reset as appropriate. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/sw_scale: Fix alignment for movdqaMichael Goulet2022-06-20
| | | | | | | SSE3 instruction movdqa in ff_yuv2yuvX_sse3() expects a 16-byte aligned address for a memory address, or else a segfault is generated. The src_pixels buffer below was not aligned to 16 bytes on the stack necessarily, so we got segfaults during fate-checkasm-sw_scale. Therefore 16-byte align all of these local variables, aligning them too much shouldn't hurt.
* lavfi/drawutils: improve colorspace supportrcombs2022-06-19
| | | | | | | | | | | | | | | | | | | | | - Introduce ff_draw_init2, which takes explicit colorspace and range args - Use lavu/csp and lavfi/colorspace for conversion, rather than the lavu/colorspace.h macros - Use the passed-in colorspace when performing RGB->YUV conversions The upshot of this is: - Support for YUV spaces other than BT601 - Better rounding for all conversions - Particular rounding improvements in >8-bit formats, which previously used simple left-shifts - Support for limited-range RGB - Support for full-range YUV in non-J pixfmts Due to the rounding improvements, this results in a large number of minor changes to FATE tests. Signed-off-by: rcombs <rcombs@rcombs.me>
* avutil/tests/uuid: add uuid testsPierre-Anthony Lemieux2022-06-12
|
* avcodec/texturedspenc: Fix indexing in color distribution determinationMichael Niedermayer2022-06-09
| | | | | | | | | | Fixes CID1396405 MSE and PSNR is slightly improved, and some noticable corruptions disappear as well. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: add test for QOI formatPaul B Mahol2022-06-05
|
* fate/dca: Fix test requirementsAndreas Rheinhardt2022-06-01
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/Makefile: Add PCM functionAndreas Rheinhardt2022-06-01
| | | | | | For use with the "pcm" command. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Test APE cuesheet tagsAndreas Rheinhardt2022-05-31
| | | | | | | | | The cue_sheet.wv sample contains a cue sheet as APE tags, yet this is not really covered by fate-wavpack-cuesheet because the metadata does not affect the output of said test. So add a proper test for this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Avoid temp filesAndreas Rheinhardt2022-05-31
| | | | | | | | Use the md5 protocol instead of creating a file just to calculate its MD5 checksum. This is possible because there are no output seeks involved in any of these tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Fix test requirementsAndreas Rheinhardt2022-05-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/vpx: Remove unused define parametersAndreas Rheinhardt2022-05-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/opus: Restore fate-opus-(celt|hybrid|silk)Andreas Rheinhardt2022-05-31
| | | | | | Also fix the test requirements. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1enc: Eliminate float/double from find_best_state()Michael Niedermayer2022-05-30
| | | | | | | | | | log2() remains, this can either be replaced by a integer implementation or the table hardcoded if needed Tested-by: Anton Khirnov <anton@khirnov.net> Tested-by: Martin Storsjö <martin@martin.st> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate/ffmpeg: Fix test requirementsAndreas Rheinhardt2022-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* checkasm: added additional dstW tests for hscaleSwinney, Jonathan2022-05-28
| | | | | Signed-off-by: Jonathan Swinney <jswinney@amazon.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: improve hevc_sao testJ. Dekker2022-05-25
| | | | | | | | The HEVC decoder can call these functions with smaller widths than the functions themselves are designed to operate on so we should only check the relevant output Signed-off-by: J. Dekker <jdek@itanimul.li>
* tests/fate/vcodec: add tests for ffv1 2pass modeAnton Khirnov2022-05-24
|
* tests/fate-run: give consistent names to enc_dec() argumentsAnton Khirnov2022-05-24
| | | | | | | | | | | | | | | enc_dec() performs two ffmpeg runs - the first one encoding a source file into a specified output format, the second one decoding previously encoded file. The arguments to this function currently have confusing names - e.g. dec_opt contains _output_ (i.e. encoding) options for the second (decoding) ffmpeg invocation. It is also possible to supply _input_ (i.e. decoding) options for the second ffmpeg run, but the argument is currently unnamed and referred to by number. Add an _in/_out suffix to argument names to make it clear what they are used for. Give a name to input options for the decoding ffmpeg run.
* tests/fate/vcodec: drop unnecessary optionsAnton Khirnov2022-05-24
| | | | | jpeg2000 will be chosen by default, there is no reason to prescribe it explicitly. No other test does so.
* avfilter: Add blockdetect filterThilo Borgmann2022-05-24
|
* libavutil: Deprecate av_fopen_utf8, provide an avpriv versionMartin Storsjö2022-05-23
| | | | | | | | | | | | | | | | | | | | | | Since every DLL can use an individual CRT on Windows, having an exported function that opens a FILE* won't work if that FILE* is going to be used from a different DLL (or from user application code). Internally within the libraries, the issue can be worked around by duplicating the function in all libraries (this already happened implicitly because the function resided in file_open.c) and renaming the function to ff_fopen_utf8 (so that it doesn't end up exported from the DLLs) and duplicating it in all libraries that use it. This makes the avpriv_fopen_utf8 / ff_fopen_utf8 function work in the exact same way as the existing avpriv_open / ff_open, with the same setup as introduced in e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65. That mechanism doesn't work for external users, thus deprecate the existing function. Signed-off-by: Martin Storsjö <martin@martin.st>
* tests/fate: Remove intermediate file of flv-add_keyframe_index testAndreas Rheinhardt2022-05-20
| | | | | | | | Do this by making this test a transcode test. Also fix the test requirements and don't add this test to FATE_AFILTER; instead use a new variable and a new target for flvenc-tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Fix requirements of testsAndreas Rheinhardt2022-05-20
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Avoid duplication for fate-filter-overlay testsAndreas Rheinhardt2022-05-20
| | | | | | | | Also add a fate-filter-overlays target containing all these tests and fix the requirements of the tests; furthermore, remove unnecessary scale filters from filter-overlay-rgba?_rgba. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Avoid duplication for filter-removegrain testsAndreas Rheinhardt2022-05-20
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Avoid duplication for fate-filter-stereo3d testsAndreas Rheinhardt2022-05-20
| | | | | | | | Also fix the requirements of these tests: Only the anaglyph tests need a scale filter, yet it has been inserted for all tests without any check for its presence. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/Makefile: Add FRAMECRC variants for filteringAndreas Rheinhardt2022-05-20
| | | | | | | | | | | | | | Lots of tests use the framecrc command together with some filters, so adding a special function for it seems worthwhile. This commit adds one new one and modifies an already existing one: All users of FILTERDEMDEC already use framecrc and the more general FILTERDEMDECENCMUX can be used in scenarios where more control over the used encoders/muxers is needed, so use this in cases where an actual input file is involved. Furthermore, add FILTERFRAMECRC for the cases where no demuxing/decoding occurs, because the input is generated via lavfi. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/Makefile: Remove FILTERDEMDECMUXAndreas Rheinhardt2022-05-20
| | | | | | | | | | | | | | | It is unused and given that one needs an encoder to produce packets from AVFrames (as output by filters) this is likely to remain so, because FILTERDEMDECENCMUX is better for these scenarios. The only case where one can use filters without encoders is with the lavfi input device: It outputs AVPackets which could be copied without another conversion to AVFrames. Yet the variable to check for this is CONFIG_LAVFI_INDEV, but FILTERDEMDECMUX is designed to work with demuxers (i.e. CONFIG_*_DEMUXER). So there is no usecase for FILTERDEMDECMUX. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavcodec/cinepakenc: Mark no-skip frames as keyframesTomas Härdin2022-05-12
| | | | | Reset curframe whenever we generate a keyframe. Use -g instead of -keyint_min.
* fate/matroska: Add test for remuxing DVB subtitles to MatroskaAndreas Rheinhardt2022-05-12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/matroska: Add tests for muxing PGS into MatroskaAndreas Rheinhardt2022-05-10
| | | | | | They test the new pgs_frame_merge BSF. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Make AVCONV-tests honour -thread_typeAndreas Rheinhardt2022-05-09
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Remove unnecessary dependency from filter-pp[1-6]Andreas Rheinhardt2022-05-09
| | | | | | | | filter-pp and filter-pp7 are the only ones of the filter-pp* tests that use the file generated by fate-vsynth1-mpeg4-qprd. Also combine the dependency on this test for all the tests that need it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Remove temporary files from pixfmt conversionsAndreas Rheinhardt2022-05-06
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Remove temporary fate-lavf files if possibleAndreas Rheinhardt2022-05-06
| | | | | | | | | | The temporary fate-lavf files can easily be removed if they are not needed as inputs for other tests (mainly fate-seek-tests). This commit implements this. The size of the remaining files decreases from 260890083B to 79481793B. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/Makefile: Redo how to keep intermediate FATE-filesAndreas Rheinhardt2022-05-06
| | | | | | | | | Extend the ordinary mechanism to signal KEEP for this. This also allows to remove the keep-parameter from enc_dec, transcode and stream_remux, so that several empty parameters '""' could be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/filter-video: Remove intermediate file of meta-4560-rotate0 testAndreas Rheinhardt2022-05-06
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Allow to set dec opts for generated file in transcodeAndreas Rheinhardt2022-05-06
| | | | | | This can be necessary to e.g. force a fixed-point audio codec. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Don't create unnecessary CRC-files, forward errorsAndreas Rheinhardt2022-05-06
| | | | | | | | These CRC-only files (the output of the CRC-muxer) are only used once, so they need not be preserved. Furthermore, errors from ffmpeg (used for creating the CRC) are no longer ignored with this patch. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>