From: James Courtier-D. <Ja...@su...> - 2001-11-23 11:39:09
|
Thank you for the comments. I give some answers below, but I think this discussion would be better left until after I have opened the subtitle API. I will hopefully finish it this weekend. > -----Original Message----- > From: xin...@li... > [mailto:xin...@li...]On Behalf Of Guenter > Bartsch > Sent: 23 November 2001 02:29 > To: James Courtier-Dutton > Cc: xine-dev > Subject: [xine-devel] generic overlay interface (osd, text-based > subtitle formats) > > > Hi James, > > ...I have just been browsing through the spu code and got some ideas on > how to make the spu_event interface public and some simplifications: > > - I think overlay_t should contain completely decoded data, not rle > encoded data - this should make it much simpler to implement OSD > or to assemble text subtitles from letter bitmaps > > rle decoding should be done in the dvd spu decoder Not a good idea. The reason is performance of the software overlay code in the video_out drivers. What we could do is take a bitmap image from the OSD, and convert it into rle in the overlay_add_event code. This code is called only once, so performance will not suffer. I am also intending to add support for "text" data being sent to overlay_add_event code, and the add_event code rendering it as rle. I just need someone else to come up with the algorithm. > > - vo_overlay_t, spu_object_t and spu_overlay_event_t should be > unified into one vo_overlay_t struct There are reasons why I did it like it is, but I don't have time to look into it right now, to see if those reasons are still valid or not. It is basically down to keeping flexibility as to what types of events one will want to send and reducing the amount of memcpys. Currently, we have: - 1) DVD Subtitles. 2) DVD Menu highlights. 3) Text Subtitles from other sources. 4) Bitmap images from OSD. > > - I don't think we need the ovl_src_t concept any more, there will > be only one overlay souce and that will be statically built into > the xine engine True, already being worked on. Maybe if you wait for my next spu code checkin, where I open the API up, you can then approve or not with what I have done. > > this overlay module will have this interface: > > - xine_get_overlay (...) > > - xine_add_overlay (...) > > - xine_remove_overlay > > last call is only used for menu overlays that don't have predefined > length There are complicated issues here, which I would prefer to leave for a bit later to discuss. > > do you think such a simple and easy-to-use interface could implement all > features needed for dvd subtitles? The short answer is NO. It is quite complicated, but in short, until we have perfect DVD subtitles and menus, I will not know for sure what to remove. You have probably noticed the problems the current dvdnav has with menu highlights when moving from one menu to another, sometimes the highlight is left on the screen. Until this is fixed to my satisfaction, I do not really want to change my current API too much. There is a lot of work still to be done, and Richard and myself are working on it. > > Cheers, > > Guenter > > > -- > time is a funny concept > So, I will first get the API opened, and get DVD menus,OSD and other subtitle sources working, and only then will we have enough info to know if the current flexability of the overlay_add_event can be simplified. I don't think it can, but we will look at that later. > > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel |