Re: mng_display_gotime() and large files

Ralph Giles <giles-zeIfkxP3e/[email protected]> Sun, 25 Jul 2004 21:21:42 -0700
Newsgroups gmane.comp.graphics.mng.general
Message-ID <[email protected]>
On Sun, Jul 25, 2004 at 01:30:16PM +0400, Evgeniy Rigkov wrote:

> > I would suggest sticking to mpeg or the likes, as that's much more suited for
> > this kind of thing.

You know, you keep saying this, and I think you're wrong for all the
reasons Evgeniy sited.

> Yes, but i choose MNG format, because it's:
> 
>    a) patent free;
>    b) simple;
>    c) free open-source library available  (thanks for it!).

It's true that we have a ways to go before Moore's law make libmng a
a good implementation to actually use for big video, but that's just
a bug. :)

> The MNG format don't have restriction on the file size, is it?

It does not.

> >> Whether  there  is  a  way  to  limit  a memory allocation, but to use
> >> mng_display_gotime()?
> 
> > This is just not possible currently.

BTW, I've been working (very slowly) on embedding MNG in the Ogg
multimedia container (q.v. http://xiph.org/ogg/ or RFC 3533). 
The main point with that is to interleave audio or underlay video,
but Ogg encapsulation would provide timestamps you could use to
do binary search for a particular time in a vlc stream. While
maintaining the open source and patent free orientation.

Unfortunately, the docs for all this were in our wiki, which got 
eaten in a recent server crash. And there's no good code for this
yet. You mentioned being willing to write something; if so, I'd
suggest starting with liboggz (from annodex.net) which does Ogg
parsing and seeking. construct packets from the mng chunks by
removing the length and checksum words (since these are redundant
in ogg; libmng 1.0.8 has hooks for not requiring them) and use
the frame number for the Ogg granulepos field. Just prepend
the mng file signature to the MHDR chunk for the initial packet.

I'm happy to answer any questions or help out with the code
if you're interested.

> In future this may be?

So yes, but not in the near term with libmng itself.

FWIW,
 -r

--
Send the message body "help" to [email protected]