summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* fate: add mxf_dv25/dvcpro50 regression testsTobias Rapp2017-09-187-0/+126
| | | | Signed-off-by: Tobias Rapp <[email protected]>
* fate: add tinterlace lowpass filtering testsThomas Mundt2017-09-173-0/+34
| | | | Signed-off-by: James Almer <[email protected]>
* checkasm: add an exrdsp testJames Almer2017-09-175-0/+74
| | | | Signed-off-by: James Almer <[email protected]>
* avfilter/interlace: prevent over-sharpening with the complex low-pass filterThomas Mundt2017-09-151-25/+25
| | | | | | | | | | | | | | | | | The complex vertical low-pass filter slightly over-sharpens the picture. This becomes visible when several transcodings are cascaded and the error potentises, e.g. some generations of HD->SD SD->HD. To prevent this behaviour the destination pixel must not exceed the source pixel when the average of the pixels above and below is less than the source pixel. And the other way around. Tested and approved in a visual transcoding cascade test by video professionals. SSIM/PSNR test with the first generation of an HD->SD file as a reference against the 6th generation(3 x SD->HD HD->SD): Results without the patch: SSIM Y:0.956508 (13.615881) U:0.991601 (20.757750) V:0.993004 (21.551382) All:0.974405 (15.918463) PSNR y:31.838009 u:48.424280 v:48.962711 average:34.759466 min:31.699297 max:40.857847 Results with the patch: SSIM Y:0.970051 (15.236232) U:0.991883 (20.905857) V:0.993174 (21.658049) All:0.981290 (17.279202) PSNR y:34.412108 u:48.504454 v:48.969496 average:37.264644 min:34.310637 max:42.373392 Signed-off-by: Thomas Mundt <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* vf_fps: when reading EOF, using current_pts to duplicate the last frame if ↵Thierry Foucu2017-09-154-2/+10
| | | | | | | | | needed. Fix ticket #2674 Tested with examples from ticket 2674. Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/mxfenc: Correct the Sample rate for PCM outside D10Michael Niedermayer2017-09-122-4/+4
| | | | | | Based on mail from IRT Signed-off-by: Michael Niedermayer <[email protected]>
* checkasm: use perf API on Linux ARM*Clément Bœsch2017-09-082-25/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARM platforms, accessing the PMU registers requires special user access permissions. Since there is no other way to get accurate timers, the current implementation of timers in FFmpeg rely on these registers. Unfortunately, enabling user access to these registers on Linux is not trivial, and generally involve compiling a random and unreliable github kernel module, or patching somehow your kernel. Such module is very unlikely to reach the upstream anytime soon. Quoting Robin Murphin from ARM: > Say you do give userspace direct access to the PMU; now run two or more > programs at once that believe they can use the counters for their own > "minimal-overhead" profiling. Have fun interpreting those results... > > And that's not even getting into the implications of scheduling across > different CPUs, CPUidle, etc. where the PMU state is completely beyond > userspace's control. In general, the plan to provide userspace with > something which might happen to just about work in a few corner cases, > but is meaningless, misleading or downright broken in all others, is to > never do so. As a result, the alternative is to use the Performance Monitoring Linux API which makes use of these registers internally (assuming the PMU of your ARM board is supported in the kernel, which is definitely not a given...). While the Linux API is obviously cross platform, it does have a significant overhead which needs to be taken into account. As a result, that mode is only weakly enabled on ARM platforms exclusively. Note on the non flexibility of the implementation: the timers (native FFmpeg vs Linux API) are selected at compilation time to prevent the need of function calls, which would result in a negative impact on the cycle counters.
* fate: add test for asetnsamples filter with padding disabledTobias Rapp2017-09-083-4/+532
| | | | | | | | | Adds another test for asetnsamples filter where padding of the last frame is switched off. Renames the existing test to make the difference obvious. Tested-by: Michael Niedermayer <[email protected]> Signed-off-by: Tobias Rapp <[email protected]>
* ffprobe: use consistent string for unspecified color_range valueTobias Rapp2017-09-077-12/+12
| | | | | | | Makes the handling of unspecified/unknown color_range values on stream level consistent to the value used on frame level. Signed-off-by: Tobias Rapp <[email protected]>
* fate: fix fate-lavf-fits dependenciesJames Almer2017-09-061-1/+1
| | | | We need the fits muxer/demuxer.
* fate: add tests for some video source filtersTobias Rapp2017-08-319-0/+169
| | | | | | | | | | Adds FATE tests for the previously untested allrgb, allyuv, rgbtestsrc, smptebars, smptehdbars and yuvtestsrc filters. Also adds a test for testsrc2 filter with rgb+alpha. Tested-by: Michael Niedermayer <[email protected]> Signed-off-by: Tobias Rapp <[email protected]>
* fate/flvenc: set bitexact output format flag explicitlyJames Almer2017-08-301-1/+1
| | | | | | Using the encoder flags to set the muxer in bitexact mode is deprecated. Signed-off-by: James Almer <[email protected]>
* fate/pixlet : add test for rgbMartin Vignali2017-08-313-0/+12
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* fate: stop using deprecated filter syntax in hls testsJames Almer2017-08-301-3/+3
| | | | Signed-off-by: James Almer <[email protected]>
* fate: remove usage of deprecated AVCodecContext.me_method in vsynth snow testsJames Almer2017-08-301-2/+2
| | | | Signed-off-by: James Almer <[email protected]>
* FATE: Add FITS testsParas Chadha2017-08-3022-0/+220
| | | | Signed-off-by: Paras Chadha <[email protected]>
* ffmpeg options: Enable trailing ? for map_channelpkviet2017-08-253-0/+10
| | | | | | | | | | | The -map option allows for a trailing ? so that an error is not thrown if the input stream does not exist. This capability is extended to the map_channel option. This allows a ffmpeg command not to break if an input channel does not exist, which can be of use (for instance, scripts processing audio channels with sources having unset number of audio channels). Signed-off-by: Michael Niedermayer <[email protected]>
* checkasm/vf_blend: rename addition128 and difference128 to grainmerge and ↵James Almer2017-08-241-2/+2
| | | | | | | grainextract This was missing from f8d0689d3f. Fixes checkasm.
* fate: add test vector aac-al04sf_48Alex Converse2017-08-241-0/+4
|
* avformat/mov: Fix trampling of ctts during seeks when sidx support is enabled.Dale Curtis2017-08-242-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When sidx box support is enabled, the code will skip reading all trun boxes (each containing ctts entries for samples inthat box). If seeks are attempted before all ctts values are known, the old code would dump ctts entries into the wrong location. These are then used to compute pts values which leads to out of order and incorrectly timestamped packets. This patch fixes ctts processing by always using the index returned by av_add_index_entry() as the ctts_data index. When the index gains new entries old values are reshuffled as appropriate. This approach makes sense since the mov demuxer is already relying on the mapping of AVIndex entries to samples for correct demuxing. As a result of this all ctts entries are now 1-count. A followup change will be submitted to remove support for > 1 count entries which will simplify seeking. Notes for future improvement: Probably there are other boxes (stts, stsc, etc) that are impacted by this issue... this patch only attempts to fix ctts since it completely breaks packet timestamping. This patch continues using an array for the ctts data, which is not the most ideal given the rearrangement that needs to happen (via memmove as new entries are read in). Ideally AVIndex and the ctts data would be set-type structures so addition is always worst case O(lg(n)) instead of the O(n^2) that exists now; this slowdown is noticeable during seeks. Signed-off-by: Dale Curtis <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* fate: add overlay filter tests with alphaMarton Balint2017-08-1611-0/+79
| | | | Signed-off-by: Marton Balint <[email protected]>
* avfilter/vf_weave: fix top vs bottom field orderPaul B Mahol2017-08-161-1/+1
| | | | Fixes #6590.
* Add single precision planar RGB pixel formatsVittorio Giovara2017-08-151-0/+20
| | | | | | Add a pixel format flag to identify this family. Signed-off-by: Vittorio Giovara <[email protected]>
* lavf/movenc.c: Set sgpd and sbgp atoms to represent decoder delay for AAC.Sasi Inguva2017-08-103-10/+10
| | | | | | | | According to https://developer.apple.com/library/content/documentation/QuickTime/QTFF/QTFFAppenG/QTFFAppenG.html and ISO-IEC-14496-12 Section 10.1.1.1 and 10.1.1.3 Signed-off-by: Sasi Inguva <[email protected]> Reviewed-by: Derek Buitenhuis <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/dvenc: Change quantizer dead zone default to 7Michael Niedermayer2017-08-0810-32/+32
| | | | | | This improves the quality and reduces the "blocking" in flat areas Signed-off-by: Michael Niedermayer <[email protected]>
* fate: update ref files for gray pixel formats changesJames Almer2017-08-082-3/+8
|
* avfilter: add support for GRAY9 and GBRAP10Paul B Mahol2017-08-071-0/+1
|
* libswscale: add gray9 supportPaul B Mahol2017-08-0712-0/+21
|
* avfilter/drawutils: support gbrap10 tooPaul B Mahol2017-08-071-1/+1
|
* swscale: fix gbrap16 alpha channel issuesJames Cowgill2017-08-051-2/+2
| | | | | | | | | | | | | Fixes filter-pixfmts-scale test failing on big-endian systems due to alpSrc not being cast to (const int32_t**). Also fixes distortions in the output alpha channel values by copying the alpha channel code from the rgba64 case found elsewhere in output.c. Fixes ticket 6555. Signed-off-by: James Cowgill <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* speedhq: add FATE testsSteinar H. Gunderson2017-08-034-0/+21
| | | | | | Also add simple FATE tests, based on output produced by the NDI SDK. Signed-off-by: James Almer <[email protected]>
* lavc/htmlsubtitles: handle colors starting with many '#'Clément Bœsch2017-08-011-1/+1
|
* lavc/htmlsubtitles: improve line breaks handlingClément Bœsch2017-08-011-0/+1
|
* lavc/tests: add htmlsubtitlesClément Bœsch2017-08-012-0/+11
|
* lavc/htmlsubtitles: improve handling broken garbageClément Bœsch2017-08-015-25/+25
| | | | | | | | | | | | | | | | | | | | This commit switches off forced correct nesting of tags and only keeps it for font tags. See long explanations in the code for the rationale. This results in various FATE changes which I'll explain here: - various swapping in font attributes, this is mostly noise due to the old reverse stack way of printing them. The new one is more correct as the last attribute takes over the previous ones. - unrecognized tags disappears - invalid tags that were previously displayed aren't anymore (instead, we have a warning). This is better for the end user The main benefit of this commit is to be more tolerant to error, leading to a better handling of badly nested tags or random wrong formatting for the end user.
* sws/tests/pixdesc_query: replace rgb based pix fmts with endianess agnostic ↵Clément Bœsch2017-07-301-24/+24
| | | | | | names Fixes ticket #6554
* sws/tests/pixdesc_query: sort pixel formatsClément Bœsch2017-07-301-572/+572
|
* Revert "Revert "lavfi/buffersrc: push the frame deeper if requested.""Nicolas George2017-07-302-4/+4
| | | | | | | | | | | This reverts commit 04aa09c4bcf2d5a634a35da3a3ae3fc1abe30ef8 and reintroduces 0ff5567a30be6d7c804e95997ae282d6bacd76c3 that was temporarily reverted due to minor regressions. It also reverts e5bce8b4ce7b1f3a83998febdfa86a3771df96ce that fixed FATE refs. The fate-ffm change is caused by field_order now being set on the output format because the first frame arrives earlier. The fate-mxf change is assumed to be the same.
* fate: update pixfmt_best test to check for endiannessTobias Rapp2017-07-271-1/+1
| | | | Signed-off-by: Tobias Rapp <[email protected]>
* lavf/movenc: support GPMF track (gpmd) remuxingClément Bœsch2017-07-241-0/+5
| | | | | See https://github.com/gopro/gpmf-parser for more information on the data stream itself.
* ffprobe: Print color properties from show_framesVittorio Giovara2017-07-2111-81/+246
| | | | Signed-off-by: Vittorio Giovara <[email protected]>
* fate: add libavdevice/reverse.c to fate-sourceJames Almer2017-07-201-0/+1
|
* pixdesc: Add a test for av_find_best_pix_fmt_of_2()Mark Thompson2017-07-182-0/+5
|
* fate: add sub-srt-badsyntax testMichael Niedermayer2017-07-152-0/+25
| | | | | | Based-on: srt sample by ubitux Signed-off-by: Michael Niedermayer <[email protected]>
* checkasm: add hybrid_analysis_ileave and hybrid_synthesis_deint tests to ↵James Almer2017-07-131-0/+82
| | | | | | aacpsdsp Signed-off-by: James Almer <[email protected]>
* checkasm: add a g722dsp testJames Almer2017-07-135-0/+69
| | | | Signed-off-by: James Almer <[email protected]>
* fate: add fate-checkasm-sbrdsp targetJames Almer2017-07-051-0/+1
| | | | Signed-off-by: James Almer <[email protected]>
* checkasm: use declare_func_float() in sbrdsp sum_square testJames Almer2017-07-041-1/+1
| | | | | | | | The function returns a float. This fixes the test in x86_32 targets. Signed-off-by: James Almer <[email protected]>
* libavfilter/scale2ref: Maintain main input's DARKevin Mark2017-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The scale2ref filter will now maintain the DAR of the main input and not the DAR of the reference input. This previous behavior was deemed counterintuitive for most (all?) use-cases. Before: scale2ref=iw/4:ow/mdar in w:320 h:240 fmt:rgb24 sar:1/1 ref w:640 h:360 fmt:rgb24 sar:1/1 out w:160 h:120 fmt:rgb24 sar:4/3 flags:0x2 SAR: ((120 * 640) / (160 * 360)) * (1 / 1) = 4 / 3 DAR: (160 / 120) * (4 / 3) = 16 / 9 (main out now same DAR as ref) Now: scale2ref=iw/4:ow/mdar in w:320 h:240 fmt:rgb24 sar:1/1 ref w:640 h:360 fmt:rgb24 sar:1/1 out w:160 h:120 fmt:rgb24 sar:1/1 flags:0x2 SAR: ((120 * 320) / (160 * 240)) * (1 / 1) = 1 / 1 DAR: (160 / 120) * (1 / 1) = 4 / 3 (main out same DAR as main in) The scale2ref FATE test has also been updated. Signed-off-by: Kevin Mark <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* checkasm: add sbrdsp testsMatthieu Bouron2017-07-034-1/+302
|