From: James Courtier-D. <Ja...@su...> - 2001-07-13 17:41:15
|
Hello During my investigation into NAV PES packets and SPU PES packets, I found what looks like a good link between then. Some apparent facts: - NAV PES has NO PTS value in the header like SPU,MPEG2 and AC3 PES packets do. NAV PES has a structure which contains Highlight Start Time, Highlight End Time, Button Select End Time. These times are measured in PTS and should refer to SPU PTS times. NAV PES packets are repeated periodically. Each one received, overwrites the previous one. The SPU MENU overlays are full screen. The NAV PES packets contain highlight areas. These areas are used to select an area in the SPU MENU overlay which should then be alpha blended onto the display. These highlight areas can also be used for mouse selecting. The NAV PES packets contain button_next fields. E.G. Currently selected Button 1, Get Key press. If you press UP, Button 2 is selected. If you press DOWN, Button 3 is selected. If you press Left, Button 2 is selected. If you press Right, Button 3 is selected. If you press SELECT, a Command is sent to the Virtual Machine. Over the weekend, I will be adding a NAV decoder for xine. I will also then have Video,SPU and NAV decode as one thread. (As requested by Guenter and agreed by me). Audio will be the other thread. Of course, there are other threads for input etc. We will not actually have working menus then, because we need to design the menu API first. Anyone like the idea of XML ? The LIVID OMS already has an XML parser, so it would be quite simple to add. The MENU API will have to deal with a number of things. 1) Keyboard input (Button UP,DOWN etc.) 2) Mouse input. 3) Highlight Areas. (Basically for mouse input). 4) Button overlays. (Which ones are hidden, which ones are currently highlighted.) I want to give these menus as much flexibility as possible. So, I have some questions: - 1) Are the 4 colour overlays from SPU packets enough for all types of Video stream, QuickTime, AVI etc. ? 2) Are four sided Highlight areas enough. Or do we want more differently shaped highlight areas. 3) Where should the Virtual Machine go? The DVD VM seems rather linked to DVDs. Cells and sector numbers. I think we should try to adapt these to a more general virtual machine with filename and offset values. I would favour creating a Virtual Machine which has a much simpler instruction set, and get the IFO parser to convert it to the more simple form. Example: - Select title, Cell tables get converted to Filenames, byte offsets and byte count. I would suggest making the instructions a lot easier. Maybe convert them to XML. Cheers James -- Nothing in this world is exactly what it appears to be. |