[MPlayer-dev-eng] proposal of a dvdnav layer

Ivan Kalvachev ivan at cacad.com
Tue Apr 13 00:55:06 CEST 2004


Hello,
I'm very happy that we have entusiast what is ready to take
care of DVD menus.
First I want to ask the usual stuped question "What
documentation/standarts I need to have about DVD (and menus)".
Despire the pure mpeg2 decoding.

Now about MPlayer.

I find it very bizare why libdvdnav create its own stream,
that should be decoded as normal mpeg. It may  requere less
efforts, but it definitly conflict with mplayer way.

Even if we improve and replace cache2 layer in MPlayer, we
still will have probelms, as long as the feedback should
travel through input layers.

Removing cache ablility is no option.

The solution is to rip libdvdnav, and incorporate it into
MPlayer.

There were some talks about still pictures and how bad MPlayer
handles them. I still have no idea what these pictures are,
but the solution have always been clear for me.

We need special decoder that decodes only DVD menu image.
Still pictures will be repeated with some constant FPS.

I'm not sure does the menu have real video under it playing
(looping), but I guess users will be so happy that they have
menus that they won't complain about missing backgraund movie.

I also think that subtitle like solutin is possible.
We need some improvements over subtitles code (2 buffer
state memorizing, color subtitles etc..).
We still need decoder, but it may be outside of the video system,
more like the menu control thingie.

MPlayer have playtree functionality. While it is too complicated
for most developers (including me), it is clear that DVD menu
will be the first item to play, and all tracks may be with
idependent entrees in this playtree. DVD menu selection will simply
jump to the right playfile.


About muxer, if I am not wrong, mpeg-ps demuxer should be
changed to handle menu packets.

The issue with stream switching. Actually the current
MPlayer GUI is quite near the right solution. We may start
new playing with the changed stream. All we need to do is to
seek to the right position (the position before we switch the
streams).

The problems with mouse support are not hard, we need only to decide
what coordinates do we want ( micy or mouses). get_event()
may be easyliy extend to collect that kind of info.


Best Regards
   Ivan Kalvachev
  iive

P.S.
Again, what documentation do I need for
DVD standarts, menus etc?




More information about the MPlayer-dev-eng mailing list