1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Commit Graph

4871 Commits

Author SHA1 Message Date
Michael Niedermayer
bcc0ae5d5a tests/fate/demux: Add test for d25c945247
Sample provided by Thierry for fate

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-07-07 12:09:34 +02:00
Jacob Trimble
69bd73b3ff libavutil/encryption_info: Add unit tests.
Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-06-27 13:43:39 +02:00
Steven Liu
387464bea5 from RTCTIME to N*23, step is 23
fix ticket: 7225

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-06-25 14:06:45 +08:00
Gyan Doshi
830695be36 avformat/movenc: read track title from correct key
da9cc22d5b allowed the MOV muxer to relay a custom stream handler name,
whether populated from the input stream or user-set. However, the entry
key didn't match the key set by the MOV demuxer, so it wasn't
effective. Fixed.

Due to the change, four FATE refs have to be updated. Verified that the
target payload of the tests hasn't changed in terms of CRC.
2018-06-19 11:05:57 +05:30
Gyan Doshi
70742f0264 fate: correct filename references of qt-faststart binary
qt-faststart build doesn't have PROGSSUF added.
2018-06-16 09:20:57 +05:30
erankor
c5e6c0b5f6 qt-faststart: add fate test for stco overflow
verify that the stco atom is upgraded to co64 when the addition of moov
size to the offsets results in an overflow

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-06-13 21:55:19 +02:00
foo86
b74877206e fate: add Dolby E test
Signed-off-by: James Almer <jamrial@gmail.com>
2018-06-05 23:07:03 -03:00
Sasi Inguva
fe6c4f0c47 lavf/mov.c: Set st->start_time for video streams explicitly.
If start_time is not set, ffmpeg takes the duration from the global
movie instead of the per stream duration.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-06-06 01:53:30 +02:00
Andrey Semashev
d7eb8d8475 lavfi/tests: Fix 16-bit vf_blend test to avoid memory not aligned to 2 bytes
Generic C implementation of vf_blend performs reads and writes of 16-bit
elements, which requires the buffers to be aligned to at least 2-byte
boundary.

Also, the change fixes source buffer overrun caused by src_offset being
added to to test handling of misaligned buffers.

Fixes: #7226

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-30 02:42:10 +02:00
Michael Niedermayer
a9dacdeea6 avcodec/qtrle: Do not output duplicated frames on insufficient input
This improves performance and makes qtrle behave more similar to other decoders.
Libavcodec does generally not output known duplicated frames, instead the calling Application
can insert them as it needs.

Fixes: Timeout
Fixes: 6383/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QTRLE_fuzzer-6199846902956032

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-30 02:42:10 +02:00
Mark Thompson
ba7d1377e8 hwcontext: Add test for device creation and derivation
This uses any devices it can find on the host system - on a system with no
hardware device support or in builds with no support included it will do
nothing and pass.
2018-05-21 20:54:52 +01:00
Aman Gupta
16b4f97b72 avformat/mpegts: add merge_pmt_versions option
This new optional flag makes it easier to deal with mpegts
samples where the PMT is updated and elementary streams move
to different PIDs in the middle of playback.

Previously, new AVStreams were created per PID, and it was up
to the user to figure out which streams had migrated to a new PID
(by iterating over the list of AVProgram and making guesses), and
switch seamlessly to the new AVStream during playback.

Transcoding or remuxing these streams with ffmpeg on the CLI was
also quite painful, and the user would need to extract each set
of PIDs into a separate file and then stitch them back together.

With this new option, the mpegts demuxer will automatically detect
PMT changes and feed data from the new PID to the original AVStream
that was created for the orignal PID. For mpegts samples with
stream_identifier_descriptor available, the unique ID is used to
merge PIDs together. If the stream id is not available, the demuxer
attempts to map PIDs based on their position within the PMT.

With this change, I am able to playback and transcode/remux these
two samples which previously caused issues:

    https://tmm1.s3.amazonaws.com/pmt-version-change.ts
    https://kuroko.fushizen.eu/videos/pid_switch_sample.ts

I also have another longer sample in which the PMT changes
repeatedly and ES streams move to different pids three times
during playback:

    https://tmm1.s3.amazonaws.com/multiple-pmt-change.ts

Demuxing this sample with the new option shows several new log
messages as the PMT changes are handled:

    [mpegts] detected PMT change (program=1, version=3/6, pcr_pid=0xf98/0xfb7)
    [mpegts] re-using existing video stream 0 (pid=0xf98) for new pid=0xfb7
    [mpegts] re-using existing audio stream 1 (pid=0xf99) for new pid=0xfb8
    [mpegts] re-using existing audio stream 2 (pid=0xf9a) for new pid=0xfb9
    [mpegts] detected PMT change (program=1, version=6/3, pcr_pid=0xfb7/0xf98)
    [mpegts] detected PMT change (program=1, version=3/4, pcr_pid=0xf98/0xf9b)
    [mpegts] re-using existing video stream 0 (pid=0xf98) for new pid=0xf9b
    [mpegts] re-using existing audio stream 1 (pid=0xf99) for new pid=0xf9c
    [mpegts] re-using existing audio stream 2 (pid=0xf9a) for new pid=0xf9d
    [mpegts] detected PMT change (program=1, version=4/5, pcr_pid=0xf9b/0xfa9)
    [mpegts] re-using existing video stream 0 (pid=0xf98) for new pid=0xfa9
    [mpegts] re-using existing audio stream 1 (pid=0xf99) for new pid=0xfaa
    [mpegts] re-using existing audio stream 2 (pid=0xf9a) for new pid=0xfab
    [mpegts] detected PMT change (program=1, version=5/6, pcr_pid=0xfa9/0xfb7)

Signed-off-by: Aman Gupta <aman@tmm1.net>
2018-05-18 19:00:29 -07:00
Clément Bœsch
2940af9389 tests/checkasm/nlmeans: fix invalid read/write on ii buffer 2018-05-18 19:12:11 +02:00
Tobias Rapp
eb28b5ec8a avfilter/vsrc_testsrc: add pal75bars and pal100bars video filter sources
Generates color bar test patterns based on EBU PAL recommendations.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-05-18 15:39:54 +02:00
Marton Balint
50d6b7bd83 avcodec/xwddec: fix palette alpha
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-05-16 22:34:27 +02:00
Michael Niedermayer
d628caf54f avformat/mxfenc: Add Sample width/height/x offset/y offset, Display x offset and F2 offset
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-12 01:08:01 +02:00
Tobias Rapp
66ba303c53 fate: add more tests for hue video filter
Adds tests for the hue angle and brightness filter parameters.
Renames the existing saturation parameter test for consistency.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-05-11 09:16:08 +02:00
Mark Thompson
f995aa82d8 fate/cbs: Add an SEI test
The artificial sample file sei-1.h264 contains five frames (IDR P B I B)
and the following SEI message types:
* Buffering period
* Picture timing
* Pan-scan rectangle (display as 4:3)
* User data registered, containing A/53 closed captions (captions match
  frame content, including reordering)
