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

29 Commits

Author SHA1 Message Date
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
Chris Cunningham
52ec4cc09b libavformat/matroskadec: Add test for seeking with codec delay.
Also cleanup parens for the skip_to_timecode check.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-30 01:02:41 +02:00
Mark Reid
6108cb2ce3 tests/fate: add dnxhr encoding tests
added sws_flags flags and tested against x86_32

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-24 12:31:07 +02:00
Clément Bœsch
5d48e4eafa Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196'
* commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196':
  tests: Move all test programs to a subdirectory

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 13:44:34 +02:00
Diego Biurrun
a6a750c7ef tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
Derek Buitenhuis
ca5ec2bf51 Merge commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec'
* commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec':
  build: miscellaneous cosmetics

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-09 16:25:28 +01:00
Diego Biurrun
01621202aa build: miscellaneous cosmetics
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
2016-04-07 15:26:08 +02:00
Michael Niedermayer
5324882529 fate: add pipe and cache test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-02 02:12:56 +01:00
Chris Cunningham
5e6ce28dab avformat/mp3dec: prefer "fast_seek" to TOC seek for CBR files.
"Fast seek" uses linear interpolation to find the position of the
requested seek time. For CBR this is more direct than using the
mp3 TOC and bypassing the TOC avoids problems with TOC precision.
(see https://crbug.com/545914#c13)

For VBR, fast seek is not precise, so continue to prefer the TOC
when available (the lesser of two evils).

Also, some re-ordering of the logic in mp3_seek to simplify and
give usetoc=1 precedence over fastseek flag.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2015-12-02 11:02:27 +01:00
wm4
60191e3aec fate: add mp3 CBR seek test
This tests the "old", now non-default seek mode, and this requires a
special extra argument.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 12:56:31 +02:00
Mark Reid
c919cc61a1 tests/fate: added mxf opatom audio regression tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 02:08:46 +02:00
Mark Reid
9b22e460ad test/fate: added mxf_opatom regression tests
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 11:28:53 +01:00
Michael Niedermayer
ed49b142bb tests: Rename vsynth2 to vsynth_lena
This avoids confusion with a growing number of vsynth tests

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 03:02:30 +01:00
Andreas Cadhalpun
c4abee734d Remove non-free tests/lena.pnm and adapt FATE tests to depend on lena.pnm in the SAMPLES directory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 15:21:50 +02:00
Anton Khirnov
894682a973 Remove avserver.
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
2014-06-18 14:55:28 +02:00
Michael Niedermayer
1aa60980d2 fate: enable fate-seek-acodec-adpcm-ima_qt-trellis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 18:03:31 +02:00
Timothy Gu
da53de0730 tests: add adpcm trellis tests
adpcm_ima_qt does not produce reproducible results, so it is temporarily
disabled (see #3701).

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 12:20:49 +02:00
Timothy Gu
bfb4882345 tests: Add MPEG4 nsse test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:43:04 +02:00
Michael Niedermayer
841a288cb3 Merge commit '4d3b144c5ea824193019019d33740a1ae9e0bb69'
* commit '4d3b144c5ea824193019019d33740a1ae9e0bb69':
  fate: cosmetics: Order some test entries

Conflicts:
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 13:42:10 +01:00
Diego Biurrun
4d3b144c5e fate: cosmetics: Order some test entries 2013-01-12 17:19:27 +01:00
Diego Biurrun
a0c5917f86 Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Michael Niedermayer
5e2be27e65 fate: fix typos in wtv seek test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 03:15:41 +01:00
Michael Niedermayer
7711f19eda Merge commit 'e816034a5fa131b13c4ad87bb0b5065b4f5697c6'
* commit 'e816034a5fa131b13c4ad87bb0b5065b4f5697c6':
  fate-seek: remove use of gnu make 3.82 only private modifier
  fate: move vsynth reference files to their own directory
  fate: move fate-acodec reference files to their own dir
  configure: avplay now depends on avresample
  fate: split dependencies for fate-seek tests

Conflicts:
	configure
	tests/fate/seek.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 02:33:27 +01:00
Janne Grunau
e816034a5f fate-seek: remove use of gnu make 3.82 only private modifier 2012-12-03 00:37:07 +01:00
Janne Grunau
abab0435d4 fate: split dependencies for fate-seek tests
Each fate-seek test depends now only on the corresponding fate-acodec,
fate-vsynth2 or fate-lavf test which creates the file seek-tests
operates on. The tests and references are renamed to match the test they
depend on.
2012-12-02 23:25:41 +01:00
Michael Niedermayer
0e09761686 Merge commit 'a7d2861d36756b913e85681b86ed3385274e8ced'
* commit 'a7d2861d36756b913e85681b86ed3385274e8ced':
  svq3: K&R formatting cosmetics
  fate: Introduce ENCMUX macro for tests that require encoders and a muxer
  ffv1: Add missing #includes to header file

Conflicts:
	libavcodec/ffv1.h
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 17:01:01 +02:00
Diego Biurrun
8860878291 fate: Introduce ENCMUX macro for tests that require encoders and a muxer 2012-10-20 21:10:21 +02:00
Michael Niedermayer
9317b73f11 Merge commit '36ac9a16a19a365ce58cc871484c20cffe9b6401'
* commit '36ac9a16a19a365ce58cc871484c20cffe9b6401':
  fate: dependencies for seek tests
  fate: handle lavf test dependencies entirely in make

Conflicts:
	configure
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 11:42:42 +02:00
Mans Rullgard
36ac9a16a1 fate: dependencies for seek tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00