[FFmpeg-devel] [PATCH] ffmpeg: Preserve input subtitle packet duration.

Philip Langdale philipl at overt.org
Sun Sep 2 18:43:52 CEST 2012


On Sun, 2 Sep 2012 10:08:52 +0200
Nicolas George <nicolas.george at normalesup.org> wrote:

> I am not sure what you mean here by "inband". After the subtitle has
> been decoded, the place for the duration is
> AVSubtitle.end_display_time, IMHO. And it does not need to be
> specifically propagated, since it is part of the structure.

I mean something where the timing information is actually in the stream
and the packet level timing is ignored. Obviously we're trying to move
away from this. But I generally agree with your point here.
 
> I see the problem, and I can reproduce it, but I think the way you are
> fixing is wrong. As far as I can see, the real problem is the
> SRT/SUBRIP decoded not setting end_display_time. I just sent a pair
> of patch to fix that, and it seems to fix the problem you are writing
> about too:
> 
> http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/130430.html
> http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/130431.html

The changes look fine as far as fixing SRT goes, but fixing at this
level means we need to change multiple decoders. At a glance, all the
following need the same change:

microdvddec
movtextdec
samidec

(subviewerdec, jocosubdec and realtextdec are apparently already limited
to 1/100)

The fact that we need to touch four decoders, and maybe more in the
future makes this seem like the wrong place.

Maybe we should do the work in ff_ass_add_rect? We could pass in the
original values and the timebase, and let it set end_display_time
accurately.

--phil


More information about the ffmpeg-devel mailing list