[FFmpeg-devel] [PATCH 0/1] re: Sega FILM: set dts and duration when demuxing

misty at brew.sh misty at brew.sh
Mon Apr 9 04:27:24 EEST 2018


From: Misty De Meo <mistydemeo at gmail.com>

I've updated this so it applies on master.

This patch is still necessary; the wrong duration is most obvious when
remuxing Cinepak from FILM files without reencoding. For example, one
sample video I have has a timebase of 30, and most frames last for two
ticks. When remuxing in a format which uses the duration, this can leave
gaps in the time codes. Here's an example from an original video and one
remuxed using FFmpeg. The first number is the absolute timestamp, and the
second number is the duration value. In the first set, from the original
video, you can see that the timestamps increase by 2 each tick and the
time between frames also increases by 2 each tick.
In the second set, produced by FFmpeg, the timestamps still increase by
2 but the time between frames is now marked as 1. This is fixed by this
patch.

80000002 00000002
80000004 00000002

80000002 00000001
80000004 00000001

Misty De Meo (1):
  Sega FILM: set dts and duration when demuxing

 libavformat/segafilm.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

-- 
2.17.0



More information about the ffmpeg-devel mailing list