1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-19 05:49:09 +02:00

2214 Commits

Author SHA1 Message Date
Clément Bœsch
479ab8c3f8 lavc/htmlsubtitles: handle colors starting with many '#' 2017-08-01 15:50:00 +02:00
Clément Bœsch
e800371863 lavc/htmlsubtitles: improve line breaks handling 2017-08-01 15:50:00 +02:00
Clément Bœsch
55949e3e51 lavc/tests: add htmlsubtitles 2017-08-01 15:50:00 +02:00
Clément Bœsch
f0f8da545d lavc/htmlsubtitles: improve handling broken garbage
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.
2017-08-01 15:50:00 +02:00
Clément Bœsch
4158fba3cd sws/tests/pixdesc_query: replace rgb based pix fmts with endianess agnostic names
Fixes ticket #6554
2017-07-30 16:05:32 +02:00
Clément Bœsch
d2c70fc887 sws/tests/pixdesc_query: sort pixel formats 2017-07-30 16:04:36 +02:00
Nicolas George
1daacba91f Revert "Revert "lavfi/buffersrc: push the frame deeper if requested.""
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.
2017-07-30 12:22:41 +02:00
Tobias Rapp
60008c0fe9 fate: update pixfmt_best test to check for endianness
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-07-27 08:53:37 +02:00
Vittorio Giovara
d24a82d2e2 ffprobe: Print color properties from show_frames
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-07-21 20:19:07 +02:00
James Almer
0a813ca091 fate: add libavdevice/reverse.c to fate-source 2017-07-20 01:59:43 -03:00
Mark Thompson
3192821237 pixdesc: Add a test for av_find_best_pix_fmt_of_2() 2017-07-18 22:56:30 +01:00
Michael Niedermayer
d0ba0be355 fate: add sub-srt-badsyntax test
Based-on: srt sample by ubitux

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-15 04:16:44 +02:00
Diego Biurrun
5be9939b46 fate: Add cinepak encoder vsynth tests 2017-07-05 13:05:54 +02:00
Kevin Mark
d32a6c36e4 libavfilter/scale2ref: Maintain main input's DAR
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 <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-04 15:09:10 +02:00
Michael Niedermayer
0b180d2066 fate: Add fate-copy-trac3074
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-30 03:03:08 +02:00
Paul B Mahol
3594788b71 avcodec/utvideodec: decode to GBR(A)P
This is actually internal utvideo format.
Allows to make use of SIMD for median prediction for rgb(a) formats,
thus speeding up decoding.
Simplifies code, eases further developement and maintenance.

Update FATE because of pixel format switch.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-26 20:11:58 +02:00
James Almer
e5bce8b4ce fate: update checksums for fate-lavf-ffm and fate-lavf-mxf
<@jamrial> durandal_1707: 04aa09c4bc broke fate-lavf-ffm and fate-lavf-mxf
<@durandal_1707> how so?
<@jamrial> one byte changes
<@durandal_1707> jamrial: just update checksums
<@jamrial> durandal_1707: but why did they change at all? the commit you reverted didn't affect them
<@jamrial> why does reverting it affect these tests?
<@jamrial> i don't think updating the checksum without knowing what changed is a good idea
<@durandal_1707> jamrial: the lavfi core is in weird state after removal of recursive code
<@durandal_1707> jamrial: the change is that older ones would get progressive flag set and new one doesnt
<@jamrial> alright
2017-06-24 01:52:09 -03:00
Marton Balint
7ed6f9168b fate: use do_md5sum instead of the md5 protocol for most md5 fate tests
The md5 protocol has no seek support, but some tests use seeks. This changes
the fate tests to actually create the output files and calculate the md5 on the
written files, which also makes the tests independent of the size of the output
buffers and output buffering in general.

A new md5pipe fate test method is also introduced to keep the old functionality
for tests where using a non-seekable output was intentional, and matroska md5
tests are changed to use that.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-18 23:19:48 +02:00
Michael Bradshaw
50be8f2142 fate: add test for -time_base option
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-10 11:11:48 +02:00
Sasi Inguva
93db5e3fc4 lavf/mov.c: offset index timestamps by the minimum pts to make first pts zero
If the videos starts with B frame, then the minimum composition time
as computed by stts + ctts will be non-zero. Hence we need to shift
the DTS, so that the first pts is zero. This was the intention of that
code-block. However it was subtracting by the wrong amount.

