[MPlayer-dev-eng] MNG support for MPlayer

Uoti Urpala uoti.urpala at pp1.inet.fi
Mon Sep 15 22:54:04 CEST 2008


On Mon, 2008-09-15 at 20:48 +0200, Stefan Schuermans wrote:
> I've now found the "DEMUXER_CTRL_CORRECT_PTS" control call I've been 
> missing so far and I think I was able to convert the MNG demuxer to 
> dynamic framerate.

I'm not sure exactly what you expect it to do, but it's not strictly
related to variable frame duration. I think it shouldn't affect behavior
much in this case as there is no decoder delay (unless without it some
brokenness in the old version happens to trigger).

>  But I've implemented a minimum framerate of 5 fps 
> because output shows some odd behaviour if the framerate is much slower, 
> e.g. when moving X11 output window.

This is a limitation elsewhere in MPlayer and you should not add such
workarounds to individual demuxers. If a partial workaround is desired I
think a two-line change in mplayer.c to limit the amount of time slept
at once would be enough.

> (Btw: This control call seems to be missing in the GIF demuxer?!?!)

As described above correct-pts shouldn't matter much in this case.

> The other issues mentioned so far are also fixed now, except I'm still 
> not using the MNG library refresh callback. I've added more comment text 
> why I did it another way.
> 
> The diff attached has been done against current svn version.

A couple of random comments, I haven't read all of the diff:

+  --enable-mng             enable MNG input/output support [autodetect]

Isn't this input only?

+  mng_priv->canvas = (unsigned char *)malloc(height * width * 3);

There's no need to cast void * pointers (multiple cases in the patch).

+// MNG libarary callback: (a part of) the canvas should be shown

typo





More information about the MPlayer-dev-eng mailing list