6 # Difficulty values: Easy, Medium, Hard, Guru
8 # Urgency values: Wishlist, Normal, Important, Critical
13 Description: Finish the new keyboard input interface to support
14 interfaces that allow modifiers. This will allow the SDL to run
20 Description: Fix plugins namespace problem
21 When compiling a plugin, all symbols seem to be exported, while we
22 actually just need GetConfig and a few other things: the other
23 functions are accessed through function pointers.
29 Description: Fix plugin autoloading
30 At the moment, plugins to be detected are hardcoded in the code. We
31 need a better method to get all available plugins, by listing all the
32 files in selected directories.
38 Description: Real plugin API
39 We need some functions to register plugins, automatically detect which
40 ones are the most appropriate, as well as ways to express that plugin
41 A won't work unless plugin B is activated as well.
47 Description: Enable compiled-in plugins
48 Some plugins may have their place inside the main program, such as the
49 dummy plugin, or the beos plugin under BeOS. We should allow to link
50 them with the main app.
56 Description: Optimize SPU rendering
57 There is an if() in the SPU display routine to double lines when needed,
58 whiwh is rather inefficient. It should be removed and put outside
65 Description: SPU error recovery
66 The SPU decoder does not behave very well when a packet is missed or when
67 it gets the stream at the middle of an SPU packet. Make it more error-
74 Description: ALSA audio output support
75 ALSA is the Advanced Linux Sound Architecture and is believed to be
76 technically superior to the usual OSS support found in the Linux kernel.
82 Description: Support for RTP
83 RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
84 versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
85 and 2508 (compressed RTP) can be interesting as well.
91 Description: Draw a font / support color fonts
92 The vlc currently uses an ugly font to display its data on the output
93 window, and we have a slow hack to make it outlined. Writing our own
94 font, or adding support for color fonts, would make us gain some time.
100 Description: Layer 2 mono support
101 The vlc doesn't play layer 2 mono yet. We need it since a few of our
102 streams are in this audio format.
108 Description: MP3 support
109 The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
115 Description: Support for unencapsulated streams
116 Some streams are not encapsulated in PES/PS or TS packets, which the
117 vlc currently requires to properly decode a stream. Adding support for
118 this would require to rewrite the input code, and probably make it a
125 Description: Ogg/Vorbis audio decoder support
126 The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
127 MP3 format. The system packets are quite different than the MPEG ones, so
128 adding support for it would require a lot of code rewrite.
134 Description: Xv video output support
135 XFree 4.0 provides the Xv interface which can do hardware YUV on supported
136 hardware. Unfortunately, there doesn't seem to be much documentation
143 Description: SDL video output support
144 The Simple DirectMedia Layer library is a generic API that provides
145 YUV acceleration on some platforms. More information can be found
146 on http://www.devolution.com/~slouken/SDL/
152 Description: Implement pause
153 There is no real `pause' command yet. Pausing just stops
154 displaying and sound playback, but the streams continues to
155 be decoded. One will have to do a file implementation as
156 well as a network implementation.
162 Description: Rewrite input for Program Stream files
163 Currently when we read a PS file, it is first translated to TS
164 because we first had only PS support. Now time has come to get
165 rid of this ugly kludge and integrate a proper PS input.
171 Description: DeCSS and DVD ioctls
172 The vlc needs the DVD ioctls support as well as the integration
173 of DeCSS to play DVDs properly. The person doing this should
174 probably not live in a country where DeCSS has been ruled illegal.
180 Description: ASCII-art output
181 For the ones who don't know how to waste their time, they can
182 try to do an ASCII-art output plugin.
188 Description: LPCM decoder
189 The LPCM decoder is full of stubs, it only parses the stream
190 but does not decode it. Fix this.
196 Description: Fix field pictures support
197 Some MPEG2 streams are interleaved, and the vlc does not support
198 this very well. Adding support for them requires an excellent
199 knowledge of the MPEG2 papers.
205 Description: Modularize decoder
206 Make the decoder a plugin, so that two versions can coexist
207 without recompilation (MMX and non-MMX).
213 Description: Make interface more responsive
215 When in "waiting for stream" mode, the interface is refreshed
216 every 5 seconds. This is too long, and can be confusing for
217 the user. Make it refresh at least after a keyboard/mouse event.
223 Description: Support MP1 and MP3
224 The vlc does not support all MPEG1 audio formats yet, nor
225 does it support MPEG1/2 layer 3.
230 Description: Split interface/video_output
231 The interface and the vout modules are too dependant, which
232 makes it impossible to run the Glide output with the Gnome
233 interface for instance. This will require a major rewrite of
234 the interface, and a solid knowledge of how the vlc internals
241 Description: Add 24bpp YUV
242 There is no 24bpp support yet. Add it, either in MMX
249 Description: Fix 8bpp YUV
250 The 8bpp YUV function is broken, there is some serious
251 alpha blending, and it scales pretty badly. Fix it.
252 Status: Done 14 Aug 2000 (sam)
257 Description: Fix input_file exit
258 input_file does not exit cleanly when the file is finished,
259 which makes it impossible to quit the vlc. Fix it.
260 Status: Done 21 Aug 2000 (sam)
265 Description: Debug MPEG1 video
266 The MPEG1 support has been done, but it still crashes.
272 Description: Support MPEG1 timecodes
273 The vlc can parse an MPEG1 system stream, but the parsed
274 PCR values do not seem to be correct. Check what's wrong.
280 Description: Fix 32bpp MMX YUV
281 The MMX 32bpp YUV function is buggy.
282 Status: Done 13 Aug 2000 (sam)
287 Description: Optimize YUV scaling
288 The YUV scaling method does not seem very efficient. Perhaps
289 some CPU cycles can be gained by saving some buffers.
295 Description: Draw a vlc icon
296 The vlc needs an icon. It should render well in 48x48 but
303 Description: Better black&white support
304 When in B&W mode, the chroma part of pictures is decoded,
305 but it would be more efficient not to decode at all when
306 the video decoder knows it does not need to.
312 Description: Rename channel names
313 Channels should start from 1 (not 0) like on a VCR or TV,
314 and Channel 0 should be renamed to "Playlist" or similar.
320 Description: Framebuffer exit bug
321 When the vlc abnormally exits in framebuffer mode, it leaves
322 the console in an unusable state. This does not happen on
323 the Matrox framebuffer, but it does on the VESA one.
329 Description: Fix synchro
330 The synchronization algorithm sucks a bit. While it is
331 quite efficient on frameskipping on slow machines, it
332 is not smart enough on fast machines and does not detect
333 when it has enough time for a frame. Perhaps a better
334 handling of the dates might help.
340 Description: Allow to force synchro
341 Add a --force-synchro option to bypass the auto-adaptative
342 algorithm present in the vlc. Options should allow displaying
343 only I frames, only I and P, or all frames, or some more
344 fancy stuff such as half the Bs.
345 Status: Done 8 Aug 2000 (sam)
350 Description: Do separate packages
351 The plugins can be compiled with specific libraries, such
352 as Gnome, GGI, Esound. Putting all of them in the same
353 package would require a lot of useless dependencies, thus
354 one should do separate packages: a core "vlc" package, and
355 "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
357 Status: Done 15 Aug 2000 (sam)
362 Description: Get rid of dumb vlc aliases
363 When compiling the vlc, some symlinks to the main app
364 are created, such as gvlc, ggivlc, etc. Actually this
365 might confuse the user, so they should be removed,
366 except perhaps gvlc and fbvlc which follow a usual
368 Status: Done 8 Aug 2000 (sam)
373 Description: Get rid of floating instructions
374 Mixing floating instructions and MMX is seldom a good idea,
375 it might be interesting to remove all floating instructions
376 in a single thread. The audio decoders are of course not
377 concerned by this task.
383 Description: Fix VDEC_SMP segfaults
384 When compiled to support SMP, the vlc segfaults. The synchro
385 code lacks locks, but there might be bugs elsewhere as well.
391 Description: Optimize video parser
392 The video parser has some speed issues currently unexplained:
393 even though most functions are inlined, it keeps eating more
394 CPU than it should. This has to be investigated.
400 Description: Backport vlms input
401 The vlc uses the same file input code as the vlms (VideoLAN
402 Mini Server) which has been much improved. Someone should
403 port modifications done to the vlms back to the vlc.
409 Description: Get rid of vlc.channels
410 The file vlc.channels should be removed and information
411 found in it put either into ~/.vlcrc or in another rc
412 file. Note that this file can be modified by the vlc.
418 Description: Playlist API
419 Currently only files given in the command line are played,
420 one after the other. We need a smarter way to handle this,
421 through AddFile(), MoveFile(), etc. functions. input_file
422 has to be modified to support this as well.
428 Description: Better Gnome interface
429 The Gnome interface has many stubs and is actually rather
430 unfunctional. Someone should make the buttons work when
431 the appropriate hooks exist.
438 The Matrox acceleration for the vlc does not work yet,
439 though there are initialization routines in the code.
445 Description: Splash screen
446 The vlc needs a splash screen with a vlc logo, instead of
447 the "waiting for stream" message.