For example, for one of the videos in the bug nonFormatted.mp4 we have

stts:
sample_count  duration
960           1001

ctts:
sample_count  duration
1             3003
2             0
1             3003
....

The resulting composition times are :  3003, 1001, 2002, 6006, ...

The minimum composition time or PTS is 1001, which should be used to
offset DTS. However the code block was wrongly using ctts[0] which is
3003. Hence the PTS was negative. This change computes the minimum pts
encountered while fixing the index, and then subtracts it from all the
timestamps after the edit list fixes are applied.

Samples files available from:

https://bugs.chromium.org/p/chromium/issues/detail?id=721451
https://bugs.chromium.org/p/chromium/issues/detail?id=723537

fate-suite/h264/twofields_packet.mp4 is a similar file starting with 2
B frames. Before this change the PTS of first two B-frames was -6006
and -3003, and I am guessing one of them got dropped when being decoded
and remuxed  to the framecrc before, and now it is not being dropped.

Signed-off-by: Sasi Inguva <isasi@google.com>
2017-06-09 18:13:33 +02:00
James Almer
c1503cd95e fate: add fate-adts-id3v1-demux
This test the demuxer discarding non ADTS frames at the beginning and
end of the input.

As a side effect, this commit also enables fate-adts-demux, which was
accidentally disabled in 324f0fbff1245f9e9e1dda29ecb03138a2de287d.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-05 20:22:29 -03:00
Rostislav Pehlivanov
10b7adf79d fate: add test for the Dirac low delay profile
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-06-05 06:10:40 +01:00
Kevin Mark
4af496473a FATE: Add test for libavfilter/scale2ref
This new FATE test for the scale2ref filter makes use of the recently
added scale2ref-specific variables to maintain the aspect ratio of a
test input.

Filtergraph explanation:
[main] has an AR of 4:3. [ref] has an AR of 16:9.
640 / 4 = 160. So the new width for [main] is 160.
160 / ((320 / 240) * (1 / 1)) = 160 / (4 / 3) = 120. So the new
height for [main] is 120.
160 / 120 = 4 / 3 so [main]'s aspect ratio has been maintained while
using [ref]'s width as a reference point.

[ref] is nullsink'd since it is left unchanged by scale2ref (and so
shouldn't need to be tested).

If we were to use "iw/4:-1" in place of "iw/4:ow/mdar":
640 / 4 = 160. So the new width for [main] would be 160.
360 / 4 = 90. So the new height for [main] would be 90.
160 / 90 = 16 / 9 so [main] now has the same aspect ratio as [ref]
which is probably what you do not want.

This is currently the only test for scale2ref.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-05 01:50:25 +02:00
Michael Niedermayer
4dc3714c48 avcodec/tscc2: Skip duplicate frames
This turns CFR duplicated frames into skiped frames

Fixes: Timeout
Fixes: 1719/clusterfuzz-testcase-minimized-6375090079924224

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-25 14:30:04 +02:00
James Almer
f63c351657 avcodec/aac_adtstoasc: propagate new extradata using packet side data
This removes the current API violating behavior of overwritting the stream's
extradata during packet filtering, something that should not happen after the
av_bsf_init() call.

The bitstream filter generated extradata is no longer available during
write_header(), and as such not usable with non seekable output. The FATE
tests are updated to reflect this.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-24 20:28:00 -03:00
Martin Storsjö
7c35bee025 movenc-test: Add tests for negative cts offsets
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-05-15 14:08:53 +03:00
Martin Vignali
6ce57fb3c2 fate/exr : add test for Y, b44A negative half, and datawindow != displaywindow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-10 14:00:20 +02:00
James Almer
f089e02fa2 Merge commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5'
* commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5':
  lavc: add an option for exporting cropping information to the caller

