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

Submitted by Derek Buitenhuis on Dec. 24, 2018, 7:52 p.m.

Details

Message ID 20181224195234.15161-1-derek.buitenhuis@gmail.com
State New
Headers show

Commit Message

Derek Buitenhuis Dec. 24, 2018, 7:52 p.m.
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@gmail.com>
---
 libavformat/mov.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 825738127b..0f1b6bf475 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2923,13 +2923,7 @@  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;
+        duration+=(int64_t)sample_duration*sample_count;
         total_sample_count+=sample_count;
     }