6 # Difficulty values: Easy, Medium, Hard, Guru
8 # Urgency values: Wishlist, Normal, Important, Critical
13 Description: ALSA audio output support
14 ALSA is the Advanced Linux Sound Architecture and is believed to be
15 technically superior to the usual OSS support found in the Linux kernel.
21 Description: Support for RTP
22 RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
23 versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
24 and 2508 (compressed RTP) can be interesting as well.
30 Description: Draw a font / support color fonts
31 The vlc currently uses an ugly font to display its data on the output
32 window, and we have a slow hack to make it outlined. Writing our own
33 font, or adding support for color fonts, would make us gain some time.
39 Description: Layer 2 mono support
40 The vlc doesn't play layer 2 mono yet. We need it since a few of our
41 streams are in this audio format.
47 Description: MP3 support
48 The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
54 Description: Support for unencapsulated streams
55 Some streams are not encapsulated in PES/PS or TS packets, which the
56 vlc currently requires to properly decode a stream. Adding support for
57 this would require to rewrite the input code, and probably make it a
64 Description: Ogg/Vorbis audio decoder support
65 The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
66 MP3 format. The system packets are quite different than the MPEG ones, so
67 adding support for it would require a lot of code rewrite.
73 Description: Xv video output support
74 XFree 4.0 provides the Xv interface which can do hardware YUV on supported
75 hardware. Unfortunately, there doesn't seem to be much documentation
82 Description: SDL video output support
83 The Simple DirectMedia Layer library is a generic API that provides
84 YUV acceleration on some platforms. More information can be found
85 on http://www.devolution.com/~slouken/SDL/
91 Description: Implement pause
92 There is no real `pause' command yet. Pausing just stops
93 displaying and sound playback, but the streams continues to
94 be decoded. One will have to do a file implementation as
95 well as a network implementation.
101 Description: Rewrite input for Program Stream files
102 Currently when we read a PS file, it is first translated to TS
103 because we first had only PS support. Now time has come to get
104 rid of this ugly kludge and integrate a proper PS input.
110 Description: DeCSS and DVD ioctls
111 The vlc needs the DVD ioctls support as well as the integration
112 of DeCSS to play DVDs properly. The person doing this should
113 probably not live in a country where DeCSS has been ruled illegal.
119 Description: ASCII-art output
120 For the ones who don't know how to waste their time, they can
121 try to do an ASCII-art output plugin.
127 Description: LPCM decoder
128 The LPCM decoder is full of stubs, it only parses the stream
129 but does not decode it. Fix this.
135 Description: Fix field pictures support
136 Some MPEG2 streams are interleaved, and the vlc does not support
137 this very well. Adding support for them requires an excellent
138 knowledge of the MPEG2 papers.
144 Description: modularize decoder
145 Make the decoder a plugin, so that two versions can coexist
146 without recompilation (MMX and non-MMX).
152 Description: Make interface more responsive
154 When in "waiting for stream" mode, the interface is refreshed
155 every 5 seconds. This is too long, and can be confusing for
156 the user. Make it refresh at least after a keyboard/mouse event.
162 Description: Support MP1 and MP3
163 The vlc does not support all MPEG1 audio formats yet, nor
164 does it support MPEG1/2 layer 3.
169 Description: Split interface/video_output
170 The interface and the vout modules are too dependant, which
171 makes it impossible to run the Glide output with the Gnome
172 interface for instance. This will require a major rewrite of
173 the interface, and a solid knowledge of how the vlc internals
180 Description: Add 24bpp YUV
181 There is no 24bpp support yet. Add it, either in MMX
188 Description: Fix 8bpp YUV
189 The 8bpp YUV function is broken, there is some serious
190 alpha blending, and it scales pretty badly. Fix it.
191 Status: Done 14 Aug 2000 (sam)
196 Description: Fix input_file exit
197 input_file does not exit cleanly when the file is finished,
198 which makes it impossible to quit the vlc. Fix it.
204 Description: Debug MPEG1 video
205 The MPEG1 support has been done, but it still crashes.
211 Description: Support MPEG1 timecodes
212 The vlc can parse an MPEG1 system stream, but the parsed
213 PCR values do not seem to be correct. Check what's wrong.
219 Description: Fix 32bpp MMX YUV
220 The MMX 32bpp YUV function is buggy.
221 Status: Done 13 Aug 2000 (sam)
226 Description: Optimize YUV scaling
227 The YUV scaling method does not seem very efficient. Perhaps
228 some CPU cycles can be gained by saving some buffers.
234 Description: vlc icon
235 The vlc needs an icon. It should render well in 48x48 but
242 Description: Better black&white support
243 When in B&W mode, the chroma part of pictures is decoded,
244 but it would be more efficient not to decode at all when
245 the video decoder knows it does not need to.
251 Description: Rename channel names
252 Channels should start from 1 (not 0) like on a VCR or TV,
253 and Channel 0 should be renamed to "Playlist" or similar.
259 Description: Framebuffer exit bug
260 When the vlc abnormally exits in framebuffer mode, it leaves
261 the console in an unusable state. This does not happen on
262 the Matrox framebuffer, but it does on the VESA one.
268 Description: Fix synchro
269 The synchronization algorithm sucks a bit. While it is
270 quite efficient on frameskipping on slow machines, it
271 is not smart enough on fast machines and does not detect
272 when it has enough time for a frame. Perhaps a better
273 handling of the dates might help.
279 Description: Allow to force synchro
280 Add a --force-synchro option to bypass the auto-adaptative
281 algorithm present in the vlc. Options should allow displaying
282 only I frames, only I and P, or all frames, or some more
283 fancy stuff such as half the Bs.
284 Status: Done 8 Aug 2000 (sam)
289 Description: Do separate packages
290 The plugins can be compiled with specific libraries, such
291 as Gnome, GGI, Esound. Putting all of them in the same
292 package would require a lot of useless dependencies, thus
293 one should do separate packages: a core "vlc" package, and
294 "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
296 Status: Done 15 Aug 2000 (sam)
301 Description: Get rid of dumb vlc aliases
302 When compiling the vlc, some symlinks to the main app
303 are created, such as gvlc, ggivlc, etc. Actually this
304 might confuse the user, so they should be removed,
305 except perhaps gvlc and fbvlc which follow a usual
307 Status: Done 8 Aug 2000 (sam)
312 Description: Get rid of floating instructions
313 Mixing floating instructions and MMX is seldom a good idea,
314 it might be interesting to remove all floating instructions
315 in a single thread. The audio decoders are of course not
316 concerned by this task.
322 Description: Fix VDEC_SMP segfaults
323 When compiled to support SMP, the vlc segfaults. The synchro
324 code lacks locks, but there might be bugs elsewhere as well.
330 Description: Optimize video parser
331 The video parser has some speed issues currently unexplained:
332 even though most functions are inlined, it keeps eating more
333 CPU than it should. This has to be investigated.
339 Description: vlms backport
340 The vlc uses the same file input code as the vlms (VideoLAN
341 Mini Server) which has been much improved. Someone should
342 port modifications done to the vlms back to the vlc.
348 Description: Get rid of vlc.channels
349 The file vlc.channels should be removed and information
350 found in it put either into ~/.vlcrc or in another rc
351 file. Note that this file can be modified by the vlc.
357 Description: Playlist API
358 Currently only files given in the command line are played,
359 one after the other. We need a smarter way to handle this,
360 through AddFile(), MoveFile(), etc. functions. input_file
361 has to be modified to support this as well.
367 Description: Better Gnome interface
368 The Gnome interface has many stubs and is actually rather
369 unfunctional. Someone should make the buttons work when
370 the appropriate hooks exist.
377 The Matrox acceleration for the vlc does not work yet,
378 though there are initialization routines in the code.
384 Description: Splash screen
385 The vlc needs a splash screen with a vlc logo, instead of
386 the "waiting for stream" message.