+Task: 0x5e
+Difficulty: Hard
+Urgency: Wishlist
+Description: All-in-one interface window
+ Find a way for the interface plugin to provide video output capabilities
+ and have it display the stream in the same window.
+Status: Todo
+
+Task: 0x5d
+Difficulty: Guru
+Urgency: Normal
+Description: Win32 port
+ Win32 is probably the most common desktop platform, we should support it
+ as well. Besides, most students at Centrale use Windows and VideoLAN was
+ originally designed for them.
+Status: Todo
+
+Task: 0x5c
+Difficulty: Medium
+Urgency: Wishlist
+Description: Infrared support
+ Write a plugin which listens to the infrared port and sends appropriate
+ commands to the application. This can either be an interface plugin, or,
+ preferably, a new kind of interface-agnostic "command" plugin.
+Status: Todo
+
+Task: 0x5b
+Difficulty: Hard
+Urgency: Critical
+Description: Fix the FreeBSD port
+ The FreeBSD port of vlc doesn't run, probably because of a pthread
+ issue. This should be investigated.
+Status: Done 19 Jul 2001 (Øyvind Kolbu <oyvindk@world-online.no>)
+
+Task: 0x5a
+Difficulty: Hard
+Urgency: Wishlist
+Description: Share stream information between vlc and vls
+ vls should send misc TS packets to let us know what the stream PID
+ contain, such as the language, or the subtitle palette.
+Status: Todo
+
+Task: 0x59
+Difficulty: Hard
+Urgency: Important
+Description: Cope with vls/vlc clock jitter
+ The internal clocks of the server and the client are not assured to be
+ in perfect synchronization, which may be annoying when playing a movie.
+ Reduce this jitter by using a well-chosen filter.
+Status: Done 1 May 2001 (henri)
+
+Task: 0x58
+Difficulty: Medium
+Urgency: Critical
+Description: Language and subtitles selection in network input
+ The vls will probably have to be modified as well.
+Status: Todo
+
+Task: 0x57
+Difficulty: Guru
+Urgency: Normal
+Description: Full DVD navigation
+ Once the core DVD navigation features are ready (see item 0x52), port the
+ interface and video output modules so that they can handle it.
+Status: Todo
+
+Task: 0x56
+Difficulty: Hard
+Urgency: Normal
+Description: XVideo video output
+ XVideo is reported to work a bit better than the SDL wrapper on some
+ configurations. Modify the X11 plugin so that it supports XVideo.
+Status: Done 1 Apr 2001 (shane)
+
+Task: 0x55
+Difficulty: Hard
+Urgency: Critical
+Description: Video output IV
+ The new video output should support subtitles both in software and hardware
+ YUV (see item 0x4d). One should also care about XVideo buffers, there is a
+ way to directly decode into them, which would improve performances.
+Status: Todo
+
+Task: 0x54
+Difficulty: Hard
+Urgency: Wishlist
+Description: Hardware AC3 decoding
+ Some soundcards directly grok Dolby AC3. This would spare a lot of CPU time.
+Status: Todo
+
+Task: 0x53
+Difficulty: Medium
+Urgency: Critical
+Description: Fix AC3 decoder
+ The AC3 decoder still has a few quality issues; fix them, and try to add
+ MMX support to it as well.
+Status: Done 15 June 2001 (reno)
+
+Task: 0x52
+Difficulty: Guru
+Urgency: Normal
+Description: DVD navigation core features
+ We need an interpreter for the DVD virtual machine to make it easier to
+ browse DVDs later.
+Status: Todo
+
+Task: 0x51
+Difficulty: Easy
+Urgency: Normal
+Description: Better subtitle color handling
+ The subtitle palette is pretty ugly for the moment, since we don't parse
+ the color information. Find it in the IFO file and pass the information to
+ the video output.
+Status: Todo
+
+Task: 0x50
+Difficulty: Hard
+Urgency: Critical
+Description: Multi-angle multi-language support
+ Some DVDs have several languages encoded in the same video stream, we
+ need to properly parse them.
+Status: Done 22 Apr 2001 (stef)
+
+Task: 0x4f
+Difficulty: Hard
+Urgency: Critical
+Description: Fix all known DVD playback issues
+ A few DVDs are still reported not to work at all. Try to find what is
+ causing this, have a more robust DVD input, and list all discs reported
+ to work flawlessly to prevent bug regression.
+Status: Todo
+
+Task: 0x4e
+Difficulty: Hard
+Urgency: Important
+Description: Write stream zones support
+ For random access we need to know where stream descriptors are valid
+ and reside (essentially DVD plugin).
+Status: Done (stef)
+
+Task: 0x4d
+Difficulty: Hard
+Urgency: Normal
+Description: Write subtitles and stream information in YUV coordinates
+ ... so that they can be displayed even in "overlay" mode.
+Status: Todo
+
+Task: 0x4c
+Difficulty: Medium
+Urgency: Normal
+Description: Update documentation
+ The input structures have undergone a major restructuration with
+ input-II. It might be a good idea to reflect thoses changes in the
+ documentation.
+Status: Done 16 Jul 2001 (Meuuh)
+
+Task: 0x4b
+Difficulty: Guru
+Urgency: Normal
+Description: Write AVI input plugin
+ .avi files can use MPEG codec, if this is the case it shouldn't be
+ hard to read those files -> Meuuh
+Status: Todo
+
+Task: 0x4a
+Difficulty: Medium
+Urgency: Normal
+Description: Write ES input plugin
+ We need to be able to read .mpg video streams, or .mp* audio streams.
+Status: Done 27 Jun 2001 (Meuuh)
+
+Task: 0x49
+Difficulty: Easy
+Urgency: Important
+Description: Write a new buffer allocator
+ Avoid malloc()s by reusing the recently released packets. More
+ information -> Meuuh
+Status: Done 16 Apr 2001 (asmax)
+
+Task: 0x48
+Difficulty: Hard
+Urgency: Critical
+Description: Fix audio synchro
+ With some audio plugins, the audio stream is late because of buffer
+ sizes. See what's wrong and fix it.
+Status: Done 12 July 2001 (reno)
+
+Task: 0x47
+Difficulty: Hard
+Urgency: Normal
+Description: Make decoders dynamically loadable
+Status: Todo
+
+Task: 0x46
+Difficulty: Hard
+Urgency: Normal
+Description: Make input plugins dynamically loadable
+ With a probe() function, and stuff...
+Status: Done 7 Feb 2001 (sam)
+
+Task: 0x45
+Difficulty: Guru
+Urgency: Normal
+Description: Write DVD plugin
+ We need a DVD plugin which read the device directly, calls DeCSS
+ (optional) and parse .ifo files.
+Status: Done 8 Feb 2001 (stef)
+
+Task: 0x44
+Difficulty: Guru
+Urgency: Important
+Description: Write input_ext-intf.c
+ This file will provide functions which allow the interface to change
+ the pace of reading and change the position in the file.
+Status: Done 8 Feb 2001 (Meuuh)
+
+Task: 0x43
+Difficulty: Medium
+Urgency: Important
+Description: Write TS support
+ The parser has already been back-ported, but it still lacks the
+ PSI parser, and currently the functions to read from the network
+ are yet to be written.
+Status: Done 7 Mar 2001 (henri)
+
+Task: 0x42
+Difficulty: Medium
+Urgency: Important
+Description: Write input_netlist.c
+ We need an interface to create fixed-size packets (for instance
+ 188 bytes or 2 kB) and avoid using the system malloc().
+Status: Done 23 Jan 2001 (henri)
+
+Task: 0x41
+Difficulty: Easy
+Urgency: Important
+Description: Write input_programs.c
+ We need a centralized manner of creating new programs, es, and
+ spawning new decoders.
+Status: Done 20 Dec 2000 (Meuuh)
+
+Task: 0x40
+Difficulty: Medium
+Urgency: Important
+Description: Fix the PS plugin
+ The PS plugin should be able to recover from packet loss, to
+ read MPEG-1 .mpg files, and to pre-parse the stream (if possible)
+ to build the ES table. Check what's wrong and fix it. Now.
+Status: Done 20 Dec 2000 (Meuuh)
+
+Task: 0x3f
+Difficulty: Easy
+Urgency: Critical
+Description: Enhance intf_*Msg
+ The intf_*Msg functions could be more clever : add "mymodule
+ warning/error:" and \n automatically. The new input already
+ uses such a behaviour, so we must hurry. It might be necessary
+ to modify all messages in all modules...
+Status: Done 20 Dec 2000 (sam)
+
+Task: 0x3e
+Difficulty: Guru
+Urgency: Critical
+Description: Fix backwards moves
+ Sometimes the frames seem to go backwards for a short period of
+ time. This is due to the output methods and is known to happen
+ with the x11 and SDL plugins.
+Status: Done 27 Nov 2000 (Meuuh)
+
+Task: 0x3d
+Difficulty: Easy
+Urgency: Normal
+Description: Have more statistics messages displayed
+ The vlc has structures to keep track of the interesting
+ events, but there is no way to print these structures. In stats
+ mode, we should print these structures regularly, or at quit
+ time (whichever is the more convenient).
+Status: Done 27 Nov 2000 (Meuuh)
+
+Task: 0x3c
+Difficulty: Easy
+Urgency: Important
+Description: Separate optimizations from debug mode
+ We sometimes want to have the debug mode (which writes an
+ interesting log of debug messages) along with the compiler
+ optimizations (which allow decoding of more than 2 fps).
+Status: Done 18 Nov 2000 (Meuuh)
+
+Task: 0x3b
+Difficulty: Easy
+Urgency: Important
+Description: Write intf_WarnMsg and intf_StatMsg
+ We have intf_ErrMsg to display fatal errors, but warnings are
+ drowned in an ocean of unreadable intf_DbgMsg. Same for
+ statistics messages.
+Status: Done 23 Nov 2000 (Stef)
+
+Task: 0x3a
+Difficulty: Hard
+Urgency: Important
+Description: Support SDL Overlay
+ The SDL livrary has routines to use the video board to do the YUV
+ conversion, scaling and displaying. Using them will require a
+ partial rewrite of the video_output way of handling rendering
+ and displaying.
+Status: Done 18 Dec 2000 (bozo and oct)
+
+Task: 0x39
+Difficulty: Medium
+Urgency: Wishlist
+Description: Rewrite the font display routines
+ The current font display routines aren't powerful enough. There
+ should be a way to display a big String at once, without needing
+ to compute the size of the string and its coordinates beforehand.
+Status: Todo
+
+Task: 0x38
+Difficulty: Medium
+Urgency: Important
+Description: Make aout eat less CPU
+ When the vlc is launched without a stream, the audio_output thread
+ eats all memory, probably because there is no msleep() when no data
+ is available in the audio_output queue.
+Status: Done (henri)
+
+Task: 0x37
+Difficulty: Guru
+Urgency: Important
+Description: Fix motion compensation bug
+ The motion compensation still has a small bug which can be well
+ noticed when there is a sudden color change, a few blocks remain
+ visible on the screen.
+Status: Done 27 Aug 2000 (Meuuh)
+
+Task: 0x36
+Difficulty: Medium
+Urgency: Normal
+Description: Enhance the interface
+ . Finish the new keyboard input interface to support
+ interfaces that allow modifiers. This will allow the SDL to run
+ properly.
+ . Here are some details:
+ Allow any interface to have its own set of keys:
+ - allow the 'discovery' of the main interface of the binding
+ created by each interface:
+ what key ("control-C", what action (INTF...))
+ - extend the interface by a specific struct (meta+modifier+ascii)
+ - implement an interface specific getKey function.
+Status: Todo
+
+Task: 0x35
+Difficulty: Medium
+Urgency: Important
+Description: Fix plugins namespace problem
+ When compiling a plugin, all symbols seem to be exported, while we
+ actually just need GetConfig and a few other things: the other
+ functions are accessed through function pointers.
+Status: Done 10 Jan 2001 (sam)
+
+Task: 0x34
+Difficulty: Medium
+Urgency: Important
+Description: Fix plugin autoloading
+ At the moment, plugins to be detected are hardcoded in the code. We
+ need a better method to get all available plugins, by listing all the
+ files in selected directories.
+Status: Done 7 Jan 2001 (sam)
+
+Task: 0x33
+Difficulty: Hard
+Urgency: Important
+Description: Real plugin API
+ We need some functions to register plugins, automatically detect which
+ ones are the most appropriate, as well as ways to express that plugin
+ A won't work unless plugin B is activated as well.
+Status: Done 7 Jan 2001 (sam)
+
+Task: 0x32
+Difficulty: Medium
+Urgency: Important
+Description: Enable compiled-in plugins
+ Some plugins may have their place inside the main program, such as the
+ dummy plugin, or the beos plugin under BeOS. We should allow to link
+ them with the main app.
+Status: Done 15 Apr 2001 (sam)
+
+Task: 0x31
+Difficulty: Easy
+Urgency: Normal
+Description: Optimize SPU rendering
+ There is an if() in the SPU display routine to double lines when needed,
+ whiwh is rather inefficient. It should be removed and put outside
+ the main loop.
+Status: Done 26 Aug 2000 (henri)
+
+Task: 0x30
+Difficulty: Hard
+Urgency: Important
+Description: SPU error recovery
+ The SPU decoder does not behave very well when a packet is missed or when
+ it gets the stream at the middle of an SPU packet. Make it more error-
+ friendly.
+Status: Done 26 Feb 2001 (sam)
+
+Task: 0x2b
+Difficulty: Hard
+Urgency: Wishlist
+Description: Shoot the TODO list on the web site
+ The TODO list on the web site hasn't been updated for months. We may
+ wonder then why the hell to we put a TODO list on the web site ? Maybe
+ we'd better shoot it in the head, that would make its suffering end.
+Status: Done 5 Mar 2001 (sam)
+
+Task: 0x2a
+Difficulty: Medium
+Urgency: Normal
+Description: ALSA audio output support
+ ALSA is the Advanced Linux Sound Architecture and is believed to be
+ technically superior to the usual OSS support found in the Linux kernel.
+Status: Done (henri)
+
+Task: 0x29
+Difficulty: Guru
+Urgency: Wishlist
+Description: Support for RTP
+ RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
+ versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
+ and 2508 (compressed RTP) can be interesting as well.
+Status: Todo
+
+Task: 0x28
+Difficulty: Medium
+Urgency: Wishlist
+Description: Draw a font / support color fonts
+ The vlc currently uses an ugly font to display its data on the output
+ window, and we have a slow hack to make it outlined. Writing our own
+ font, or adding support for color fonts, would make us gain some time.
+Status: Todo
+
+Task: 0x27
+Difficulty: Medium
+Urgency: Important
+Description: Layer 2 mono support
+ The vlc doesn't play layer 2 mono yet. We need it since a few of our
+ streams are in this audio format.
+Status: Done 18 Dec 2000 (sam)
+
+Task: 0x26
+Difficulty: Hard
+Urgency: Wishlist
+Description: MP3 support
+ The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
+Status: Todo
+
+Task: 0x25
+Difficulty: Hard
+Urgency: Normal
+Description: Support for unencapsulated streams
+ Some streams are not encapsulated in PES/PS or TS packets, which the
+ vlc currently requires to properly decode a stream. Adding support for
+ this would require to rewrite the input code, and probably make it a
+ plugin.
+Status: Todo
+
+Task: 0x24
+Difficulty: Guru
+Urgency: Wishlist
+Description: Ogg/Vorbis audio decoder support
+ The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
+ MP3 format. The system packets are quite different than the MPEG ones, so
+ adding support for it would require a lot of code rewrite.
+Status: Todo
+
+Task: 0x23
+Difficulty: Guru
+Urgency: Normal
+Description: Xv video output support
+ XFree 4.0 provides the Xv interface which can do hardware YUV on supported
+ hardware. Unfortunately, there doesn't seem to be much documentation
+ available.
+Status: Done 1 Apr 2001 (shane)
+
+Task: 0x22
+Difficulty: Medium
+Urgency: Normal
+Description: SDL video output support
+ The Simple DirectMedia Layer library is a generic API that provides
+ YUV acceleration on some platforms. More information can be found
+ on http://www.devolution.com/~slouken/SDL/
+Status: Done 21 Aug 2000 (octplane)
+