summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* avformat/mpegtsenc: get rid of packet counting for sdt/pat/pmtMarton Balint2019-08-23
| | | | | | | | | | | | | The packet counting based approach caused excessive sdt/pat/pmt for VBR, so let's use a timestamp based approach instead similar to how we emit PCRs. SDT/PAT/PMT period should be consistent for both VBR and CBR from now on. Also change the type of sdt_period and pat_period to AV_OPT_TYPE_DURATION so no floating point math is necessary. Fixes ticket #3714. Signed-off-by: Marton Balint <cus@passwd.hu>
* FATE/dnn: let fate/dnn tests depend on ffmpeg static librariesGuo, Yejun2019-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | background: DNN (deep neural network) is a sub module of libavfilter, and FATE/dnn is unit test for the DNN module, one unit test for one dnn layer. The unit tests are not based on the APIs exported by libavfilter, they just directly call into the functions within DNN submodule. There is an issue when run the following command: build$ ../ffmpeg/configure --disable-static --enable-shared make make fate-dnn-layer-pad And part of error message: tests/dnn/dnn-layer-pad-test.o: In function `test_with_mode_symmetric': /work/media/ffmpeg/build/src/tests/dnn/dnn-layer-pad-test.c:73: undefined reference to `dnn_execute_layer_pad' The root cause is that function dnn_execute_layer_pad is a LOCAL symbol in libavfilter.so, and so the linker could not find it when build dnn-layer-pad-test. To check it, just run: readelf -s libavfilter/libavfilter.so | grep dnn So, add dependency in fate/dnn Makefile with ffmpeg static libraries. This is the same method used in fate/checkasm Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* fate: add accurate_rnd+bitexact sws_flags for fate-gifencLimin Wang2019-08-17
| | | | | | | This fixes make fate issue for frame thread scale in my local testing Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/f_select: yuv will use Y plane only for scenecut detectLimin Wang2019-08-17
| | | | | | | | | | | | | | | | At the moment scene change detection score uses all planes to detect scene changes. In this regard this is similar how the frozen frames detection works. However, in classic encoding scene change detection typically only uses the Y plane. We might get more resonable scores for scene change if we also use only the Y plane for calculating the score if the pixel format is YUV. Although this will require additional work once packed YUV formats are added, because for the moment the generic scene sad score calculation has no way to ignore some components in a packed format. Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: add a case for ticket #3229Zhong Li2019-08-13
| | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de> Signed-off-by: Zhong Li <zhong.li@intel.com>
* compat/cuda: Change inclusion guardsAndreas Rheinhardt2019-08-05
| | | | | | | | | | cuda_runtime.h as well as dynlink_loader.h used nonstandard inclusion guards with an AV_ prefix, although these files are not in an libav*/ path. So change the inclusion guards and adapt the ref file of the source fate test accordingly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* FATE: add hls single file mode test caseSteven Liu2019-08-01
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* fate: add unit test for dnn-layer-padGuo, Yejun2019-07-29
| | | | | | | 'make fate-dnn-layer-pad' to run the test Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* avcodec/adxenc: add EOF headerPaul B Mahol2019-07-25
| | | | Fixes #8031.
* avformat/f_select: add support for more pixel formats for scene change score ↵Limin Wang2019-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calculations This avoids automatic conversions to rgb if scene change score is used in the expression. Below is the tested results for the new added pixel format without autoscale to rgb24: 1. AV_PIX_FMT_YUVJ420P time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,select=gt(scene\,.25)" master: pkt_pts=1620|tag:lavfi.scene_score=1.000000 pkt_pts=4140|tag:lavfi.scene_score=0.875036 pkt_pts=5800|tag:lavfi.scene_score=1.000000 pkt_pts=6720|tag:lavfi.scene_score=0.461625 pkt_pts=8160|tag:lavfi.scene_score=1.000000 pkt_pts=9760|tag:lavfi.scene_score=1.000000 pkt_pts=14080|tag:lavfi.scene_score=0.838916 pkt_pts=15700|tag:lavfi.scene_score=1.000000 pkt_pts=18500|tag:lavfi.scene_score=0.474948 pkt_pts=20040|tag:lavfi.scene_score=0.379700 pkt_pts=21760|tag:lavfi.scene_score=1.000000 ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f 0.71s user 0.01s system 99% cpu 0.721 total patch applied: pkt_pts=1620|tag:lavfi.scene_score=1.000000 pkt_pts=4140|tag:lavfi.scene_score=0.668643 pkt_pts=5800|tag:lavfi.scene_score=0.996721 pkt_pts=6720|tag:lavfi.scene_score=0.357390 pkt_pts=8160|tag:lavfi.scene_score=0.886268 pkt_pts=9760|tag:lavfi.scene_score=0.926219 pkt_pts=14080|tag:lavfi.scene_score=0.650033 pkt_pts=15700|tag:lavfi.scene_score=1.000000 pkt_pts=18500|tag:lavfi.scene_score=0.316402 pkt_pts=20040|tag:lavfi.scene_score=0.269509 pkt_pts=21760|tag:lavfi.scene_score=1.000000 ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f 0.19s user 0.01s system 81% cpu 0.240 total 2. AV_PIX_FMT_YUV420P time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,select=gt(scene\,.2)" master: pkt_pts=3587|tag:lavfi.scene_score=0.462364 pkt_pts=4838|tag:lavfi.scene_score=0.419519 pkt_pts=6548|tag:lavfi.scene_score=0.397027 pkt_pts=9968|tag:lavfi.scene_score=0.419245 pkt_pts=12471|tag:lavfi.scene_score=0.413084 pkt_pts=16225|tag:lavfi.scene_score=0.506370 pkt_pts=19645|tag:lavfi.scene_score=0.507538 pkt_pts=22314|tag:lavfi.scene_score=0.504319 pkt_pts=24817|tag:lavfi.scene_score=0.417544 pkt_pts=25651|tag:lavfi.scene_score=0.413916 pkt_pts=26652|tag:lavfi.scene_score=0.487707 18.58s user 0.07s system 99% cpu 18.663 total patch applied: pkt_pts=3587|tag:lavfi.scene_score=0.272173 pkt_pts=4838|tag:lavfi.scene_score=0.247841 pkt_pts=6548|tag:lavfi.scene_score=0.233134 pkt_pts=9968|tag:lavfi.scene_score=0.247253 pkt_pts=12471|tag:lavfi.scene_score=0.244129 pkt_pts=16225|tag:lavfi.scene_score=0.302531 pkt_pts=19645|tag:lavfi.scene_score=0.303560 pkt_pts=22314|tag:lavfi.scene_score=0.301861 pkt_pts=24817|tag:lavfi.scene_score=0.249331 pkt_pts=25651|tag:lavfi.scene_score=0.247096 pkt_pts=26652|tag:lavfi.scene_score=0.287728 10.90s user 0.06s system 99% cpu 10.967 total 3. AV_PIX_FMT_YUV422P time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,format=yuv422p,select=gt(scene\,.2)" master: patched applied: pkt_pts=3587|tag:lavfi.scene_score=0.224017 pkt_pts=4838|tag:lavfi.scene_score=0.204225 pkt_pts=9968|tag:lavfi.scene_score=0.204636 pkt_pts=12471|tag:lavfi.scene_score=0.202772 pkt_pts=16225|tag:lavfi.scene_score=0.248765 pkt_pts=19645|tag:lavfi.scene_score=0.250144 pkt_pts=22314|tag:lavfi.scene_score=0.248802 pkt_pts=24817|tag:lavfi.scene_score=0.208362 pkt_pts=25651|tag:lavfi.scene_score=0.205777 pkt_pts=26652|tag:lavfi.scene_score=0.230742 4. AV_PIX_FMT_YUV420P10 time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_4k.mkv,select=gt(scene\,.2)" master: pkt_pts=3587|tag:lavfi.scene_score=0.269890 pkt_pts=4838|tag:lavfi.scene_score=0.248957 pkt_pts=6548|tag:lavfi.scene_score=0.234619 pkt_pts=9969|tag:lavfi.scene_score=0.224912 pkt_pts=12471|tag:lavfi.scene_score=0.225158 pkt_pts=16225|tag:lavfi.scene_score=0.289809 pkt_pts=19645|tag:lavfi.scene_score=0.285013 pkt_pts=22314|tag:lavfi.scene_score=0.280295 pkt_pts=24817|tag:lavfi.scene_score=0.206486 pkt_pts=25651|tag:lavfi.scene_score=0.208556 pkt_pts=26652|tag:lavfi.scene_score=0.249577 ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f 76.03s user 0.22s system 99% cpu 1:16.27 total patch applied pkt_pts=3587|tag:lavfi.scene_score=0.269890 pkt_pts=4838|tag:lavfi.scene_score=0.248957 pkt_pts=6548|tag:lavfi.scene_score=0.234619 pkt_pts=9969|tag:lavfi.scene_score=0.224912 pkt_pts=12471|tag:lavfi.scene_score=0.225158 pkt_pts=16225|tag:lavfi.scene_score=0.289809 pkt_pts=19645|tag:lavfi.scene_score=0.285013 pkt_pts=22314|tag:lavfi.scene_score=0.280295 pkt_pts=24817|tag:lavfi.scene_score=0.206486 pkt_pts=25651|tag:lavfi.scene_score=0.208556 pkt_pts=26652|tag:lavfi.scene_score=0.249577 ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f 50.27s user 0.20s system 99% cpu 50.476 total 5. AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8 are tested by format= with the fate sample: Vertical400kbit.sorenson3.mov like below: time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=rgba,select=gt(scene\,.25)" patch applied: pkt_pts=1620|tag:lavfi.scene_score=1.000000 pkt_pts=4140|tag:lavfi.scene_score=0.656277 pkt_pts=5800|tag:lavfi.scene_score=1.000000 pkt_pts=6720|tag:lavfi.scene_score=0.346218 pkt_pts=8160|tag:lavfi.scene_score=0.987686 pkt_pts=9760|tag:lavfi.scene_score=1.000000 pkt_pts=14080|tag:lavfi.scene_score=0.629187 pkt_pts=15700|tag:lavfi.scene_score=1.000000 pkt_pts=18500|tag:lavfi.scene_score=0.356211 pkt_pts=20040|tag:lavfi.scene_score=0.284775 pkt_pts=21760|tag:lavfi.scene_score=1.000000 6. AV_PIX_FMT_YUVJ422P time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \ "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=yuvj422p,select=gt(scene\,.25)" patch applied: pkt_pts=1620|tag:lavfi.scene_score=0.838281 pkt_pts=4140|tag:lavfi.scene_score=0.541382 pkt_pts=5800|tag:lavfi.scene_score=0.780588 pkt_pts=6720|tag:lavfi.scene_score=0.298274 pkt_pts=8160|tag:lavfi.scene_score=0.699106 pkt_pts=9760|tag:lavfi.scene_score=0.730136 pkt_pts=14080|tag:lavfi.scene_score=0.537742 pkt_pts=15700|tag:lavfi.scene_score=0.811946 pkt_pts=18500|tag:lavfi.scene_score=0.263382 pkt_pts=21760|tag:lavfi.scene_score=0.880773 Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fate: change the scenecut fate thresholdLimin Wang2019-07-22
| | | | | | | | | | | | | | why change .4 to .25, it's for: one scenecut(pkt_pts=20040) isn't detected by 0.4 threshold why not change to 0.3 instead of 0.25: it will miss the scenecut(pkt_pts=20040) after applying the next patch which enables yuvj420 for fate testing, it's better to catch all scenecut scenes. Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fate: add hls fmp4 segment type test caseSteven Liu2019-07-15
| | | | | Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/movenc: use unspecified language by defaultMarton Balint2019-07-12
| | | | | | English was used before. Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: add hls_list_size fate test caseSteven Liu2019-07-11
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* fate: add hls_init_time option fateSteven Liu2019-07-11
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavc/h265_profile_level: Add unit testMark Thompson2019-07-07
| | | | Operates in the same way as the h264-levels test.
* fate: add VP4 testPeter Ross2019-06-12
|
* tests/ref/fate/nuv-rtjpeg: Preserve the original timestampsMichael Niedermayer2019-06-12
| | | | | | | The tests previously rounded the timestamps. Its better in a fate test to preserve the data from the demuxer and decoder. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* checkasm/vf_gblur: add test for horiz_slice simdRuiling Song2019-06-12
| | | | Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* fate: add dst decoder testPeter Ross2019-06-10
|
* avutil: Add missing reference files for pixdesc fate testAndreas Rheinhardt2019-05-14
| | | | | | | | | | Commit cd48318035 added support for NV24 and NV42, including several fate tests for these formats, but did not include the reference files for the tests filter-pixdesc-nv24 and filter-pixdesc-nv42. As a result, these two tests were broken. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swscale: Add test for isSemiPlanarYUV to pixdesc_queryPhilip Langdale2019-05-12
| | | | | | Lauri had asked me what the semi planar formats were and that reminded me that we could add it to pixdesc_query so we know exactly what the list is.
* swscale: Add support for NV24 and NV42Philip Langdale2019-05-12
| | | | | | | | | | | The implementation is pretty straight-forward. Most of the existing NV12 codepaths work regardless of subsampling and are re-used as is. Where necessary I wrote the slightly different NV24 versions. Finally, the one thing that confused me for a long time was the asm specific x86 path that did an explicit exclusion check for NV12. I replaced that with a semi-planar check and also updated the equivalent PPC code, which Lauri kindly checked.
* avutil: Add NV24 and NV42 pixel formatsPhilip Langdale2019-05-12
| | | | | | | | | | | | | These are the 4:4:4 variants of the semi-planar NV12/NV21 formats. These formats are not used much, so we've never had a reason to add them until now. VDPAU recently added support HEVC 4:4:4 content and when you use the OpenGL interop, the returned surfaces are in NV24 format, so we need the pixel format for media players, even if there's no direct use within ffmpeg. Separately, there are apparently webcams that use NV24, but I've never seen one.
* avformat/matroskaenc: Don't waste bytes writing level 1 elementsAndreas Rheinhardt2019-05-08
| | | | | | | | | | | Up until now, the length field of most level 1 elements has been written using eight bytes, although it is known in advance how much space the content of said elements will take up so that it would be possible to determine the minimal amount of bytes for the length field. This commit changes this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Write CRC-32 in non-seekable modeAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | | | | | Given that in both the seekable as well as the non-seekable mode dynamic buffers are used to write level 1 elements and that now no seeks are used in the seekable case any more, the two modes can be combined; as a consequence, the non-seekable mode automatically inherits the ability to write CRC-32 elements. There are no differences in case the output is seekable; when it is not and writing CRC-32 elements is disabled, there can still be minor differences because before this commit, the EBML ID and length field were counted towards the cluster size limit; now they no longer are. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Don't waste bytes in EBML HeaderAndreas Rheinhardt2019-05-08
| | | | | | | | | | Up until now the EBML Header length field has been written with eight bytes, although the EBML Header is always so small that only one byte is needed for it. This patch saves seven bytes for every Matroska/Webm file. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate/checkasm: add missing v210dec testJames Almer2019-05-03
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add test for v210decJames Darnley2019-05-02
|
* tests/fate-run: New variable hostexecsuf for local fate tools.Carl Eugen Hoyos2019-04-24
| | | | Allows running fate in-tree on wsl with msvc.
* lavf/oggparsevorbis: Fix change the case of metadata keys issueJun Zhao2019-04-22
| | | | | | | | | | | The spec in https://xiph.org/vorbis/doc/v-comment.html states that the metadata keys are case-insensitive, so don't change the case and update the fate test case. Fix #7784 Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* tests: don't include TARGET_PATH in the sample path needlesslyHendrik Leppkes2019-04-19
| | | | | | The transcode() helper function will already prepend the TARGET_PATH to the sample path, if its a relative path. This avoids an issue on Windows, where the relative path check could fail.
* tests: Add EXESUF to program calls.Carl Eugen Hoyos2019-04-19
| | | | Fixes fate in Windows subsystem for Linux.
* rename hls_segment_filename in fate-hls-segment-size for fateSteven Liu2019-04-19
|
* add tests/ref/fate/hls-segment-size for the fate testSteven Liu2019-04-19
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* tests/fate: add fate-hls-segment-size for hls_segment_size testSteven Liu2019-04-17
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/mxfdec: use operational_pattern_ul instead of operational_pattern ↵Marton Balint2019-04-14
| | | | | | | | for metadata This makes it more consistent with other metadata keys. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mxfdec: export operational pattern UL as file metadataMarton Balint2019-04-11
| | | | | | | Can be useful for API users as ffmpeg/libavformat can't properly support some operational patterns. Signed-off-by: Marton Balint <cus@passwd.hu>
* FATE: Add test for HEVC files that claim to have two first slicesDerek Buitenhuis2019-04-05
| | | | | | This makes sure we don't regress on 70c8c8a818f39bc262565ec29fae2baffb3e1660. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavf/movenc: fix tmcd writing for non-MP4/MOV modesGyan Doshi2019-04-03
| | | | | | | write_tmcd allows tmcd track to be created with any mode but in mov_write_header, index for first tmcd track is only set for modes MP4 or MOV, causing a crash if tmcd creation is attempted with other modes.
* fate: unbreak fate with custom binary namesGyan Doshi2019-04-03
|
* tests/fate-run: fix regression in encoding optionsJames Almer2019-03-19
| | | | | | | | Set threads back to 1. Fixes fate when run in multi threaded mode. Regression since d0c43e32427ec1efac364be0987a6aafa695527f. Signed-off-by: James Almer <jamrial@gmail.com>
* tests/fate/ffmpeg: Check for apng codec for fate-copy-apng.Carl Eugen Hoyos2019-03-15
| | | | The file has to be created first, fixes fate without zlib.
* fate/lavf-image: fix passed arguments for some high bit depth testsJames Almer2019-03-14
| | | | | | Should fix fate failures on big endian targets. Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'f8abf7d4dfa0504f7f65e4f1fd9d22e01cb371cc'James Almer2019-03-14
|\ | | | | | | | | | | | | * commit 'f8abf7d4dfa0504f7f65e4f1fd9d22e01cb371cc': checkasm/h264: test 4:2:2 chroma loop filter functions Merged-by: James Almer <jamrial@gmail.com>
| * checkasm/h264: test 4:2:2 chroma loop filter functionsJanne Grunau2019-02-27
| |
* | Merge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b'James Almer2019-03-14
|\| | | | | | | | | | | | | * commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b': tests: Add a convenience function for video-only lavf tests Merged-by: James Almer <jamrial@gmail.com>
| * tests: Add a convenience function for video-only lavf testsDiego Biurrun2019-02-16
| | | | | | | | | | Rename a test in the process for consistency and simplicity and remove the remnants of the now-unused lavf regression test scripts.
* | tests: Convert lavf container tests with samples to non-legacy test scriptsJames Almer2019-03-14
| |
* | Merge commit '618d02c1fa9e74d490cace64a7d15762656b521c'James Almer2019-03-14
|\| | | | | | | | | | | | | * commit '618d02c1fa9e74d490cace64a7d15762656b521c': tests: Convert lavf container tests to non-legacy test scripts Merged-by: James Almer <jamrial@gmail.com>