* Probably fixed the "X eats more and more CPU" bug. Please test.
[vlc.git] / TODO
blob7e360b8438382183d045a2f7e98a2e0c26a09a41
2 #   vlc tasks
3 #   ---------
6 # Difficulty values: Easy, Medium, Hard, Guru
8 # Urgency values: Wishlist, Normal, Important, Critical
10 Task: 0x5e
11 Difficulty: Hard
12 Urgency: Wishlist
13 Description: All-in-one interface window
14  Find a way for the interface plugin to provide video output capabilities
15  and have it display the stream in the same window.
16 Status: Todo
18 Task: 0x5d
19 Difficulty: Guru
20 Urgency: Normal
21 Description: Win32 port
22  Win32 is probably the most common desktop platform, we should support it
23  as well. Besides, most students at Centrale use Windows and VideoLAN was
24  originally designed for them.
25 Status: Todo
27 Task: 0x5c
28 Difficulty: Medium
29 Urgency: Wishlist
30 Description: Infrared support
31  Write a plugin which listens to the infrared port and sends appropriate
32  commands to the application. This can either be an interface plugin, or,
33  preferably, a new kind of interface-agnostic "command" plugin.
34 Status: Todo
36 Task: 0x5b
37 Difficulty: Hard
38 Urgency: Critical
39 Description: Fix the FreeBSD port
40  The FreeBSD port of vlc doesn't run, probably because of a pthread
41  issue. This should be investigated.
42 Status: Todo
44 Task: 0x5a
45 Difficulty: Hard
46 Urgency: Wishlist
47 Description: Share stream information between vlc and vls
48  vls should send misc TS packets to let us know what the stream PID
49  contain, such as the language, or the subtitle palette.
50 Status: Todo
52 Task: 0x59
53 Difficulty: Hard
54 Urgency: Important
55 Description: Cope with vls/vlc clock jitter
56  The internal clocks of the server and the client are not assured to be
57  in perfect synchronization, which may be annoying when playing a movie.
58  Reduce this jitter by using a well-chosen filter.
59 Status: Done 1 May 2001 (henri)
61 Task: 0x58
62 Difficulty: Medium
63 Urgency: Critical
64 Description: Language and subtitles selection in network input
65  The vls will probably have to be modified as well.
66 Status: Todo
68 Task: 0x57
69 Difficulty: Guru
70 Urgency: Normal
71 Description: Full DVD navigation
72  Once the core DVD navigation features are ready (see item 0x52), port the
73  interface and video output modules so that they can handle it.
74 Status: Todo
76 Task: 0x56
77 Difficulty: Hard
78 Urgency: Normal
79 Description: XVideo video output
80  XVideo is reported to work a bit better than the SDL wrapper on some
81  configurations. Modify the X11 plugin so that it supports XVideo.
82 Status: Done 1 Apr 2001 (shane)
84 Task: 0x55
85 Difficulty: Hard
86 Urgency: Critical
87 Description: Video output IV
88  The new video output should support subtitles both in software and hardware
89  YUV (see item 0x4d). One should also care about XVideo buffers, there is a
90  way to directly decode into them, which would improve performances.
91 Status: Todo
93 Task: 0x54
94 Difficulty: Hard
95 Urgency: Wishlist
96 Description: Hardware AC3 decoding
97  Some soundcards directly grok Dolby AC3. This would spare a lot of CPU time.
98 Status: Todo
100 Task: 0x53
101 Difficulty: Medium
102 Urgency: Critical
103 Description: Fix AC3 decoder
104  The AC3 decoder still has a few quality issues; fix them, and try to add
105  MMX support to it as well.
106 Status: Todo
108 Task: 0x52
109 Difficulty: Guru
110 Urgency: Normal
111 Description: DVD navigation core features
112  We need an interpreter for the DVD virtual machine to make it easier to
113  browse DVDs later.
114 Status: Todo
116 Task: 0x51
117 Difficulty: Easy
118 Urgency: Normal
119 Description: Better subtitle color handling
120  The subtitle palette is pretty ugly for the moment, since we don't parse
121  the color information. Find it in the IFO file and pass the information to
122  the video output.
123 Status: Todo
125 Task: 0x50
126 Difficulty: Hard
127 Urgency: Critical
128 Description: Multi-angle multi-language support
129  Some DVDs have several languages encoded in the same video stream, we
130  need to properly parse them.
131 Status: Done 22 Apr 2001 (stef)
133 Task: 0x4f
134 Difficulty: Hard
135 Urgency: Critical
136 Description: Fix all known DVD playback issues
137  A few DVDs are still reported not to work at all. Try to find what is
138  causing this, have a more robust DVD input, and list all discs reported
139  to work flawlessly to prevent bug regression.
140 Status: Todo
142 Task: 0x4e
143 Difficulty: Hard
144 Urgency: Important
145 Description: Write stream zones support
146  For random access we need to know where stream descriptors are valid
147  and reside (essentially DVD plugin). -> Meuuh
148 Status: Done (stef)
150 Task: 0x4d
151 Difficulty: Hard
152 Urgency: Normal
153 Description: Write subtitles and stream information in YUV coordinates
154  ... so that they can be displayed even in "overlay" mode.
155 Status: Todo
157 Task: 0x4c
158 Difficulty: Medium
159 Urgency: Normal
160 Description: Update documentation
161  The input structures have undergone a major restructuration with
162  input-II. It might be a good idea to reflect thoses changes in the
163  documentation.
164 Status: Todo
166 Task: 0x4b
167 Difficulty: Guru
168 Urgency: Normal
169 Description: Write AVI input plugin
170  .avi files can use MPEG codec, if this is the case it shouldn't be
171  hard to read those files -> Meuuh
172 Status: Todo
174 Task: 0x4a
175 Difficulty: Medium
176 Urgency: Normal
177 Description: Write ES input plugin
178  We need to be able to read .mpg video streams, or .mp* audio streams.
179  More information -> Meuuh
180 Status: Todo
182 Task: 0x49
183 Difficulty: Easy
184 Urgency: Important
185 Description: Write a new buffer allocator
186  Avoid malloc()s by reusing the recently released packets. More
187  information -> Meuuh
188 Status: Done 16 Apr 2001 (asmax)
190 Task: 0x48
191 Difficulty: Hard
192 Urgency: Critical
193 Description: Fix audio synchro
194  With some audio plugins, the audio stream is late because of buffer
195  sizes. See what's wrong and fix it.
196 Status: Todo
198 Task: 0x47
199 Difficulty: Hard
200 Urgency: Normal
201 Description: Make decoders dynamically loadable
202 Status: Todo
204 Task: 0x46
205 Difficulty: Hard
206 Urgency: Normal
207 Description: Make input plugins dynamically loadable
208  With a probe() function, and stuff...
209 Status: Done 7 Feb 2001 (sam)
211 Task: 0x45
212 Difficulty: Guru
213 Urgency: Normal
214 Description: Write DVD plugin
215  We need a DVD plugin which read the device directly, calls DeCSS
216  (optional) and parse .ifo files.
217 Status: Done 8 Feb 2001 (stef)
219 Task: 0x44
220 Difficulty: Guru
221 Urgency: Important
222 Description: Write input_ext-intf.c
223  This file will provide functions which allow the interface to change
224  the pace of reading and change the position in the file.
225 Status: Done 8 Feb 2001 (Meuuh)
227 Task: 0x43
228 Difficulty: Medium
229 Urgency: Important
230 Description: Write TS support
231  The parser has already been back-ported, but it still lacks the
232  PSI parser, and currently the functions to read from the network
233  are yet to be written.
234 Status: Done 7 Mar 2001 (henri)
236 Task: 0x42
237 Difficulty: Medium
238 Urgency: Important
239 Description: Write input_netlist.c
240  We need an interface to create fixed-size packets (for instance
241  188 bytes or 2 kB) and avoid using the system malloc().
242 Status: Done 23 Jan 2001 (henri)
244 Task: 0x41
245 Difficulty: Easy
246 Urgency: Important
247 Description: Write input_programs.c
248  We need a centralized manner of creating new programs, es, and
249  spawning new decoders.
250 Status: Done 20 Dec 2000 (Meuuh)
252 Task: 0x40
253 Difficulty: Medium
254 Urgency: Important
255 Description: Fix the PS plugin
256  The PS plugin should be able to recover from packet loss, to
257  read MPEG-1 .mpg files, and to pre-parse the stream (if possible)
258  to build the ES table. Check what's wrong and fix it. Now.
259 Status: Done 20 Dec 2000 (Meuuh)
261 Task: 0x3f
262 Difficulty: Easy
263 Urgency: Critical
264 Description: Enhance intf_*Msg
265  The intf_*Msg functions could be more clever : add "mymodule
266  warning/error:" and \n automatically. The new input already
267  uses such a behaviour, so we must hurry. It might be necessary
268  to modify all messages in all modules...
269 Status: Done 20 Dec 2000 (sam)
271 Task: 0x3e
272 Difficulty: Guru
273 Urgency: Critical
274 Description: Fix backwards moves
275  Sometimes the frames seem to go backwards for a short period of
276  time. This is due to the output methods and is known to happen
277  with the x11 and SDL plugins.
278 Status: Done 27 Nov 2000 (Meuuh)
280 Task: 0x3d
281 Difficulty: Easy
282 Urgency: Normal
283 Description: Have more statistics messages displayed
284  The vlc has structures to keep track of the interesting
285  events, but there is no way to print these structures. In stats
286  mode, we should print these structures regularly, or at quit
287  time (whichever is the more convenient).
288 Status: Done 27 Nov 2000 (Meuuh)
290 Task: 0x3c
291 Difficulty: Easy
292 Urgency: Important
293 Description: Separate optimizations from debug mode
294  We sometimes want to have the debug mode (which writes an
295  interesting log of debug messages) along with the compiler
296  optimizations (which allow decoding of more than 2 fps).
297 Status: Done 18 Nov 2000 (Meuuh)
299 Task: 0x3b
300 Difficulty: Easy
301 Urgency: Important
302 Description: Write intf_WarnMsg and intf_StatMsg
303  We have intf_ErrMsg to display fatal errors, but warnings are
304  drowned in an ocean of unreadable intf_DbgMsg. Same for
305  statistics messages.
306 Status: Done 23 Nov 2000 (Stef)
308 Task: 0x3a
309 Difficulty: Hard
310 Urgency: Important
311 Description: Support SDL Overlay
312  The SDL livrary has routines to use the video board to do the YUV
313  conversion, scaling and displaying. Using them will require a
314  partial rewrite of the video_output way of handling rendering
315  and displaying.
316 Status: Done 18 Dec 2000 (bozo and oct)
318 Task: 0x39
319 Difficulty: Medium
320 Urgency: Wishlist
321 Description: Rewrite the font display routines
322  The current font display routines aren't powerful enough. There
323  should be a way to display a big String at once, without needing
324  to compute the size of the string and its coordinates beforehand.
325 Status: Todo
327 Task: 0x38
328 Difficulty: Medium
329 Urgency: Important
330 Description: Make aout eat less CPU
331  When the vlc is launched without a stream, the audio_output thread
332  eats all memory, probably because there is no msleep() when no data
333  is available in the audio_output queue.
334 Status: Done (henri)
336 Task: 0x37
337 Difficulty: Guru
338 Urgency: Important
339 Description: Fix motion compensation bug
340  The motion compensation still has a small bug which can be well
341  noticed when there is a sudden color change, a few blocks remain
342  visible on the screen.
343 Status: Done 27 Aug 2000 (Meuuh)
345 Task: 0x36
346 Difficulty: Medium
347 Urgency: Normal
348 Description: Enhance the interface
349  . Finish the new keyboard input interface to support 
350    interfaces that allow modifiers. This will allow the SDL to run 
351    properly.
352  . Here are some details:
353    Allow any interface to have its own set of keys:
354     - allow the 'discovery' of the main interface of the binding 
355       created by each interface:
356        what key ("control-C", what action (INTF...))
357     - extend the interface by a specific struct (meta+modifier+ascii)
358     - implement an interface specific getKey function.
359 Status: Todo
361 Task: 0x35
362 Difficulty: Medium
363 Urgency: Important
364 Description: Fix plugins namespace problem
365  When compiling a plugin, all symbols seem to be exported, while we
366  actually just need GetConfig and a few other things: the other
367  functions are accessed through function pointers.
368 Status: Done 10 Jan 2001 (sam)
370 Task: 0x34
371 Difficulty: Medium
372 Urgency: Important
373 Description: Fix plugin autoloading
374  At the moment, plugins to be detected are hardcoded in the code. We
375  need a better method to get all available plugins, by listing all the
376  files in selected directories.
377 Status: Done 7 Jan 2001 (sam)
379 Task: 0x33
380 Difficulty: Hard
381 Urgency: Important
382 Description: Real plugin API
383  We need some functions to register plugins, automatically detect which
384  ones are the most appropriate, as well as ways to express that plugin
385  A won't work unless plugin B is activated as well.
386 Status: Done 7 Jan 2001 (sam)
388 Task: 0x32
389 Difficulty: Medium
390 Urgency: Important
391 Description: Enable compiled-in plugins
392  Some plugins may have their place inside the main program, such as the
393  dummy plugin, or the beos plugin under BeOS. We should allow to link
394  them with the main app.
395 Status: Done 15 Apr 2001 (sam)
397 Task: 0x31
398 Difficulty: Easy
399 Urgency: Normal
400 Description: Optimize SPU rendering
401  There is an if() in the SPU display routine to double lines when needed,
402  whiwh is rather inefficient. It should be removed and put outside
403  the main loop.
404 Status: Done 26 Aug 2000 (henri)
406 Task: 0x30
407 Difficulty: Hard
408 Urgency: Important
409 Description: SPU error recovery
410  The SPU decoder does not behave very well when a packet is missed or when
411  it gets the stream at the middle of an SPU packet. Make it more error-
412  friendly.
413 Status: Done 26 Feb 2001 (sam)
415 Task: 0x2b
416 Difficulty: Hard
417 Urgency: Wishlist
418 Description: Shoot the TODO list on the web site
419  The TODO list on the web site hasn't been updated for months. We may
420  wonder then why the hell to we put a TODO list on the web site ? Maybe
421  we'd better shoot it in the head, that would make its suffering end.
422 Status: Done 5 Mar 2001 (sam)
424 Task: 0x2a
425 Difficulty: Medium
426 Urgency: Normal
427 Description: ALSA audio output support
428  ALSA is the Advanced Linux Sound Architecture and is believed to be
429  technically superior to the usual OSS support found in the Linux kernel.
430 Status: Done (henri)
432 Task: 0x29
433 Difficulty: Guru
434 Urgency: Wishlist
435 Description: Support for RTP
436  RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
437  versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
438  and 2508 (compressed RTP) can be interesting as well.
439 Status: Todo
441 Task: 0x28
442 Difficulty: Medium
443 Urgency: Wishlist
444 Description: Draw a font / support color fonts
445  The vlc currently uses an ugly font to display its data on the output
446  window, and we have a slow hack to make it outlined. Writing our own
447  font, or adding support for color fonts, would make us gain some time.
448 Status: Todo
450 Task: 0x27
451 Difficulty: Medium
452 Urgency: Important
453 Description: Layer 2 mono support
454  The vlc doesn't play layer 2 mono yet. We need it since a few of our
455  streams are in this audio format.
456 Status: Done 18 Dec 2000 (sam)
458 Task: 0x26
459 Difficulty: Hard
460 Urgency: Wishlist
461 Description: MP3 support
462  The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
463 Status: Todo
465 Task: 0x25
466 Difficulty: Hard
467 Urgency: Normal
468 Description: Support for unencapsulated streams
469  Some streams are not encapsulated in PES/PS or TS packets, which the
470  vlc currently requires to properly decode a stream. Adding support for
471  this would require to rewrite the input code, and probably make it a
472  plugin.
473 Status: Todo
475 Task: 0x24
476 Difficulty: Guru
477 Urgency: Wishlist
478 Description: Ogg/Vorbis audio decoder support
479  The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
480  MP3 format. The system packets are quite different than the MPEG ones, so
481  adding support for it would require a lot of code rewrite.
482 Status: Todo
484 Task: 0x23
485 Difficulty: Guru
486 Urgency: Normal
487 Description: Xv video output support
488  XFree 4.0 provides the Xv interface which can do hardware YUV on supported
489  hardware. Unfortunately, there doesn't seem to be much documentation
490  available.
491 Status: Done 1 Apr 2001 (shane)
493 Task: 0x22
494 Difficulty: Medium
495 Urgency: Normal
496 Description: SDL video output support
497  The Simple DirectMedia Layer library is a generic API that provides
498  YUV acceleration on some platforms. More information can be found
499  on http://www.devolution.com/~slouken/SDL/
500 Status: Done 21 Aug 2000 (octplane)
502 Task: 0x21
503 Difficulty: Medium
504 Urgency: Normal
505 Description: Implement pause
506  There is no real `pause' command yet. Pausing just stops
507  displaying and sound playback, but the streams continues to
508  be decoded. One will have to do a file implementation as
509  well as a network implementation.
510 Status: Done 8 Feb 2001 (Meuuh)
512 Task: 0x20
513 Difficulty: Hard
514 Urgency: Important
515 Description: Rewrite input for Program Stream files
516  Currently when we read a PS file, it is first translated to TS
517  because we first had only PS support. Now time has come to get
518  rid of this ugly kludge and integrate a proper PS input.
519 Status: Done 5 Dec 2000 (Meuuh) because of Input II
521 Task: 0x1f
522 Difficulty: Hard
523 Urgency: Normal
524 Description: DeCSS and DVD ioctls
525  The vlc needs the DVD ioctls support as well as the integration
526  of DeCSS to play DVDs properly. The person doing this should
527  probably not live in a country where DeCSS has been ruled illegal.
528 Status: Done 20 Jan 2001 (stef)
530 Task: 0x1e
531 Difficulty: Hard
532 Urgency: Wishlist
533 Description: ASCII-art output
534  For the ones who don't know how to waste their time, they can
535  try to do an ASCII-art output plugin.
536 Status: Todo
538 Task: 0x1d
539 Difficulty: Hard
540 Urgency: Normal
541 Description: LPCM decoder
542  The LPCM decoder is full of stubs, it only parses the stream
543  but does not decode it. Fix this.
544 Status: Done 12 Jun 2001 (henri)
546 Task: 0x1c
547 Difficulty: Guru
548 Urgency: Important
549 Description: Fix field pictures support
550  Some MPEG2 streams are interleaved, and the vlc does not support
551  this very well. Adding support for them requires an excellent
552  knowledge of the MPEG2 papers.
553 Status: Done 23 Aug 2000 (Meuuh)
555 Task: 0x1b
556 Difficulty: Hard
557 Urgency: Wishlist
558 Description: Modularize decoder
559  Make the decoder a plugin, so that two versions can coexist
560  without recompilation (MMX and non-MMX).
561 Status: Done 16 Jan 2001 (sam)
563 Task: 0x1a
564 Difficulty: Easy
565 Urgency: Normal
566 Description: Make interface more responsive
567  When in "waiting for stream" mode, the interface is refreshed
568  every 5 seconds. This is too long, and can be confusing for
569  the user. Make it refresh at least after a keyboard/mouse event.
570 Status: Done 28 Aug 2000 (oct)
572 Task: 0x19
573 Difficulty: Hard
574 Urgency: Normal
575 Description: Support MP1 and MP3
576  The vlc does not support all MPEG1 audio formats yet, nor
577  does it support MPEG1/2 layer 3.
578 Status: Done 18 Dec 2000 (sam) but see 0x25
580 Task: 0x18
581 Difficulty: Guru
582 Urgency: Wishlist
583 Description: Split interface/video_output
584  The interface and the vout modules are too dependant, which
585  makes it impossible to run the Glide output with the Gnome
586  interface for instance. This will require a major rewrite of
587  the interface, and a solid knowledge of how the vlc internals
588  work.
589 Status: Done 11 Feb 2001 (sam)
591 Task: 0x17
592 Difficulty: Hard
593 Urgency: Normal
594 Description: Add 24bpp YUV
595  There is no 24bpp support yet. Add it, either in MMX
596  or in C.
597 Status: Todo
599 Task: 0x16
600 Difficulty: Medium
601 Urgency: Important
602 Description: Fix 8bpp YUV
603  The 8bpp YUV function is broken, there is some serious
604  alpha blending, and it scales pretty badly. Fix it.
605 Status: Done 14 Aug 2000 (sam)
607 Task: 0x15
608 Difficulty: Medium
609 Urgency: Critical
610 Description: Fix input_file exit
611  input_file does not exit cleanly when the file is finished,
612  which makes it impossible to quit the vlc. Fix it.
613 Status: Done 21 Aug 2000 (sam)
615 Task: 0x14
616 Difficulty: Guru
617 Urgency: Wishlist
618 Description: Debug MPEG1 video
619  The MPEG1 support has been done, but it still crashes.
620 Status: Done 23 Oct 2000 (Meuuh)
622 Task: 0x13
623 Difficulty: Hard
624 Urgency: Wishlist
625 Description: Support MPEG1 timecodes
626  The vlc can parse an MPEG1 system stream, but the parsed
627  PCR values do not seem to be correct. Check what's wrong.
628 Status: Done 5 Dec 2000 (Meuuh) because of Input II
630 Task: 0x12
631 Difficulty: Medium
632 Urgency: Important
633 Description: Fix 32bpp MMX YUV
634  The MMX 32bpp YUV function is buggy.
635 Status: Done 13 Aug 2000 (sam)
637 Task: 0x11
638 Difficulty: Hard
639 Urgency: Normal
640 Description: Optimize YUV scaling
641  The YUV scaling method does not seem very efficient. Perhaps
642  some CPU cycles can be gained by saving some buffers.
643 Status: Todo
645 Task: 0x10
646 Difficulty: Easy
647 Urgency: Normal
648 Description: Draw a vlc icon
649  The vlc needs an icon. It should render well in 48x48 but
650  can be any size.
651 Status: Done 11 Apr 2001 (sam)
653 Task: 0x0f
654 Difficulty: Easy
655 Urgency: Normal
656 Description: Better black&white support
657  When in B&W mode, the chroma part of pictures is decoded,
658  but it would be more efficient not to decode at all when
659  the video decoder knows it does not need to.
660 Status: Done 25 Oct 2000 (reno)
662 Task: 0x0e
663 Difficulty: Easy
664 Urgency: Wishlist
665 Description: Rename channel names
666  Channels should start from 1 (not 0) like on a VCR or TV,
667  and Channel 0 should be renamed to "Playlist" or similar.
668 Status: Todo
670 Task: 0x0d
671 Difficulty: Medium
672 Urgency: Important
673 Description: Framebuffer exit bug
674  When the vlc abnormally exits in framebuffer mode, it leaves
675  the console in an unusable state. This does not happen on
676  the Matrox framebuffer, but it does on the VESA one.
677 Status: Done 18 Feb 2001 (sam)
679 Task: 0x0c
680 Difficulty: Hard
681 Urgency: Critical
682 Description: Fix synchro
683  The synchronization algorithm sucks a bit. While it is
684  quite efficient on frameskipping on slow machines, it
685  is not smart enough on fast machines and does not detect
686  when it has enough time for a frame. Perhaps a better
687  handling of the dates might help.
688 Status: Done 13 Nov 2000 (Meuuh)
690 Task: 0x0b
691 Difficulty: Medium
692 Urgency: Important
693 Description: Allow to force synchro
694  Add a --force-synchro option to bypass the auto-adaptative
695  algorithm present in the vlc. Options should allow displaying
696  only I frames, only I and P, or all frames, or some more
697  fancy stuff such as half the Bs.
698 Status: Done 8 Aug 2000 (sam)
700 Task: 0x0a
701 Difficulty: Medium
702 Urgency: Important
703 Description: Do separate packages
704  The plugins can be compiled with specific libraries, such
705  as Gnome, GGI, Esound. Putting all of them in the same
706  package would require a lot of useless dependencies, thus
707  one should do separate packages: a core "vlc" package, and
708  "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
709  core package.
710 Status: Done 15 Aug 2000 (sam)
712 Task: 0x09
713 Difficulty: Easy
714 Urgency: Normal
715 Description: Get rid of dumb vlc aliases
716  When compiling the vlc, some symlinks to the main app
717  are created, such as gvlc, ggivlc, etc. Actually this
718  might confuse the user, so they should be removed,
719  except perhaps gvlc and fbvlc which follow a usual
720  naming scheme.
721 Status: Done 8 Aug 2000 (sam)
723 Task: 0x08
724 Difficulty: Easy
725 Urgency: Important
726 Description: Get rid of floating instructions
727  Mixing floating instructions and MMX is seldom a good idea,
728  it might be interesting to remove all floating instructions
729  in a single thread. The audio decoders are of course not
730  concerned by this task.
731 Status: Done (sam)
733 Task: 0x07
734 Difficulty: Hard
735 Urgency: Critical
736 Description: Fix VDEC_SMP segfaults
737  When compiled to support SMP, the vlc segfaults. The synchro
738  code lacks locks, but there might be bugs elsewhere as well.
739 Status: Done 16 Nov 2000 (Meuuh)
741 Task: 0x06
742 Difficulty: Guru
743 Urgency: Important
744 Description: Optimize video parser
745  The video parser has some speed issues currently unexplained:
746  even though most functions are inlined, it keeps eating more
747  CPU than it should. This has to be investigated.
748 Status: Done 5 Dec 2000 (Meuuh) because of Input II
750 Task: 0x05
751 Difficulty: Easy
752 Urgency: Important
753 Description: Backport vlms input
754  The vlc uses the same file input code as the vlms (VideoLAN
755  Mini Server) which has been much improved. Someone should
756  port modifications done to the vlms back to the vlc.
757 Status: Done 5 Dec 2000 (Meuuh) because of Input II
759 Task: 0x04
760 Difficulty: Medium
761 Urgency: Normal
762 Description: Get rid of vlc.channels
763  The file vlc.channels should be removed and information
764  found in it put either into ~/.vlcrc or in another rc
765  file. Note that this file can be modified by the vlc.
766 Status: Todo
768 Task: 0x03
769 Difficulty: Hard
770 Urgency: Important
771 Description: Playlist API
772  Currently only files given in the command line are played,
773  one after the other. We need a smarter way to handle this,
774  through AddFile(), MoveFile(), etc. functions. input_file
775  has to be modified to support this as well.
776 Status: Done 8 Feb 2001 (sam)
778 Task: 0x02
779 Difficulty: Medium
780 Urgency: Normal
781 Description: Better Gnome interface
782  The Gnome interface has many stubs and is actually rather
783  unfunctional. Someone should make the buttons work when
784  the appropriate hooks exist.
785 Status: Done 12 Feb 2001 (sam)
787 Task: 0x01
788 Difficulty: Hard
789 Urgency: Wishlist
790 Description: MGA YUV
791  The Matrox acceleration for the vlc does not work yet,
792  though there are initialization routines in the code.
793 Status: Todo
795 Task: 0x00
796 Difficulty: Medium
797 Urgency: Wishlist
798 Description: Splash screen
799  The vlc needs a splash screen with a vlc logo, instead of
800  the "waiting for stream" message.
801 Status: Todo