* Recovery point (at the I frame)
* Display orientation (identity transformation)
* Mastering display (with arbitrary contents)
* Undefined SEI type 1234 (containing ascending bytes)
2018-05-10 23:54:02 +01:00
Jun Zhao
b30575bc98 checkasm/sw_rgb: fix the function declaration warning
fix the warning: "function declaration isn’t a prototype", in C
int foo() and int foo(void) are different functions. int foo()
accepts an arbitrary number of arguments, while int foo(void) accepts 0
arguments.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-05-10 19:28:51 +08:00
Michael Niedermayer
293a6e8332 avformat/mxfenc: Write transfer characteristic
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
c35ca7e01c avformat/mxfenc: Add Stored F2 Offset / Image Start/End Offset for D10
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
530ac1e50b avformat/mxfenc: Write Audio Ref Level for D10
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
1246754c80 avformat/mxfenc: Add Padding Bits
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
6d0339096e avformat/mxfenc: add white/black ref /color range
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
2bee43b67d avformat/mxfenc: Add vertical subsampling support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
1b6c89ca8d avformat/mxfenc: Add object model version
Other tools (XFConvert at least) write this as well.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
86c9250923 avformat/mxfenc: Add Product Version, Toolkit version and Platform
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
3ba1bbb4f9 avformat/mxfenc: Bump minor versions for S377-1-2009
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Michael Niedermayer
5c70513418 avformat/mxfenc: Correct KAG alignment of preface
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-08 23:02:58 +02:00
Martin Vignali
6ebc71847e fate/hapenc : remove tests due to inconsistent result 2018-05-08 11:44:34 +02:00
Clément Bœsch
f679711c1b checkasm: add vf_nlmeans test for ssd_integral_image 2018-05-08 10:28:06 +02:00
James Almer
08032331ac fate: update fate-sws-pixdesc-query reference file
Signed-off-by: James Almer <jamrial@gmail.com>
2018-05-05 19:20:38 -03:00
Paul B Mahol
a26367493c fate: update pad pixfmt test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-05 22:05:07 +02:00
Paul B Mahol
b9dd058f7a swscale: add gray14 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-05 21:35:31 +02:00
Paul B Mahol
f43fd68f28 avfilter/drawutils: add support for full range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-03 21:43:57 +02:00
Paul B Mahol
5abcf45d75 avformat/yuv4mpegdec: simplify math
This one actually works with hd1080 y4m files when seeking backwards.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-03 14:15:07 +02:00
Mark Thompson
e07b1913fc fate/cbs: Always overwrite output in cbs fate tests
Before this, a failed test would keep failing because the output file
is not cleaned up and subsequent runs would refuse to overwrite it.
2018-05-02 01:21:40 +01:00
Mark Thompson
ddd3a209dc lavc/cbs: Add tests for VP9
Uses the same mechanism as other codecs - conformance test files are
passed through the metadata filter (which, with no options, reads the
input and writes it back) and the output verified to match the input.
2018-05-02 01:21:40 +01:00
Marton Balint
c60a824ee8 avformat/qtpalette: parse color table according to the QuickTime file format specs
The specs says that the the first color component in the color array is
not alpha, but simply 0.

Fixes 0 alpha of fate-suite/cvid/catfight-cvid-pal8-partial.mov

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-04-30 21:50:12 +02:00
Paul B Mahol
29fd44adf1 avfilter/vf_fieldmatch: use correct subsamplings for y0a, y1a and startx
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-04-28 22:49:09 +02:00
Clément Bœsch
71fa82bed6 lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
Derek Buitenhuis
28503c5aea mov: Properly abide by the track's media duration
The track's media duration from the mdhd atom takes precedence
over both the stts and elst atom for calculating and setting
the track's total duraion.

Technically, we shouldn't be using the stts atom at all for
calculating stream durations.

This fixes incorrect stream and final packet durations on files
with edit lists that are longer than the media duration.

The FATE changes are expected, and output is more correct (the
AAC frame is not 1028 samples).

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-04-26 14:42:15 +01:00
Jerome Borsboom
cc5deeb74a avcodec/vc1: add overlap smooting and loop filter for frame/field-interlace
Add previously omitted overlap smooting and loop filtering for
frame/field-interlace pictures. For progressive pictures switch to the
re-implemented versions of overlap smooting and loop filtering.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2018-04-25 22:07:20 +02:00
Jerome Borsboom
362ce2db4b avcodec/vc1: implement interlaced out-of-bounds reference pixel replication
The existing implementation did out-of-bounds reference pixel replication for
progressive reference frames. In interlaced reference frames both the even and
odd line on the horizontal edges need to be replicated.

Fixes #3262.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2018-04-25 22:07:20 +02:00
Paul B Mahol
b2570afde3 avformat/yuv4mpegdec: fix seeking backwards
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-04-25 18:30:46 +02:00
Martin Vignali
07a566e7d6 swscale/swscale_unscaled : add X86_64 (SSE2 and AVX) for uyvyto422
and checkasm test
2018-04-22 19:15:32 +02:00
Jacob Trimble
f7221d8e67 avformat/mov: Increase support for common encryption.
- Parse schm atom to get different encryption schemes.
- Allow senc atom to appear in track fragments.
- Allow 16-byte IVs.
- Allow constant IVs (specified in tenc).
- Allow only tenc to specify encryption (i.e. no senc/saiz/saio).
- Use sample descriptor to detect clear fragments.

This doesn't support:
- Different sample descriptor holding different encryption info.
  - Only first sample descriptor can be encrypted.
- Encrypted sample groups (i.e. seig).
- Non-'cenc' encryption scheme when using -decryption_key.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-19 03:15:32 +02:00
Michael Niedermayer
18d6ff2b42 tests/checkasm/checkasm: Provide verbose failure information on float_near_abs_eps() failures
This will make understanding failures and adjusting EPS easier

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-14 15:54:06 +02:00
Michael Niedermayer
5c62a3dbda tests/fate/filter-video: Use a bitexact/lossless input sample for fate-filter-metadata-silencedetect
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-13 21:44:28 +02:00
Bela Bodecs
a06175d739 fate: to test program sub stream selection by its type in mpegts
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-12 23:52:59 +02:00
Mattias Amnefelt
a26c9fdd1b libavformat/aac: Parse all ID3 tags present between ADTS frames
Some ADTS streams can have multiple ID3 tags between frames. This
change parses all of them, rather than just the first one.