Merged-by: James Almer <jamrial@gmail.com>
2017-05-08 14:22:43 -03:00
Clément Bœsch
b010843594 Merge commit '122de16dd8108a59a55d30543c9f28b5f61b02d1'
* commit '122de16dd8108a59a55d30543c9f28b5f61b02d1':
  Replace cmdutils_common_opts.h by a macro

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-05-05 14:04:30 +02:00
Thomas Mundt
2da5bf4c2f avfilter/interlace: add complex vertical low-pass filter
This complex (-1 2 6 2 -1) filter slightly less reduces interlace 'twitter' but better retain detail and subjective sharpness impression compared to the linear (1 2 1) filter.

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-02 14:09:50 -03:00
Martin Vignali
89812e423d fate/exr : add test for negative float value
the tested sample contain negative value in the red channel
need to be clip to zero, and not set to MAX_RED

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 11:40:57 +02:00
Martin Vignali
5ad18f279a fate/exr : add tests for piz uncompress
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 11:40:57 +02:00
Martin Vignali
59d219b91e fate/exr : fix pix_fmt
rgb_scanline_pxr24_half_uint32_13x9.exr doesn't have alpha

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-25 12:12:57 +02:00
Michael Niedermayer
177608aa74 fate: Add test for pkt_size of ffprobe
Suggested-by: James Almer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:17:58 +02:00
Sasi Inguva
87071478b4 tests/fate-run.sh: Show packet flags for fate gapless tests.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-19 14:06:32 +02:00
Vignesh Venkatasubramanian
62c27fdba4 webm_dash_manifest: Add option to specify bandwidth
Add an option to webm_dash_manifest demuxer to specify a value for
"bandwidth" field in the DASH manifest. The value is then used by
the muxer. Fixes an existing FIXME in the code.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: James Zern <jzern@google.com>
2017-04-17 10:46:51 -07:00
Michael Niedermayer
ac29b82ec5 swscale: Add gbrap10 output
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-15 15:37:10 +02:00
Diego Biurrun
4d4d7cf9d5 fmvc: Add FATE tests 2017-04-13 12:35:47 +02:00
Carl Eugen Hoyos
a45951c0a4 tests: Fix gray10 and gray12 references after c1616b45. 2017-04-13 08:19:48 +02:00
Rostislav Pehlivanov
45eeb1f785 mjpegenc: enable optimal huffman coding by default
As it gives excellent encoding gains at an insignificant speed increase
and passes fate without problems, it should now be safe to enable by
default.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-09 00:00:39 +01:00
James Almer
b8f26779d6 lavf: use the new bitstream filter for extracting extradata
This merges commits 8e2ea691351c5079cdab245ff7bfa5c0f3e3bfe4 and
096a8effa3f8f3455292c958c3ed07e798def7bd by Anton Khirnov, with the
following change:

- extract_extradata_check() is added to know if the codec is supported
by the bsf before trying to initialize it. This behaviour is similar to
the old AVCodecParser.split checks.

The FATE reference changes are due to the filtered out NAL units that
the old AVCodecParser.split implementation left alone.
Decoding is unchanged as the functions that parse extradata simply
ignored said unnecessary NAL units.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-07 17:16:17 -03:00
Martin Vignali
4db2bfa63c fate : add test for exr with offset table set to 0
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-03 03:02:50 +02:00
James Almer
5f23d8b405 fate: add bitexact sws_flags to hevc-extradata-reload
Makes the test output consistent across all targets.

Reviewed-by: nevcairiel
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-01 13:39:49 -03:00
Clément Bœsch
e83a1c5b7c Merge commit '481ff3cf018811ba3235f1c236e970f32a6300b9'
* commit '481ff3cf018811ba3235f1c236e970f32a6300b9':
  fate: Add h264 and hevc extradata reload tests

Only the HEVC part is merged, see 00c80798160f930ce680f98f869c23d91a261f06

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 12:07:50 +02:00
Martin Vignali
6426f74272 fate/exr : add test for uint32 data
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-31 23:09:55 +02:00
Michael Niedermayer
afebf470ca avutil/tests/dict: Check return of av_dict_parse_string()
Fixes: CID1396402

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-30 23:35:18 +02:00
James Almer
c14b3ea93c ffprobe: fix printing packet side data information
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-29 21:20:06 -03:00
James Almer
ba4d0a37b9 Merge commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c'
* commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c':
  fate: Add tests for mov display matrix

Adapted to use ffprobe -show_entries

Merged-by: James Almer <jamrial@gmail.com>
2017-03-27 18:19:02 -03:00
Paul B Mahol
e1940d2458 avcodec/dnxhd_parser: take into account compressed frame size and skip it
Fixes #6214 and vsynth1-dnxhd-720p-hr-lb.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-03-24 15:44:01 +01:00
Clément Bœsch
dffa4ec1ed Merge commit 'dc3fe45fca9c10c4af6bfcf48eb7b81968892ef9'
* commit 'dc3fe45fca9c10c4af6bfcf48eb7b81968892ef9':
  fate: Add test for rscc palette

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:40:09 +01:00