summaryrefslogtreecommitdiff
path: root/tests/ref/fate
Commit message (Collapse)AuthorAge
* 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>
* 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/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>
* 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/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>
* fate/filter-video: Remove intermediate file of meta-4560-rotate0 testAndreas Rheinhardt2022-05-06
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/ref: Remove unused reference filesAndreas Rheinhardt2022-05-03
| | | | | | | | | | Accidentally resurrected in fc49f22c3b735db5aaac5f98e40b7124a2be13b8 and 7711f19eda40a7fd1c8a327f1700ffdd115e1667, forgotten in 6ebc71847e21a8abaf7ff3d902cb1cf63511e7b4 and 1a6a088f7c7b164042ad16d43d05543ce1bacfa4 or never needed (filter-aemphasis). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/movenc: sidx earliest_presentation_time is applied after editlistZhao Zhili2022-04-29
| | | | | | Fix #8334 Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* fate/fits: Use transcode for transcode-like testAndreas Rheinhardt2022-04-28
| | | | | | | | | Each of the intermediately generated lena-*.fits files is only used for exactly one test; so it could be deleted right after the test. Switching to a transcode test (which is also more natural) achieves this. It also adds checksums of the intermediate files to the ref-file. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi: Add blurdetect filterThilo Borgmann2022-04-25
|
* avcodec/mjpegenc: support writing ICC profilesNiklas Haas2022-04-11
| | | | | | | | | | | | | | | | This is mostly straightforward. The major complication is that, as a result of the 16-bit chunk size limitation, ICC profiles may need to be split up into multiple chunks. We also need to make sure to allocate enough extra space in the packet to fit the ICC profile, so modify both mpegvideo_enc.c and ljpegenc.c to take into account this extra overhead, failing cleanly if necessary. Also add a FATE transcode test to ensure that the ICC profile gets written (and read) correctly. Note that this ICC profile is smaller than 64 kB, so this doesn't test the APP2 chunk re-arranging code at all. Signed-off-by: Niklas Haas <git@haasn.dev>
* avcodec/pngenc: support writing iCCP chunksNiklas Haas2022-04-11
| | | | | | | | | | | | | | | | | We re-use the PNGEncContext.zstream for deflate-related operations. Other than that, the code is pretty straightforward. Special care needs to be taken to avoid writing more than 79 characters of the profile description (the maximum supported). To write the (dynamically sized) deflate-encoded data, we allocate extra space in the packet and use that directly as a scratch buffer. Modify png_write_chunk slightly to allow pre-writing the chunk contents like this. Also add a FATE transcode test to ensure that the ICC profile gets encoded correctly. Signed-off-by: Niklas Haas <git@haasn.dev>
* fate: add fate tests for VBN encoder and decoderMarton Balint2022-04-10
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* fate/filter-refcmp-*: make refcmp_metadata fail on empty or truncated inputMarton Balint2022-04-10
| | | | | | | | | | | | | On empty input the awk script was always successful which caused the filter-refcmp tests to always succeed. Also fix the command lines for refcmp_metadata compare function because it needs auto conversion filters, and update reference of test filter-refcmp-psnr-rgb because it was missed in a7fc78c1a638a32c3695c06f727774c740d675c2 but was never noticed due to the original issue... Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: update reference files after the recent dash manifest muxer changesJames Almer2022-04-08
| | | | | | Missed in 487b49d8f2e1e81dce86230fc957ca2ee9de00ee. Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add a test for writing channel descriptions in movJames Almer2022-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavfilter: Add SITI filterBoris Baracaldo2022-04-01
| | | | | | Calculate Spatial Info (SI) and Temporal Info (TI) scores for a video, as defined in ITU-T P.910: Subjective video quality assessment methods for multimedia applications.
* avutil/tests/channel_layout: also test ambisonic layouts in ↵James Almer2022-03-25
| | | | | | av_channel_layout_subset() Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add crystalizer testPaul B Mahol2022-03-25
|
* avutil/tests/channel_layout: test the output of av_channel_layout_subset()James Almer2022-03-25
| | | | | | Should increase test coverage a bit Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: test the output of av_channel_layout_standard()James Almer2022-03-25
| | | | | | Should increase test coverage. Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: test generating a custom layout using ambisonic ↵James Almer2022-03-25
| | | | | | | | channels and a non diegetic channel with a custom name Should increase test coverage a bit Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add tpad filter testsPaul B Mahol2022-03-18
|
* fate: add a setts bsf testJames Almer2022-03-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mxfenc: allow more bits for variable part in uuid generationMarton Balint2022-03-16
| | | | | | Also make sure we do not change the product UID. Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: add epx testsPaul B Mahol2022-03-16
|
* fate: add chromashift testsPaul B Mahol2022-03-16
|
* channel_layout: add support for AmbisonicVittorio Giovara2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: convert to new channel layout APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* framehash: convert to new channel layout APIAnton Khirnov2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavu: support AVChannelLayout AVOptionsAnton Khirnov2022-03-15
| | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add a channel_layout API testJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add decimate filter testPaul B Mahol2022-03-14
|
* fate/mov: Add test for muxing chaptersAndreas Rheinhardt2022-03-11
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate: add a test for HDR Vivid metadata in HEVCLimin Wang2022-03-10
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/pngdec: support alpha blending for palette apngPaul B Mahol2022-03-08
| | | | Update clock test, as PAL8 apngs are now decoded as RGBA.
* swscale: Take the destination range into account for yuv->rgb->yuv conversionsMartin Storsjö2022-02-25
| | | | | | | | | | | | The range parameters need to be set up before calling sws_init_context (which selects which fastpaths can be used; this gets called by sws_getContext); solely passing them via sws_setColorspaceDetails isn't enough. This fixes producing full range YUV range output when doing YUV->YUV conversions between different YUV color spaces. Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat/imf: fix packet pts, dts and muxingPierre-Anthony Lemieux2022-02-20
| | | | | | | | | | The IMF demuxer does not set the DTS and PTS of packets accurately in all scenarios. Moreover, audio packets are not trimmed when they exceed the duration of the underlying resource. imf-cpl-with-repeat FATE ref file is regenerated. Addresses https://trac.ffmpeg.org/ticket/9611
* avformat/imf: add IMF CPL with repeated resources to FATEPierre-Anthony Lemieux2022-02-03
| | | | | Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/mpeg4: Add test for MPEG-4 Simple Studio ProfileAndreas Rheinhardt2022-01-29
| | | | | | | The sample mpeg4/mpeg4_sstp_dpcm.m4v existed in the FATE-suite, but it was surprisingly unused. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests: add test for ffmpeg's fix_sub_duration featureJan Ekström2022-01-24
| | | | | | | | This long-existing feature calculates subtitle durations by keeping it around until the following subtitle is decoded, and then utilizes the following subtitle's pts as the end point of the previous one. Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* fate/ffmpeg: Add test for autorotating videoAndreas Rheinhardt2022-01-22
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mux: Peek into the muxing queue for avoid_negative_tsAndreas Rheinhardt2022-01-21
| | | | | | | | | | | Peeking into the muxing queue can improve the estimate of the lowest timestamp needed for avoid_negative_ts in case the lowest timestamp is in a packet other than the first packet to be muxed. This fixes tickets #4536 and #5784 as well as the output from the matroska-avoid-negative-ts FATE-test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mux: Preserve sync even if later packet has negative tsAndreas Rheinhardt2022-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | write_packet() has code to shift the packets timestamps to make them nonnegative or even make them start at ts zero; this code inspects every packet that is written and if a packet with negative timestamp (whether this is dts or pts depends upon another flag; basically: Matroska uses pts, everyone else dts) is encountered, this is offset to make the timestamp zero. All further packets will be offset accordingly (with the offset converted according to the streams' timebases). This is based around an assumption, namely that the timestamps are indeed non-decreasing, so that the first packet with negative timestamps is the first packet with timestamps. This assumption is often fulfilled given that the default interleavement function by default interleaves per dts; yet there are scenarios in which it may not be fulfilled: a) av_write_frame() instead of av_interleaved_write_frame() is used. b) The audio_preload option is used. c) When the timestamps that are made nonnegative/zero are pts (i.e. with Matroska), because the packet with the smallest dts is not necessarily the packet with the smallest pts. d) Possibly with custom interleavement functions. In these cases the relative sync of the first few packet(s) is offset relative to the later packets. This contradicts the documentation ("When shifting is enabled, all output timestamps are shifted by the same amount"). Therefore this commit changes this: As soon as the first packet with valid timestamps is output, it is checked and recorded whether the timestamps need to be shifted. Further packets are no longer checked for needing to be offset; instead they are simply offset. In the cases above this leads to packets with negative timestamps (and the appropriate warnings) instead of desync. This will mostly be fixed in the next commit. This commit also factors handling the avoid_negative_ts stuff out of write_packet() in order to be able to return immediately. Tickets #4536 and #5784 as well as the matroska-avoid-negative-ts-test are examples of c); as has been said, some timestamps are now negative, yet the ref file update does not show it because ffmpeg.c sanitizes the timestamps (-copyts disables it; ffprobe and mkvinfo also show the original timestamps). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/matroska: Add test for avoiding negative timestampsAndreas Rheinhardt2022-01-21
| | | | | | | This tests the issue from tickets #4536, #5784; the output of this test is currently broken. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/matroska: Add test for reading/writing BlockAdditionMapping elementsquietvoid2022-01-20
| | | | | | | | Tests the parsing and writing of AVDOVIDecoderConfigurationRecord, when it is present as a Dolby Vision configuration block addition mapping. Signed-off-by: quietvoid <tcChlisop0@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/matroskaenc: Remove duplicated code for writing WebVTT subsAndreas Rheinhardt2022-01-19
| | | | | | | | | | | | | | | | | | | | | | Up until now, the WebM variant of WebVTT subtitles has been handled specially: It had its own function to write it, because the data had to be reformatted before writing. But given that other codecs also need reformatting, this is no good reason to also duplicate the generic stuff for writing Block(Group)s. This commit therefore uses an ordinary reformatting function for this task; writing WebVTT subtitles now uses the generic code and therefore automatically uses the least amount of bytes for its BlockGroup length fields whereas the earlier code used an overestimation for the length of the Duration element. This is the reason for the changes to the webm-webvtt-remux FATE-test. (This commit does not implement support for Matroska's way of muxing WebVTT; it also does not add checks to ensure that WebM-style subtitles don't get muxed in Matroska. But the function for reformatting gets a webm prefix to indicate that this is for WebM.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>