[MPlayer-dev-eng] Re: [PATCH] dvr-ms fixes for pts, key frame detection and seeking
dalias at aerifal.cx
Thu Feb 8 23:35:47 CET 2007
On Thu, Feb 08, 2007 at 07:47:16PM +0200, Uoti Urpala wrote:
> On Thu, 2007-02-08 at 11:02 -0600, John Donaghy wrote:
> > 1) in some samples they only appear on keyframes but, once you know the
> > average frametime, you can interpolate the in-between values and it works
> > perfectly
> How does anything else play this? Do they really try to calculate
> average frametime? Are you sure there is no overall (constant) framerate
> indicator elsewhere in this case?
Indeed, it sounds like an ugly hack. I'm nearly sure that MS players
would just use the frame timing from the codec-level and resync any
drift each time a container-level timestamp is found.
> > The technique I've tested to get round the first issue also avoids the need
> > to use correct-pts for the second - which I think is a good thing.
> But it can only be correct if all videos stored in this container are
> constant framerate. Are they?
Yes and no. I suspect telecined mpeg2 can be stored in here.. Yes
reinterpreting it as CFR will probably make it "better" in most cases
but it's still incorrect and this pts-smoothing should be done as a
filter, if at all, rather than by incorrect demuxer implementations.
Perhaps where all of this is going is hilighting the fact the MPlayer
_needs_ to use "framers"/AVParser with broken containers. The
interface for using them should probably be made generic rather than
putting it in particular demuxers, though. That way everything could
get fixed at once: dvr-ms, "laced" ogg and mkv, etc...
More information about the MPlayer-dev-eng