[FFmpeg-devel] [PATCH v2] mov: Remove duration-of-last-frame heuristic hack

Derek Buitenhuis derek.buitenhuis at gmail.com
Mon Dec 24 21:55:04 EET 2018


This breaks totally valid files that get caught in its heuristic.

This, according to the commit message, is my own doing, having asked
Michael to implement this check and providing a sample that was
"wrong". I am now atoning for my sins, and removing this hack, having
seen the light (aka that this was silly to do in the first place).

Resotores correct behavior on valid files.

This reverts commit 8e5e84c2a2a21a979b48e80c5a8dd44754ab3f21.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
v1 had accidentally removed a cast. Woops.
 libavformat/mov.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 825738127b..970cd87f70 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2923,12 +2923,6 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
         av_log(c->fc, AV_LOG_TRACE, "sample_count=%d, sample_duration=%d\n",
                 sample_count, sample_duration);
 
-        if (   i+1 == entries
-            && i
-            && sample_count == 1
-            && total_sample_count > 100
-            && sample_duration/10 > duration / total_sample_count)
-            sample_duration = duration / total_sample_count;
         duration+=(int64_t)sample_duration*(uint64_t)sample_count;
         total_sample_count+=sample_count;
     }
-- 
2.20.1



More information about the ffmpeg-devel mailing list