Signed-off-by: Mattias Amnefelt <mattiasa@avm.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-12 02:54:14 +02:00
Martin Vignali
595505083a checkasm/vf_blend : add test for 16 bit version of
grainextract
grainmerge
average
extremity
negation
2018-04-05 21:46:19 +02:00
Gagandeep Singh
673604e0e3 lavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16
Also update fate reference. Fixes ticket #6675.
2018-04-03 18:20:30 +02:00
Paul B Mahol
5710fdaeae avcodec/aic: fix decoding of videos which height is not multiple of 16
Fate output changes and under close inspection looks more correct.
Fixes #6187.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-04-02 16:17:18 +02:00
Josh de Kock
89029bd2c7 lav*,tests: remove several register_all calls
avdevice_register_all() is still required to register devices into
lavf (this is required due to lavd being somewhat of a hack).

Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-04-02 03:26:22 +01:00
Rostislav Pehlivanov
a1b91b0cc2 lavc: prefer the mp3float decoder to the mp3 decoder
On modern x86 systems its around 2x faster. For systems without
FPUs it'll be slower, but our policy is to prefer floating point
implementations and to let users decide what's best (or just not
compile them on systems without FPUs).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-04-01 13:02:12 +01:00
Josh de Kock
cda43940da checkasm/Makefile: add EXTRALIBS-libavformat
Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-03-31 23:20:16 +01:00
James Almer
53937c4371 fate: add test for eac3 dependant stream
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-30 14:05:10 -03:00
Paul B Mahol
9b22417de6 fate: add eac3_core bitstream filter test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-30 10:18:45 +02:00
Nicolas Gaullier
5170ab20e1 lavfi/silencedetect: Fix silence_end accuracy 2018-03-29 15:45:24 +02:00
Nicolas Gaullier
56b2731aae lavfi/silencedetect: Fix silence_start accuracy 2018-03-29 15:45:20 +02:00
Nicolas Gaullier
cd4756a558 lavfi/silencedetect: Update test parameters
Set relevant filter parameters such that the result can easily be
checked with a waveform editor.
In particular, it makes it clear the silence_start is not accurate in
the current code.
2018-03-29 15:44:49 +02:00
Paul B Mahol
ae92970976 avcodec/eac3: add support for dependent stream
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-29 10:19:03 +02:00
Martin Vignali
a9a7ed4f27 checkasm/swscale : add test for rgb shuffle_bytes func 2018-03-24 20:22:12 +01:00
Sasi Inguva
829aebf95d lavf/utils.c: Don't compute start_time from DISCARD packets for video.
Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-24 03:11:08 +01:00
James Almer
72bb955625 avutil/integer: move the test to the corresponding subdirectory
And actually enable it.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-20 23:27:58 -03:00
Yingming Fan
e5b4cd4c4a checkasm/hevc_idct : update test bit depth from 8 9 and 10 to 8 10 and 12
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-19 00:56:01 -03:00
Martin Vignali
b2bb1cb68b fate/hapqa_extract : add test for hapqa_extract bsf
test extract color and alpha
with the three main kind of hap frame :
- no snappy compression
- snappy compression and one chunk
- snappy compression and several chunks (16 here)

like the bsf filter need to be used with vtag and encoder edition
also test the information of the target mov for color and alpha
2018-03-18 13:43:39 +01:00
wm4
4b86ac27a0 lavu/frame: add QP side data
This adds a way for an API user to transfer QP data and metadata without
having to keep the reference to AVFrame, and without having to
explicitly care about QP APIs. It might also provide a way to finally
remove the deprecated QP related fields. In the end, the QP table should
be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS.

There are two side data types, because I didn't care about having to
repack the QP data so the table and the metadata are in a single
AVBufferRef. Otherwise it would have either required a copy on decoding
(extra slowdown for something as obscure as the QP data), or would have
required making intrusive changes to the codecs which support export of
this data.

