6 # Difficulty values: Easy, Medium, Hard, Guru
8 # Urgency values: Wishlist, Normal, Important, Critical
13 Description: Make aout eat less CPU
14 When the vlc is launched without a stream, the audio_output thread
15 eats all memory, probably because there is no msleep() when no data
16 is available in the audio_output queue.
22 Description: Fix motion compensation bug
23 The motion compensation still has a small bug which can be well
24 noticed when there is a sudden color change, a few blocks remain
25 visible on the screen.
26 Status: Done 27 Aug 2000 (Meuuh)
31 Description: Finish the new keyboard input interface to support
32 interfaces that allow modifiers. This will allow the SDL to run
39 Description: Fix plugins namespace problem
40 When compiling a plugin, all symbols seem to be exported, while we
41 actually just need GetConfig and a few other things: the other
42 functions are accessed through function pointers.
48 Description: Fix plugin autoloading
49 At the moment, plugins to be detected are hardcoded in the code. We
50 need a better method to get all available plugins, by listing all the
51 files in selected directories.
57 Description: Real plugin API
58 We need some functions to register plugins, automatically detect which
59 ones are the most appropriate, as well as ways to express that plugin
60 A won't work unless plugin B is activated as well.
66 Description: Enable compiled-in plugins
67 Some plugins may have their place inside the main program, such as the
68 dummy plugin, or the beos plugin under BeOS. We should allow to link
69 them with the main app.
75 Description: Optimize SPU rendering
76 There is an if() in the SPU display routine to double lines when needed,
77 whiwh is rather inefficient. It should be removed and put outside
79 Status: Done 26 Aug 2000 (henri)
84 Description: SPU error recovery
85 The SPU decoder does not behave very well when a packet is missed or when
86 it gets the stream at the middle of an SPU packet. Make it more error-
93 Description: ALSA audio output support
94 ALSA is the Advanced Linux Sound Architecture and is believed to be
95 technically superior to the usual OSS support found in the Linux kernel.
101 Description: Support for RTP
102 RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
103 versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
104 and 2508 (compressed RTP) can be interesting as well.
110 Description: Draw a font / support color fonts
111 The vlc currently uses an ugly font to display its data on the output
112 window, and we have a slow hack to make it outlined. Writing our own
113 font, or adding support for color fonts, would make us gain some time.
119 Description: Layer 2 mono support
120 The vlc doesn't play layer 2 mono yet. We need it since a few of our
121 streams are in this audio format.
127 Description: MP3 support
128 The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
134 Description: Support for unencapsulated streams
135 Some streams are not encapsulated in PES/PS or TS packets, which the
136 vlc currently requires to properly decode a stream. Adding support for
137 this would require to rewrite the input code, and probably make it a
144 Description: Ogg/Vorbis audio decoder support
145 The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
146 MP3 format. The system packets are quite different than the MPEG ones, so
147 adding support for it would require a lot of code rewrite.
153 Description: Xv video output support
154 XFree 4.0 provides the Xv interface which can do hardware YUV on supported
155 hardware. Unfortunately, there doesn't seem to be much documentation
162 Description: SDL video output support
163 The Simple DirectMedia Layer library is a generic API that provides
164 YUV acceleration on some platforms. More information can be found
165 on http://www.devolution.com/~slouken/SDL/
166 Status: Done 21 Aug 2000 (octplane)
171 Description: Implement pause
172 There is no real `pause' command yet. Pausing just stops
173 displaying and sound playback, but the streams continues to
174 be decoded. One will have to do a file implementation as
175 well as a network implementation.
181 Description: Rewrite input for Program Stream files
182 Currently when we read a PS file, it is first translated to TS
183 because we first had only PS support. Now time has come to get
184 rid of this ugly kludge and integrate a proper PS input.
190 Description: DeCSS and DVD ioctls
191 The vlc needs the DVD ioctls support as well as the integration
192 of DeCSS to play DVDs properly. The person doing this should
193 probably not live in a country where DeCSS has been ruled illegal.
199 Description: ASCII-art output
200 For the ones who don't know how to waste their time, they can
201 try to do an ASCII-art output plugin.
207 Description: LPCM decoder
208 The LPCM decoder is full of stubs, it only parses the stream
209 but does not decode it. Fix this.
215 Description: Fix field pictures support
216 Some MPEG2 streams are interleaved, and the vlc does not support
217 this very well. Adding support for them requires an excellent
218 knowledge of the MPEG2 papers.
219 Status: Done 23 Aug 2000 (Meuuh)
224 Description: Modularize decoder
225 Make the decoder a plugin, so that two versions can coexist
226 without recompilation (MMX and non-MMX).
232 Description: Make interface more responsive
234 When in "waiting for stream" mode, the interface is refreshed
235 every 5 seconds. This is too long, and can be confusing for
236 the user. Make it refresh at least after a keyboard/mouse event.
242 Description: Support MP1 and MP3
243 The vlc does not support all MPEG1 audio formats yet, nor
244 does it support MPEG1/2 layer 3.
249 Description: Split interface/video_output
250 The interface and the vout modules are too dependant, which
251 makes it impossible to run the Glide output with the Gnome
252 interface for instance. This will require a major rewrite of
253 the interface, and a solid knowledge of how the vlc internals
260 Description: Add 24bpp YUV
261 There is no 24bpp support yet. Add it, either in MMX
268 Description: Fix 8bpp YUV
269 The 8bpp YUV function is broken, there is some serious
270 alpha blending, and it scales pretty badly. Fix it.
271 Status: Done 14 Aug 2000 (sam)
276 Description: Fix input_file exit
277 input_file does not exit cleanly when the file is finished,
278 which makes it impossible to quit the vlc. Fix it.
279 Status: Done 21 Aug 2000 (sam)
284 Description: Debug MPEG1 video
285 The MPEG1 support has been done, but it still crashes.
291 Description: Support MPEG1 timecodes
292 The vlc can parse an MPEG1 system stream, but the parsed
293 PCR values do not seem to be correct. Check what's wrong.
299 Description: Fix 32bpp MMX YUV
300 The MMX 32bpp YUV function is buggy.
301 Status: Done 13 Aug 2000 (sam)
306 Description: Optimize YUV scaling
307 The YUV scaling method does not seem very efficient. Perhaps
308 some CPU cycles can be gained by saving some buffers.
314 Description: Draw a vlc icon
315 The vlc needs an icon. It should render well in 48x48 but
322 Description: Better black&white support
323 When in B&W mode, the chroma part of pictures is decoded,
324 but it would be more efficient not to decode at all when
325 the video decoder knows it does not need to.
331 Description: Rename channel names
332 Channels should start from 1 (not 0) like on a VCR or TV,
333 and Channel 0 should be renamed to "Playlist" or similar.
339 Description: Framebuffer exit bug
340 When the vlc abnormally exits in framebuffer mode, it leaves
341 the console in an unusable state. This does not happen on
342 the Matrox framebuffer, but it does on the VESA one.
348 Description: Fix synchro
349 The synchronization algorithm sucks a bit. While it is
350 quite efficient on frameskipping on slow machines, it
351 is not smart enough on fast machines and does not detect
352 when it has enough time for a frame. Perhaps a better
353 handling of the dates might help.
359 Description: Allow to force synchro
360 Add a --force-synchro option to bypass the auto-adaptative
361 algorithm present in the vlc. Options should allow displaying
362 only I frames, only I and P, or all frames, or some more
363 fancy stuff such as half the Bs.
364 Status: Done 8 Aug 2000 (sam)
369 Description: Do separate packages
370 The plugins can be compiled with specific libraries, such
371 as Gnome, GGI, Esound. Putting all of them in the same
372 package would require a lot of useless dependencies, thus
373 one should do separate packages: a core "vlc" package, and
374 "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
376 Status: Done 15 Aug 2000 (sam)
381 Description: Get rid of dumb vlc aliases
382 When compiling the vlc, some symlinks to the main app
383 are created, such as gvlc, ggivlc, etc. Actually this
384 might confuse the user, so they should be removed,
385 except perhaps gvlc and fbvlc which follow a usual
387 Status: Done 8 Aug 2000 (sam)
392 Description: Get rid of floating instructions
393 Mixing floating instructions and MMX is seldom a good idea,
394 it might be interesting to remove all floating instructions
395 in a single thread. The audio decoders are of course not
396 concerned by this task.
402 Description: Fix VDEC_SMP segfaults
403 When compiled to support SMP, the vlc segfaults. The synchro
404 code lacks locks, but there might be bugs elsewhere as well.
410 Description: Optimize video parser
411 The video parser has some speed issues currently unexplained:
412 even though most functions are inlined, it keeps eating more
413 CPU than it should. This has to be investigated.
419 Description: Backport vlms input
420 The vlc uses the same file input code as the vlms (VideoLAN
421 Mini Server) which has been much improved. Someone should
422 port modifications done to the vlms back to the vlc.
428 Description: Get rid of vlc.channels
429 The file vlc.channels should be removed and information
430 found in it put either into ~/.vlcrc or in another rc
431 file. Note that this file can be modified by the vlc.
437 Description: Playlist API
438 Currently only files given in the command line are played,
439 one after the other. We need a smarter way to handle this,
440 through AddFile(), MoveFile(), etc. functions. input_file
441 has to be modified to support this as well.
447 Description: Better Gnome interface
448 The Gnome interface has many stubs and is actually rather
449 unfunctional. Someone should make the buttons work when
450 the appropriate hooks exist.
457 The Matrox acceleration for the vlc does not work yet,
458 though there are initialization routines in the code.
464 Description: Splash screen
465 The vlc needs a splash screen with a vlc logo, instead of
466 the "waiting for stream" message.