The new side data types are added under deprecation guards, because I
don't intend to change the status of the QP export as being deprecated
(as it was before this patch too).
2018-03-18 12:36:24 +01:00
Martin Vignali
32dbee4462 fate/hapenc : remove test which use libsnappy
the test in none mode can be let (they don't use libsnappy)
2018-03-17 18:23:43 +01:00
James Almer
ed1a750fd1 fate: add a dca_core bitstream filter test
Reviwed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-17 12:34:46 -03:00
Jun Zhao
7b5cf0a410 lavu/opt: add bit stream filter option dump support.
enable dump bit stream filter and update opt fate test ref.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-16 02:09:59 +01:00
Martin Vignali
f56ee74033 fate/hap : add test for hap encoding
with and without snappy compression
with chunk 1 or chunk 16
for hap, hapa, and hapq
2018-03-13 20:27:27 +01:00
Martin Vignali
414c0e27a9 fate/hap : move decoding test to a separate file 2018-03-13 20:27:22 +01:00
Philipp M. Scholl
040b28aecc avformat/pcm: decrease delay when reading PCM streams.
Thanks for the discussion. Here's the next version, now with /25 and removed
ff_log2().

  The blocksize of the PCM decoder is hard-coded. This creates
unnecessary delay when reading low-rate (<100Hz) streams. This creates
issues when multiplexing multiple streams, since other inputs are only
opened/read after a low-rate input block was completely read.

 This patch decreases the blocksize for low-rate inputs, so
approximately a block is read every 40ms. This decreases the startup
delay when multiplexing inputs with different rates.

Signed-off-by: Philipp M. Scholl <pscholl@bawue.de>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-13 01:34:42 +01:00
Yusuke Nakamura
af7e953a59 h264_mp4toannexb_bsf: Fix start code size of parameter sets.
Any parameter set shall have start code of at least 4 byte size.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-13 01:34:42 +01:00
Sasi Inguva
43205df645 lavf/mov.c: Use the correct offset to shift timestamp when seeking.
Fixes seek for files with empty edits and files with negative ctts
(dts_shift > 0). Added fate samples and tests.

Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-10 17:55:50 +01:00
Carl Eugen Hoyos
9fe61b6107 lavfi/drawutils: Do not claim to support P016.
Fixes fate on big-endian.
2018-03-08 11:56:41 +01:00
Yingming Fan
80798e3857 checkasm/hevc_sao : add hevc_sao for checkasm
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-07 23:53:32 -03:00
Aurelien Jacobs
0b4ad86959 crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
Philip Langdale
9d5aff09a7 swscale: Add p016 output support and generalise yuv420p1x to p010
To make the best use of existing code, I generalised the wrapper
that currently does yuv420p10 to p010 to support any mixture of
input and output sizes between 10 and 16 bits. This had the side
effect of yielding a working code path for all yuv420p1x formats
to p01x.
2018-03-02 14:52:48 -08:00
Timo Rothenpieler
27cbbbb33f compat: remove in-tree NVidia headers
External headers are no longer welcome in the ffmpeg codebase because they
increase the maintenance burden. However, in the NVidia case the vanilla
headers need some modifications to be usable in ffmpeg therefore we still
provide them, but in a separate repository.

The external headers can be found at
https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git

Fate-source is updated because of the deleted files, and dynlink_loader.h
license headers were updated with the standard FFmpeg headers.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2018-02-27 16:22:12 +01:00
Diego Biurrun
e2399e0c1a fate: Error out more gracefully on configure failure
If configure fails before config.fate is generated, the report file misses
some values and gets discarded by the FATE server. In these cases, print
those values as "failed" along with the failing configure command line.
2018-02-26 13:30:05 +01:00
Martin Vignali
c0919c4985 checkasm/vf_blend : add test for blend_simple_16, phoenix_16 and difference_16 2018-02-24 21:44:23 +01:00
Martin Vignali
e3fc36a84c checkasm/vf_blend : add depth param in order to add test for 16 bit version 2018-02-24 21:44:09 +01:00
Martin Vignali
c8552b7858 fate/exr : add test for long name flag
ticket 6994
2018-02-24 21:42:46 +01:00
Rodger Combs
0419623cdc lavfi/vf_transpose: fix regression with semiplanar formats
(e.g. nv12)

Regression since 7b19e76aeb
2018-02-23 17:20:10 -06:00
Mark Thompson
9ca79784e9 lavc/mjpeg: Add profiles for MJPEG using SOF marker codes
This is needed by later hwaccel code to tell which encoding process was
used for a particular frame, because hardware decoders may only support a
subset of possible methods.
2018-02-21 23:37:58 +00:00
Calvin Walton
ff0de964e7 libavfilter/vf_fps: Add tests for start_time option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-22 00:29:27 +01:00
Tobias Rapp
56f77b0f67 fate: add tests for pan audio filter
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-02-19 08:32:44 +01:00
Calvin Walton
d2fc244293 libavfilter/vf_fps: Add more fate tests
These tests cover specific rounding behaviour, to ensure that I don't
introduce any regressions with the rewritten "activate" callback based
fps filter.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-17 20:31:39 +01:00
Gyan Doshi
310d56e86f fate/mpegps: add tests for PCM_DVD stream remux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-16 21:53:22 +01:00
Mark Thompson
a5ed07940c fate: Fix fate-api reference files after AVCodecContext change
Broken by d23fff0d8a.
2018-02-12 22:54:23 +00:00
Richard Shaffer
81d1e1e509 fate: add aac id3v2 demux test
A basic test for demuxing raw AAC (ADTS) with ID3v2 tags.
2018-02-12 22:08:51 +01:00
Muhammad Faiz
b7d476b138 fate/libavcodec: add codec_desc test
Remove runtime check at codec_desc.c

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2018-02-12 06:06:37 +07:00
Nekopanda
f4d5d7e8de avcodec/mpeg2dec: Fix motion vector rounding for chroma components
In 16x8 motion compensation, for lower 16x8 region, the input to mpeg_motion() for motion_y was "motion_y + 16", which causes wrong rounding. For 4:2:0, chroma scaling for y is dividing by two and rounding toward zero. When motion_y < 0 and motion_y + 16 > 0, the rounding direction of "motion_y" and "motion_y + 16" is different and rounding "motion_y + 16" would be incorrect.

We should input "motion_y" as is to round correctly. I add "is_16x8" flag to do that.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-11 12:04:47 +01:00
Nekopanda
8b154cb3e9 avcodec/mpeg2dec: Fix field selection for skipped macroblocks
For B field pictures, the spec says,

> The prediction shall be made from the field of the same parity as the field being predicted.

I did it.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-11 02:16:40 +01:00
Muhammad Faiz
81d6501be7 checkasm/Makefile: add EXTRALIBS-swresample
Should fix https://ffmpeg.org/pipermail/ffmpeg-devel/2018-February/225058.html

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2018-02-09 17:50:44 +07:00
Richard Shaffer
4be6307cbf fate: add id3v2 test
Adds basic unit test for parsing ID3v2 tags.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-02 12:16:56 -03:00
Martin Vignali
78b982d3b9 checkasm : add test for losslessvideoencdsp for diff bytes and sub_left_pred 2018-01-28 20:23:16 +01:00
Marton Balint
2cbe6bac03 avfilter/vf_framerate: change blend factor precision
This is done mainly in preparation for the SIMD patches.

- for the 8-bit input, decrease the blend factor precision to 7-bit.
- for the 16-bit input, increase the blend factor precision to 15-bit.
- make sure the blend functions are not called with 0 or maximum blending
  factors, because we don't want the signed factor integers to overflow.

Fate test changes are due to different rounding.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 18:50:50 +01:00
Michael Niedermayer
293f24b42c fate: test the transpose filter more fully
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-28 15:10:52 +01:00
Marton Balint
e3acba0d5d avfilter/formats: remove support for deprecated channel count specification
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-20 18:07:44 +01:00
James Almer
fb3fd4d506 fate: update filter-acrossfade test reference file
<jamrial> durandal_1707: 8088b5d69c broke the acrossfade test
<@durandal_1707> jamrial: there was test?
<jamrial> durandal_1707: fate-filter-acrossfade
<@durandal_1707> what broke?
<jamrial> what used to be one frame is now two
<@durandal_1707> ahh, just update test

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-18 19:12:50 -03:00
Daniil Cherednik
ec6e389c75 avcodec/dcaenc: Use ffmpeg mdct instead of own implementation
Signed-off-by: Daniil Cherednik <dan.cherednik@gmail.com>
2018-01-13 18:13:58 +00:00
Rostislav Pehlivanov
6c4b9eb935 fate: remove the fate-aac-ltp-encode test
It tests a useless profile which sounds no better than regular aac and which
takes extremely long to encoder something. Also it has been behind experimental
flag for as long as it has been supported.
Should be removed altogether sometime in the future.
2018-01-13 12:03:49 +00:00
Rostislav Pehlivanov
fcb681ac3e aacenc: use the fast coder as the default
The twoloop coder sounds decent at low bitrates, however at higher bitrates
it sounds worse than the fast coder (which used to be the old twoloop coder
before October 2015) and needs quite a lot more CPU.
Change the default to fast. It has been well tested and has had little changes
over the years so its been confirmed to be quite stable.
Also change its description (not valid for more than a year) and the
documentation.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-13 12:03:19 +00:00
Marton Balint
0c31a3876d avfilter/vf_framerate: simplify filter
The framerate filter was quite convoluted with some filter_frame /
request_frame logic bugs. It seemed easier to rewrite the whole filter_frame /
request_frame part and also the frame interpolation ratio calculation part in
one step.

Notable changes:
- The filter now only stores 2 frames instead of 3
- filter_frame outputs all the frames it can to be able to handle consecutive
  filter_frame calls which previously caused early drops of buffered frames.
- because of this, request_frame is largely simplified and it only outputs
  frames on flush. Previously consecuitve request_frame calls could cause the
  filter to think it is in flush mode filling its buffer with the same frames
  causing a "ghost" effect on the output.
- PTS discontinuities are handled better
- frames with unknown PTS values are now dropped

Fixes ticket #4870.
Probably fixes ticket #5493.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-12 23:40:41 +01:00
James Almer
9d68c0191c fate/filter-video: fix 12 bit framerate filter tests on big endian targets
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-08 00:51:19 -03:00
James Almer
6ec9131920 fate: remove ffm reference files
Missed in c17f476144 and
8bbd8c8d52

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-06 22:21:35 -03:00
James Almer
8bbd8c8d52 fate: remove missing references to ffm
Missed in c17f476144.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-06 16:14:55 -03:00
Rostislav Pehlivanov
6b35a83214 Remove the ffserver program
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-06 18:31:37 +00:00
James Almer
b9ad04b19c fate: add PERSIST_RPARAM_A_RExt_Sony_3 hevc conformance test
The PERSIST_RPARAM_A_RExt_Sony_1 bitstream has an out-of-range value
and has therefore been superseded.
It is otherwise identical, and decodes the same.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 16:47:02 -03:00
Anton Khirnov
89b84cb18b It has been replaced by C11 stdatomic.h and is now unused.
(cherry picked from commit 5cc0057f49)
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 14:06:02 -03:00
Marton Balint
f528c49c7c avfilter/vf_framerate: calculate interpolation as integer
It was truncated to int later on anyway. Fate test changes are due to rounding
instead of truncation.

Fixes fate test failures on x86-32 (gcc 4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1))
after 090b740680.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-04 22:37:43 +01:00
Paul B Mahol
57d0c24132 avcodec/utvideoenc: switch to planar RGB formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-02 13:41:50 +01:00
Carl Eugen Hoyos
e867b7b11a fate: Fix ffprobe dependency for fate-mov-guess-delay-*. 2017-12-29 01:54:59 +01:00
James Darnley
40d4b13228 checkasm: support for AVX-512 functions 2017-12-24 22:02:41 +01:00
Paul B Mahol
d2a2bc9a9f avfilter/vf_lut: add support for gray formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-22 10:57:12 +01:00
Marton Balint
e1113a83cc avfilter/vf_framerate: fix scene change detection score
- normalize score to [0..100] instead of [0..85]
- change the default score to 8.2 to roughly keep existing behaviour
- take into account bit depth
- do not truncate to integer

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint
d6a8e46f97 fate: add 12 bit framerate filter tests
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Sasi Inguva
58a25aeb8e lavf/mov.c: Guess video codec delay based on PTS while parsing MOV header.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-20 22:27:06 +01:00
James Almer
da03242778 Revert "checkasm/vf_interlace : add test for lowpass_line 8 and 16"
This reverts commit adff97be5e.

It currently fails on Windows targets.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-19 19:07:24 -03:00
Michael Niedermayer
65da5c56e6 tests/audiomatch: Add missing return code at the end of main()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-19 21:32:04 +01:00
Jun Zhao
e72b854992 tests/audiomatch: Whitespace refinement
Refine the coding style.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-19 21:32:04 +01:00
Jun Zhao
2b38900cb3 tests/audiomatch: Add return value check for fread.
Check fread return value to fix build warning as "ignoring
return value of ‘fread’"

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-19 21:32:04 +01:00
Martin Vignali
adff97be5e checkasm/vf_interlace : add test for lowpass_line 8 and 16 2017-12-19 20:59:51 +01:00
Martin Vignali
cefb7e0060 checkasm/vf_hflip : add test for vf_hflip byte and short simd 2017-12-13 11:34:29 +01:00
Martin Storsjö
18a0f42026 checkasm: Use LOCAL_ALIGNED for aligned variables on the stack
This fixes fate-checkasm-hevc_mc on ARMCC 5.0 after adding
NEON HEVC MC assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-12-12 11:36:38 +02:00
James Almer
1215889bc1 checkasm/llviddsp: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:35 -03:00
Martin Vignali
e1121f9723 checkasm/llviddsp : add test for add_gradient_pred 2017-12-09 15:19:07 +01:00
Martin Vignali
5bda11e70e checkasm/llviddsp : test return of add_left_pred(16) 2017-12-09 15:15:56 +01:00
Martin Vignali
179a2f04eb checkasm/vf_threshold : add test for threshold16 2017-12-09 14:47:13 +01:00
Michael Niedermayer
b404d41b19 fate: Fix fate-mov-bbi-elst-starts-b on ARM 2017-12-08 20:02:16 +01:00
Mark Reid
0091a54f64 fate/mxf: add reel name test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
Mark Reid
ad2641c36b avformat/mxfenc: use track count to generate component instance uuid
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
Rostislav Pehlivanov
4678339e74 opus: fix hybrid folding indexing during band quantization
Resulted in valgrind errors due to uninitialized memory.
Also updates fate and makes it use the tron sample result.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-08 04:42:24 +00:00
Rostislav Pehlivanov
c67c7191b1 fate-opus: run and test inactive samples
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-08 01:06:47 +00:00
James Almer
d6d605eb05 avformat/mux: stop delaying writing the header
Every bitstream filter behaves as intended now, so there's no need to
wait for the first packet of every stream.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-06 15:43:59 -03:00
Michael Niedermayer
c8bd2c7d09 tests/fate/mov: Fix fate-mov-invalid-elst-entry-count failure on ARM
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-06 01:04:35 +01:00
sfan5
d3a2100c67 fate/hevc: add skip_loop_filter test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-05 19:56:40 +01:00
James Almer
bfd7f07b65 fate/checkasm: add missing target for vf_threshold test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-04 15:46:09 -03:00
James Almer
1b324700e3 checkasm/vf_threshold: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-04 15:46:09 -03:00
Rostislav Pehlivanov
e836a0b3fd fate-opus: update tests to use new decoder outputs
Can't overwrite old ones.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-04 10:51:19 +00:00
Rostislav Pehlivanov
d1d6f965d8 fate-opus: update to match the changes from RFC8251
Also change note to say that we compare against the officially decoded
samples rather than our own, this was changed long ago.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-04 07:28:45 +00:00
Marton Balint
5a93a85fd0 avformat/mxfdec: fix last packet timestamps
The current edit unit cannot be reliably determined for the last packet of a
video stream, because we can't query the start offset of the next edit unit
from the index. This caused missing timestamps for the last video packet.

Therefore from now on, we allow setting the PTS even if we are not sure of the
current edit unit if mxf_set_current_edit_unit returned a specific failure, and
the assumed current edit unit is the last.

Fixes last packet timestamp of:
ffprobe -fflags nofillin -show_packets tests/data/lavf/lavf.mxf -select_streams v

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-03 21:06:47 +01:00
Martin Vignali
cfce442750 checkasm/vf_threshold : add checkasm test for threshold8 2017-12-03 19:17:15 +01:00
Martin Vignali
9bed17cd0f checkasm/utvideo : be more explicit to the WIDTH_PADDED define 2017-12-01 21:08:07 +01:00
James Almer
d268094f88 Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'
* commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa':
  stereo3d: Support view type for frame sequence type

Merged-by: James Almer <jamrial@gmail.com>
2017-11-29 21:06:49 -03:00
Tobias Rapp
26c0c84784 avformat/avienc: fix fields-per-frame value for interlaced video streams
Writes one set of field framing information for progressive streams and
two sets for interlaced streams. Fixes ticket #6383.

Unfortunately the OpenDML v1.02 document is not very specific on what
value to use for start_line when frame data is not coming from a
capturing device, so this is just using 0/1 depending on the field order
as a best-effort guess.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-11-27 09:13:05 +01:00
Michael Niedermayer
8e7ac4f049 tests/fate-run: Use -bitexact
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-27 03:31:54 +01:00
Michael Niedermayer
38f966b222 tests/checkasm/float_dsp: Increase allowed difference for float_dsp.vector_dmul
Tested for 10000 iterations on x86-32

Fixes: Ticket6848

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-27 03:31:53 +01:00
Martin Vignali
8794e0c037 fate/hapAlphaOnly : add test for hap alpha only decoding 2017-11-25 19:49:34 +01:00
James Almer
bea8eeaa2c checkasm/utvideodsp: zero initialize the entire buffer
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-21 11:24:38 -03:00
James Almer
9a05c873cf checkasm/utvideodsp: fix mixed declarations and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-21 11:13:24 -03:00
Martin Vignali
37810bee78 fate/hapdec : add test for hapqa decoding 2017-11-21 12:05:21 +01:00
Martin Vignali
4a6aa6d1b2 checkasm : add test for huffyuvdsp add_int16 2017-11-21 09:41:42 +01:00
Martin Vignali
6a7eb65e1b checkasm : add utvideodsp test 2017-11-21 09:00:27 +01:00
James Almer
501435e5e6 checkasm/jpeg2000dsp: add test for ict_float
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-20 18:33:57 -03:00
James Almer
20a93ea8d4 checkasm/jpeg2000dsp: refactor rct_int test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-20 18:33:57 -03:00
Steven Liu
9302d77525 Revert "tests/fate: addition of test case for hls variant stream creation with master playlist"
This reverts commit 218ce1f623.
2017-11-21 00:22:25 +08:00
Vishwanath Dixit
218ce1f623 tests/fate: addition of test case for hls variant stream creation with master playlist
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
2017-11-20 10:05:33 +08:00
Aman Gupta
3f1a540204 avcodec/mpeg12dec: parse A53 caption data embedded in SCTE-20 user data
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-15 18:14:39 -08:00
Sasi Inguva
54f8ac199f lavf/mov.c: Don't correct edit list start to zero, when we can't find a frame before edit list start.
After c2a8f0fcbe this can happen on normal edit lists starting on a B-frame.

Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-14 21:02:31 +01:00
John Stebbins
57a422ea4c fate/mov: add test for overlapping fragments
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-14 20:49:07 +01:00
James Almer
b125822d1d Merge commit 'ec0f4fa17ce29cf01d4def21041b0b87f7e3105d'
* commit 'ec0f4fa17ce29cf01d4def21041b0b87f7e3105d':
  FATE: add a test for the H.264 sample fixed by 7c4f6f6

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 18:37:54 -03:00
James Almer
0cef66c906 Merge commit '516c479172755c63063180b0c0953b68b670cdbd'
* commit '516c479172755c63063180b0c0953b68b670cdbd':
  checkasm: Test more h264 idct variants

See 2d263188ba

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:21:22 -03:00
James Almer
2d263188ba Merge commit '547db1eaecd597031165a2bf637acaaacde52788'
* commit '547db1eaecd597031165a2bf637acaaacde52788':
  checkasm: Test more h264 idct variants

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:18:55 -03:00
James Almer
37d5c6c30d Merge commit '39e16ee2289e4240a82597b97db5541bbbd2b996'
* commit '39e16ee2289e4240a82597b97db5541bbbd2b996':
  Revert "fate: Skip the checkasm test if CONFIG_STATIC is disabled"

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:16:24 -03:00
Sasi Inguva
bc50961731 lavf/mov.c: Parse upto 2 keyframes after the edit list end in mov_fix_index.
Partially fixes t/6699.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +01:00
Michael Niedermayer
b197d83ca3 avformat/utils: Look at the first 3 frames if timestamps indicate frame reorder but decoder delay does not
Fixes: Ticket6487

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +01:00
James Almer
ec54df7dcd Merge commit '770cf1dbc2c8fe9b84300439ad0cd85036480388'
* commit '770cf1dbc2c8fe9b84300439ad0cd85036480388':
  fate/hevc: specify output pixel format explicitly

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:36:39 -03:00
James Almer
4cfb46f94f checkasm/llviddsp: fix warnings about mixed declaration and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 14:54:15 -03:00
James Almer
0ff8f0b7b4 Merge commit '5be9939b46a6a4d3860a1b1a872aa50897095970'
* commit '5be9939b46a6a4d3860a1b1a872aa50897095970':
  fate: Add cinepak encoder vsynth tests

See d7f62f033c

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:35:34 -03:00
Martin Vignali
fbe9148779 checkasm/llviddsp : add test for other dsp func
add_median_pred
add_left_pred : add two func one with acc 0, and one with random acc
add_left_pred16
2017-11-07 00:54:17 +01:00
Martin Vignali
ad784e0cb6 fate/utvideo : add test for decoding and encoding 2017-11-07 00:52:58 +01:00
Sasi Inguva
c2a8f0fcbe lavf/mov.c: Refine edit list start seek, based on PTS computed from CTTS.
Partially fixes t/6699.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-04 05:05:03 +01:00
Carl Eugen Hoyos
9d0b42bce5 fate: Fix fitsdec-gbrap16 test on big-endian hardware. 2017-11-04 00:47:37 +01:00
James Almer
122a749dfc Merge commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf'
* commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf':
  checkasm: aarch64: Specify alignment for the register_init const array

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 21:03:50 -03:00
Jonas Licht
59ad504696 libavformat/mov.c: use calculated dts offset when seeking in streams
Subtract the calculated dts offset from the requested timestamp before
seeking. This fixes an error "Error while filtering: Operation not
permitted" observed with a short file which contains only one key frame
and starts with negative timestamps.

Then, av_index_search_timestamp() returns a valid negative timestamp,
but mov_seek_stream bails out with AVERROR_INVALIDDATA.

Fixes ticket #6139.

Signed-off-by: Jonas Licht <jonas.licht@fem.tu-ilmenau.de>
Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-30 01:09:40 +01:00
Carl Eugen Hoyos
4ccc1ef2a3 fate: Add bitexact flag to the invalid-elst test.
Fixes fate-mov-invalid-elst-entry-count on a ppc system.
2017-10-29 23:10:02 +01:00
Carl Eugen Hoyos
59ceee5896 fate: Fix some of the fitsdec tests on big-endian. 2017-10-29 21:22:53 +01:00
James Almer
f568d9d0ba Merge commit 'e00db9f78bb475ed5103364f61892f4e75ef89ba'
* commit 'e00db9f78bb475ed5103364f61892f4e75ef89ba':
  checkasm: hevc: Add a hevc_ prefix to the add_residual functions

Merged-by: James Almer <jamrial@gmail.com>
2017-10-28 18:18:41 -03:00
Marton Balint
859144fb1f fate: change fate-ffmpeg-attached_pics to encode to pcm_s16le
Previously alac encoder was used, from a first glance I thought it is bitexact,
but it turns out it is using floating point arithmetic as well, so probably it
is not. Fixes fate failures on mingw32/64.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-10-28 21:35:57 +02:00
Sasi Inguva
8013753113 lavf/mov.c: Fix parsing of edit list atoms with invalid elst entry count.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-28 20:24:04 +02:00
James Almer
3c4c092774 Merge commit '4d4d7cf9d539a053f531f662a972b23d335738eb'
* commit '4d4d7cf9d539a053f531f662a972b23d335738eb':
  fmvc: Add FATE tests

Merged-by: James Almer <jamrial@gmail.com>
2017-10-27 21:16:18 -03:00
Marton Balint
273f11969d fate: fix ffmpeg-attached_pics test dependencies
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-10-27 02:48:28 +02:00
Marton Balint
61e25ab0bf fate: add fate test for ticket #6375
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-10-27 00:33:56 +02:00
Marton Balint
cbcb8f5a22 fate: add fate test for ticket #6603
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-10-27 00:33:56 +02:00
Tobias Rapp
a07ac93023 avformat/wavenc: skip writing incorrect peak-of-peaks position value
According to EBU tech 3285 supplement 3 the dwPosPeakOfPeaks field
should contain the absolute position to the maximum audio sample value,
but the current implementation writes the relative peak frame index
instead.

Fix the issue by writing the "unknown" value (-1) for now until the
feature is implemented correctly.

Previous version reviewed-by: Peter Bubestinger <p.bubestinger@av-rd.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-10-26 08:29:41 +02:00
Zhong Li
984b882b76 fate: fix mpeg2-ticket6677 faillures on some platforms
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-26 01:47:52 +02:00
Zhong Li
7e294a1f09 fate: add a test for mpeg2 issue of ticket #6677
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-25 00:18:41 +02:00
Michael Niedermayer
431eccd61e tests/ffserver.regression.ref: update checksums to what ffserver currently produces
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-25 00:18:33 +02:00
Mateusz
f192f2f061 swscale: more accurate DITHER_COPY macro for full and limited range
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-23 23:00:05 +02:00
James Almer
69b5ce64d2 Merge commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5'
* commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5':
  Bump major versions of all libraries

A few API deprecated ~2 years ago or more are also postponed here for
varying reasons.

FF_API_LOWRES:
Since this functionality depends on AVStream->codec, i figure the two can
be removed at the same time in the next bump or so.

FF_API_AVCTX_TIMEBASE:
Couldn't get this one to work. Not just libavcodec but apparently also
libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for
decoding. Upon removal some tests report a different generic stream time
base (like 1/25), and others lose packet duration values. I guess it's
somehow tied to the AVStream->codec clusterfuck.
It can be dealt with alongside FF_API_LAVF_AVCTX in the next bump.

FF_API_OLD_FILTER_OPTS_ERROR:
This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed.
Its purpose is displaying the corrected command line using the new syntax
as a suggestion as part of the error message.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 14:57:53 -03:00
Dale Curtis
a5fd8aa45b avformat/mov: Set start_pad correctly in mov_fix_index()
Sets the correct start padding value when an edit list is present.

A new fate test is added, fate-mov-440hz-10ms, to ensure this is
handled correctly.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Sasi Inguva <isasi-at-google.com@ffmpeg.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-21 03:12:43 +02:00
Anton Khirnov
ec0f4fa17c FATE: add a test for the H.264 sample fixed by 7c4f6f6 2017-10-19 16:38:51 +02:00
James Almer
7293248239 Merge commit 'b57a95d0147beae746db1c1223d100447f42dced'
* commit 'b57a95d0147beae746db1c1223d100447f42dced':
  cfhd: Add FATE tests

Merged-by: James Almer <jamrial@gmail.com>
2017-10-18 11:11:44 -03:00
Mark Thompson
809b0402dc cbs: Add some read/write tests
Use the appropriate metadata filter for each codec - in the absence of any
options to modify the stream, the output bitstream should be identical to
the input (though the output file may differ in padding).

All tests use conformance bitstreams, the MPEG-2 streams are newly added
from the conformance test streams
<http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_13818-4_2004_Conformance_Testing/Video/>

(cherry picked from commit 3cae7f8b9b)
(cherry picked from commit fbd63170bc)
2017-10-17 20:56:30 +01:00
Mark Thompson
278c308cea mpeg12: Add a common function to find the best frame rate
This will be used later in both the mpeg2_metadata filter and the
VAAPI MPEG-2 encoder.  Also adds a unit test.

(cherry picked from commit b5859e0b04)
2017-10-17 20:56:30 +01:00
Mark Thompson
fbd63170bc cbs: Add test dependencies
Fixes the MPEG-2 failure with --disable-error-resilience.
2017-10-17 20:25:07 +01:00
James Almer
ef7766befd fate: add missing closing bracket
Regression since 85e2fe6281

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-11 19:35:56 -03:00
James Almer
85e2fe6281 Merge commit 'db869f4ea4405fb8f9736e5ecdca70f77621a28e'
* commit 'db869f4ea4405fb8f9736e5ecdca70f77621a28e':
  fate: Add build-only targets to FATE

Merged-by: James Almer <jamrial@gmail.com>
2017-10-11 19:02:04 -03:00
James Almer
6dfcbd80ad Merge commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63'
* commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63':
  build: Fine-grained link-time dependency settings

Also included are bug fix commits 5ff3b5cafc,
d9da7151ee and
5e27ef800b.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-11 17:55:25 -03:00
James Almer
17ba9e123f fate: update fate-api reference files after 71e2ec017a
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-09 22:46:07 -03:00
James Almer
9e009ee312 Merge commit 'e1a6d63c7eeff2f0ec8173546357bfaa9deecea4'
* commit 'e1a6d63c7eeff2f0ec8173546357bfaa9deecea4':
  fate: Rename WMV8_DRM decoder tests to WMV3_DRM

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 23:36:25 -03:00
James Almer
e1f01ce8d2 Merge commit '698ac8f9cabd053f2c19346a77b92f8eae4218fc'
* commit '698ac8f9cabd053f2c19346a77b92f8eae4218fc':
  fate: Make null comparison method more useful

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 22:59:08 -03:00
James Almer
a2b0602cda Merge commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7'
* commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7':
  Use modern avconv syntax for codec selection in documentation and tests

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 21:28:07 -03:00
Martin Vignali
cbbec68847 libavcodec/blockdsp : add AVX version
Also modify the required alignment, to 32 instead of 16
for several codecs

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-03 19:47:37 -03:00
Carl Eugen Hoyos
9ba9c08aab fate: Add a test for latm-in-dvb auto-detection, ticket #6657. 2017-10-03 23:15:07 +02:00
Michael Niedermayer
ef973bd98d avformat/mxfenc: Fix labels for IEC PAL DV 420 2017-10-03 18:34:37 +02:00
James Almer
aa4fe27657 fate: disable fate-svq3-2
The first frame changes depending on --enable-memory-poisoning being
used to configure ffmpeg or not, even if requesting bitexact decoding.
Disable the test until this is fixed.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-02 21:42:34 -03:00
James Almer
b591329c3a Merge commit '8e4d4efc67e154fdffd65964a7cfeef740320827'
* commit '8e4d4efc67e154fdffd65964a7cfeef740320827':
  fate: Add another SVQ3 test to increase coverage

Also included a fix from da8093f712.

The demuxer option "-ignore_editlist 1 " is temporarily added to the
test as well, to workaround a regression in the edit list mov parsing
code.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-02 18:23:48 -03:00
Martin Vignali
ac5908b13f libavcodec/exr : add x86 SIMD for predictor
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-01 17:35:30 -03:00
Brian Matherly
876dada0b5 avcodec/hevc_sei: Support HEVC paired fields.
Correctly set the interlaced_frame and top_field_first fields when pic_struct
indicates paired fields.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-30 03:44:59 +02:00
Tobias Rapp
792b1629a8 fate: increase fuzz for refcmp filter tests
Should fix failing tests on GNU/kFreeBSD x86_32.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-09-29 08:41:26 +02:00
Martin Storsjö
5455a44aa5 movenc-test: Add tests for negative cts offsets
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-28 18:15:45 +02:00
Tobias Rapp
bee01ee2ba fate: add tests for psnr and ssim filter
Metadata filter output is passed through an Awk script comparing floats
against reference values with specified "fuzz" tolerance to account for
architectural differences (e.g. x86-32 vs. x86-64).

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-09-27 15:58:49 +02:00
Martin Storsjö
516c479172 checkasm: Test more h264 idct variants
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-09-27 13:58:39 +03:00
Mark Thompson
3cae7f8b9b cbs: Add some read/write tests
Use the appropriate metadata filter for each codec - in the absence of any
options to modify the stream, the output bitstream should be identical to
the input (though the output file may differ in padding).

All tests use conformance bitstreams, the MPEG-2 streams are newly added
from the conformance test streams
<http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_13818-4_2004_Conformance_Testing/Video/>
2017-09-26 23:33:36 +01:00
Paras Chadha
4efb1658f5 fate/fits: add missing png & gif dependencies
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 21:54:13 +02:00
Thomas Mundt
40bfaa190c avfilter/interlace: add support for 10 and 12 bit
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 16:19:58 -03:00
Tobias Rapp
147bface1a fate: add mxf_dv25/dvcpro50 regression tests
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-09-18 08:56:52 +02:00
Thomas Mundt
4492237e33 fate: add tinterlace lowpass filtering tests
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-17 23:41:00 -03:00
James Almer
7323c896b2 checkasm: add an exrdsp test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-17 19:01:40 -03:00
Thomas Mundt
a7f6bfdc18 avfilter/interlace: prevent over-sharpening with the complex low-pass filter
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 <tmundt75@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 22:40:21 +02:00
Thierry Foucu
eea64ef4cf vf_fps: when reading EOF, using current_pts to duplicate the last frame if needed.
Fix ticket #2674
Tested with examples from ticket 2674.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 02:24:31 +02:00
Mark Thompson
b5859e0b04 mpeg12: Move finding the best frame rate to common code
Previously in the mpeg2_metadata filter.  Also adds a test.
2017-09-12 22:11:56 +01:00
Michael Niedermayer
de03eb622d avformat/mxfenc: Correct the Sample rate for PCM outside D10
Based on mail from IRT

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-12 19:24:25 +02:00
Clément Bœsch
e0d56f097f checkasm: use perf API on Linux ARM*
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.
2017-09-08 18:51:05 +02:00
Tobias Rapp
d47159a42d fate: add test for asetnsamples filter with padding disabled
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 <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-09-08 08:54:20 +02:00
Tobias Rapp
912b6af26e ffprobe: use consistent string for unspecified color_range value
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 <t.rapp@noa-archive.com>
2017-09-07 13:26:44 +02:00
James Almer
cf42f316c5 fate: fix fate-lavf-fits dependencies
We need the fits muxer/demuxer.
2017-09-06 22:53:17 -03:00
Martin Storsjö
e12f1cd616 Revert "checkasm: Test more h264 idct variants"
This reverts commit 547db1eaec.

This commit wasn't supposed to be pushed (yet) since it hasn't
been reviewed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-09-02 22:23:30 +03:00
Martin Storsjö
547db1eaec checkasm: Test more h264 idct variants 2017-08-31 14:55:34 +03:00
Martin Storsjö
39e16ee228 Revert "fate: Skip the checkasm test if CONFIG_STATIC is disabled"
When we use dllexport properly for shared libraries on windows,
there's no longer any issue with linking the object files for
e.g. libavcodec statically into checkasm. (It's still not possible
to link the built object files for e.g. libavformat statically to
libavcodec though, since libavformat exepcts to load av_export_*
symbols from a DLL.)

This reverts commit 4e62b57ee0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-08-31 14:22:47 +03:00
Tobias Rapp
b7101151b3 fate: add tests for some video source filters
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 <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-08-31 11:48:15 +02:00
James Almer
b34c16a38d fate/flvenc: set bitexact output format flag explicitly
Using the encoder flags to set the muxer in bitexact mode is deprecated.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 23:28:21 -03:00
Martin Vignali
2fcf47e2d1 fate/pixlet : add test for rgb
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-31 02:53:11 +02:00
James Almer
ec07574a15 fate: stop using deprecated filter syntax in hls tests
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 14:15:25 -03:00
James Almer
350dc01dcb fate: remove usage of deprecated AVCodecContext.me_method in vsynth snow tests
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 14:07:11 -03:00
Paras Chadha
9d99f0afbe FATE: Add FITS tests
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
2017-08-30 12:13:02 +02:00
pkviet
e0436ddaa4 ffmpeg options: Enable trailing ? for map_channel
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 <michael@niedermayer.cc>
2017-08-25 23:41:11 +02:00
James Almer
e51073fe00 checkasm/vf_blend: rename addition128 and difference128 to grainmerge and grainextract
This was missing from f8d0689d3f.
Fixes checkasm.
2017-08-24 23:39:09 -03:00
Alex Converse
cb96e9bea4 fate: add test vector aac-al04sf_48 2017-08-24 17:42:33 -07:00
Dale Curtis
37e8edc9f5 avformat/mov: Fix trampling of ctts during seeks when sidx support is enabled.
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 <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-24 11:02:22 +02:00
Mark Thompson
4c0588b456 mpeg2enc: Don't mark all streams as component video
Since there is no information about the source format, "unspecified"
is the correct value to write here.

All tests using the MPEG-2 encoder are updated, as this changes the
header on all outputs.
2017-08-20 15:14:37 +01:00
Marton Balint
366e6bfc51 fate: add overlay filter tests with alpha
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-08-16 22:00:35 +02:00
Paul B Mahol
16efcfe413 avfilter/vf_weave: fix top vs bottom field order
Fixes #6590.
2017-08-16 13:37:53 +02:00
Vittorio Giovara
1460408703 Add single precision planar RGB pixel formats
Add a pixel format flag to identify this family.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-08-15 15:26:20 +02:00