* ALL: New ogg demux and vorbis codec modules for preliminary support of
[vlc.git] / TODO
1 #
2 #   vlc tasks
3 #   ---------
4 #
5 #
6 # Difficulty values: Easy, Medium, Hard, Guru
7 #
8 # Urgency values: Wishlist, Normal, Important, Critical
9
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
17
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: Done 26 Apr 2001 (gbazin)
26
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: Done 6 Feb 2002 (Sigmund Augdal)
35
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: Done 19 Jul 2001 (√ėyvind Kolbu <oyvindk@world-online.no>)
43
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: Done (collective work)
51
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)
60
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: Done (henri)
67
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: In the works (stef)
75
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)
83
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: Done 9 Dec 2001 (sam)
92
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: Done (stef)
99
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: Done 15 June 2001 (reno)
107
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: In the works (stef)
115
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: Done 15 Mar 2002 (sam)
124
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)
132
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: Done (collective work)
141
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).
148 Status: Done (stef)
149
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: Done (sam)
156
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: Done 16 Jul 2001 (Meuuh)
165
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: Done 23 Apr 2002 (fenrir)
173
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 Status: Done 27 Jun 2001 (Meuuh)
180
181 Task: 0x49
182 Difficulty: Easy
183 Urgency: Important
184 Description: Write a new buffer allocator
185  Avoid malloc()s by reusing the recently released packets. More
186  information -> Meuuh
187 Status: Done 16 Apr 2001 (asmax)
188
189 Task: 0x48
190 Difficulty: Hard
191 Urgency: Critical
192 Description: Fix audio synchro
193  With some audio plugins, the audio stream is late because of buffer
194  sizes. See what's wrong and fix it.
195 Status: Done 12 July 2001 (reno)
196
197 Task: 0x47
198 Difficulty: Hard
199 Urgency: Normal
200 Description: Make decoders dynamically loadable
201 Status: Done 05 October 2001 (henri)
202
203 Task: 0x46
204 Difficulty: Hard
205 Urgency: Normal
206 Description: Make input plugins dynamically loadable
207  With a probe() function, and stuff...
208 Status: Done 7 Feb 2001 (sam)
209
210 Task: 0x45
211 Difficulty: Guru
212 Urgency: Normal
213 Description: Write DVD plugin
214  We need a DVD plugin which read the device directly, calls DeCSS
215  (optional) and parse .ifo files.
216 Status: Done 8 Feb 2001 (stef)
217
218 Task: 0x44
219 Difficulty: Guru
220 Urgency: Important
221 Description: Write input_ext-intf.c
222  This file will provide functions which allow the interface to change
223  the pace of reading and change the position in the file.
224 Status: Done 8 Feb 2001 (Meuuh)
225
226 Task: 0x43
227 Difficulty: Medium
228 Urgency: Important
229 Description: Write TS support
230  The parser has already been back-ported, but it still lacks the
231  PSI parser, and currently the functions to read from the network
232  are yet to be written.
233 Status: Done 7 Mar 2001 (henri)
234
235 Task: 0x42
236 Difficulty: Medium
237 Urgency: Important
238 Description: Write input_netlist.c
239  We need an interface to create fixed-size packets (for instance
240  188 bytes or 2 kB) and avoid using the system malloc().
241 Status: Done 23 Jan 2001 (henri)
242
243 Task: 0x41
244 Difficulty: Easy
245 Urgency: Important
246 Description: Write input_programs.c
247  We need a centralized manner of creating new programs, es, and
248  spawning new decoders.
249 Status: Done 20 Dec 2000 (Meuuh)
250
251 Task: 0x40
252 Difficulty: Medium
253 Urgency: Important
254 Description: Fix the PS plugin
255  The PS plugin should be able to recover from packet loss, to
256  read MPEG-1 .mpg files, and to pre-parse the stream (if possible)
257  to build the ES table. Check what's wrong and fix it. Now.
258 Status: Done 20 Dec 2000 (Meuuh)
259
260 Task: 0x3f
261 Difficulty: Easy
262 Urgency: Critical
263 Description: Enhance intf_*Msg
264  The intf_*Msg functions could be more clever : add "mymodule
265  warning/error:" and \n automatically. The new input already
266  uses such a behaviour, so we must hurry. It might be necessary
267  to modify all messages in all modules...
268 Status: Done 20 Dec 2000 (sam)
269
270 Task: 0x3e
271 Difficulty: Guru
272 Urgency: Critical
273 Description: Fix backwards moves
274  Sometimes the frames seem to go backwards for a short period of
275  time. This is due to the output methods and is known to happen
276  with the x11 and SDL plugins.
277 Status: Done 27 Nov 2000 (Meuuh)
278
279 Task: 0x3d
280 Difficulty: Easy
281 Urgency: Normal
282 Description: Have more statistics messages displayed
283  The vlc has structures to keep track of the interesting
284  events, but there is no way to print these structures. In stats
285  mode, we should print these structures regularly, or at quit
286  time (whichever is the more convenient).
287 Status: Done 27 Nov 2000 (Meuuh)
288
289 Task: 0x3c
290 Difficulty: Easy
291 Urgency: Important
292 Description: Separate optimizations from debug mode
293  We sometimes want to have the debug mode (which writes an
294  interesting log of debug messages) along with the compiler
295  optimizations (which allow decoding of more than 2 fps).
296 Status: Done 18 Nov 2000 (Meuuh)
297
298 Task: 0x3b
299 Difficulty: Easy
300 Urgency: Important
301 Description: Write intf_WarnMsg and intf_StatMsg
302  We have intf_ErrMsg to display fatal errors, but warnings are
303  drowned in an ocean of unreadable intf_DbgMsg. Same for
304  statistics messages.
305 Status: Done 23 Nov 2000 (Stef)
306
307 Task: 0x3a
308 Difficulty: Hard
309 Urgency: Important
310 Description: Support SDL Overlay
311  The SDL livrary has routines to use the video board to do the YUV
312  conversion, scaling and displaying. Using them will require a
313  partial rewrite of the video_output way of handling rendering
314  and displaying.
315 Status: Done 18 Dec 2000 (bozo and oct)
316
317 Task: 0x39
318 Difficulty: Medium
319 Urgency: Wishlist
320 Description: Rewrite the font display routines
321  The current font display routines aren't powerful enough. There
322  should be a way to display a big String at once, without needing
323  to compute the size of the string and its coordinates beforehand.
324 Status: Todo
325
326 Task: 0x38
327 Difficulty: Medium
328 Urgency: Important
329 Description: Make aout eat less CPU
330  When the vlc is launched without a stream, the audio_output thread
331  eats all memory, probably because there is no msleep() when no data
332  is available in the audio_output queue.
333 Status: Done (henri)
334
335 Task: 0x37
336 Difficulty: Guru
337 Urgency: Important
338 Description: Fix motion compensation bug
339  The motion compensation still has a small bug which can be well
340  noticed when there is a sudden color change, a few blocks remain
341  visible on the screen.
342 Status: Done 27 Aug 2000 (Meuuh)
343
344 Task: 0x36
345 Difficulty: Medium
346 Urgency: Normal
347 Description: Enhance the interface
348  . Finish the new keyboard input interface to support 
349    interfaces that allow modifiers. This will allow the SDL to run 
350    properly.
351  . Here are some details:
352    Allow any interface to have its own set of keys:
353     - allow the 'discovery' of the main interface of the binding 
354       created by each interface:
355        what key ("control-C", what action (INTF...))
356     - extend the interface by a specific struct (meta+modifier+ascii)
357     - implement an interface specific getKey function.
358 Status: Todo
359
360 Task: 0x35
361 Difficulty: Medium
362 Urgency: Important
363 Description: Fix plugins namespace problem
364  When compiling a plugin, all symbols seem to be exported, while we
365  actually just need GetConfig and a few other things: the other
366  functions are accessed through function pointers.
367 Status: Done 10 Jan 2001 (sam)
368
369 Task: 0x34
370 Difficulty: Medium
371 Urgency: Important
372 Description: Fix plugin autoloading
373  At the moment, plugins to be detected are hardcoded in the code. We
374  need a better method to get all available plugins, by listing all the
375  files in selected directories.
376 Status: Done 7 Jan 2001 (sam)
377
378 Task: 0x33
379 Difficulty: Hard
380 Urgency: Important
381 Description: Real plugin API
382  We need some functions to register plugins, automatically detect which
383  ones are the most appropriate, as well as ways to express that plugin
384  A won't work unless plugin B is activated as well.
385 Status: Done 7 Jan 2001 (sam)
386
387 Task: 0x32
388 Difficulty: Medium
389 Urgency: Important
390 Description: Enable compiled-in plugins
391  Some plugins may have their place inside the main program, such as the
392  dummy plugin, or the beos plugin under BeOS. We should allow to link
393  them with the main app.
394 Status: Done 15 Apr 2001 (sam)
395
396 Task: 0x31
397 Difficulty: Easy
398 Urgency: Normal
399 Description: Optimize SPU rendering
400  There is an if() in the SPU display routine to double lines when needed,
401  whiwh is rather inefficient. It should be removed and put outside
402  the main loop.
403 Status: Done 26 Aug 2000 (henri)
404
405 Task: 0x30
406 Difficulty: Hard
407 Urgency: Important
408 Description: SPU error recovery
409  The SPU decoder does not behave very well when a packet is missed or when
410  it gets the stream at the middle of an SPU packet. Make it more error-
411  friendly.
412 Status: Done 26 Feb 2001 (sam)
413
414 Task: 0x2b
415 Difficulty: Hard
416 Urgency: Wishlist
417 Description: Shoot the TODO list on the web site
418  The TODO list on the web site hasn't been updated for months. We may
419  wonder then why the hell to we put a TODO list on the web site ? Maybe
420  we'd better shoot it in the head, that would make its suffering end.
421 Status: Done 5 Mar 2001 (sam)
422
423 Task: 0x2a
424 Difficulty: Medium
425 Urgency: Normal
426 Description: ALSA audio output support
427  ALSA is the Advanced Linux Sound Architecture and is believed to be
428  technically superior to the usual OSS support found in the Linux kernel.
429 Status: Done (henri)
430
431 Task: 0x29
432 Difficulty: Guru
433 Urgency: Wishlist
434 Description: Support for RTP
435  RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
436  versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
437  and 2508 (compressed RTP) can be interesting as well.
438 Status: Todo
439
440 Task: 0x28
441 Difficulty: Medium
442 Urgency: Wishlist
443 Description: Draw a font / support color fonts
444  The vlc currently uses an ugly font to display its data on the output
445  window, and we have a slow hack to make it outlined. Writing our own
446  font, or adding support for color fonts, would make us gain some time.
447 Status: Todo
448
449 Task: 0x27
450 Difficulty: Medium
451 Urgency: Important
452 Description: Layer 2 mono support
453  The vlc doesn't play layer 2 mono yet. We need it since a few of our
454  streams are in this audio format.
455 Status: Done 18 Dec 2000 (sam)
456
457 Task: 0x26
458 Difficulty: Hard
459 Urgency: Wishlist
460 Description: MP3 support
461  The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
462 Status: Done 10 May 2002 (fenrir)
463
464 Task: 0x25
465 Difficulty: Hard
466 Urgency: Normal
467 Description: Support for unencapsulated streams
468  Some streams are not encapsulated in PES/PS or TS packets, which the
469  vlc currently requires to properly decode a stream. Adding support for
470  this would require to rewrite the input code, and probably make it a
471  plugin.
472 Status: Done 1 Mar 2002 (Meuuh)
473
474 Task: 0x24
475 Difficulty: Guru
476 Urgency: Wishlist
477 Description: Ogg/Vorbis audio decoder support
478  The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
479  MP3 format. The system packets are quite different than the MPEG ones, so
480  adding support for it would require a lot of code rewrite.
481 Status: Done 24 Nov 2002 (gbazin)
482
483 Task: 0x23
484 Difficulty: Guru
485 Urgency: Normal
486 Description: Xv video output support
487  XFree 4.0 provides the Xv interface which can do hardware YUV on supported
488  hardware. Unfortunately, there doesn't seem to be much documentation
489  available.
490 Status: Done 1 Apr 2001 (shane)
491
492 Task: 0x22
493 Difficulty: Medium
494 Urgency: Normal
495 Description: SDL video output support
496  The Simple DirectMedia Layer library is a generic API that provides
497  YUV acceleration on some platforms. More information can be found
498  on http://www.devolution.com/~slouken/SDL/
499 Status: Done 21 Aug 2000 (octplane)
500
501 Task: 0x21
502 Difficulty: Medium
503 Urgency: Normal
504 Description: Implement pause
505  There is no real `pause' command yet. Pausing just stops
506  displaying and sound playback, but the streams continues to
507  be decoded. One will have to do a file implementation as
508  well as a network implementation.
509 Status: Done 8 Feb 2001 (Meuuh)
510
511 Task: 0x20
512 Difficulty: Hard
513 Urgency: Important
514 Description: Rewrite input for Program Stream files
515  Currently when we read a PS file, it is first translated to TS
516  because we first had only PS support. Now time has come to get
517  rid of this ugly kludge and integrate a proper PS input.
518 Status: Done 5 Dec 2000 (Meuuh) because of Input II
519
520 Task: 0x1f
521 Difficulty: Hard
522 Urgency: Normal
523 Description: DeCSS and DVD ioctls
524  The vlc needs the DVD ioctls support as well as the integration
525  of DeCSS to play DVDs properly. The person doing this should
526  probably not live in a country where DeCSS has been ruled illegal.
527 Status: Done 20 Jan 2001 (stef)
528
529 Task: 0x1e
530 Difficulty: Hard
531 Urgency: Wishlist
532 Description: ASCII-art output
533  For the ones who don't know how to waste their time, they can
534  try to do an ASCII-art output plugin.
535 Status: Done 19 Mar 2002 (Sigmund Augdal)
536
537 Task: 0x1d
538 Difficulty: Hard
539 Urgency: Normal
540 Description: LPCM decoder
541  The LPCM decoder is full of stubs, it only parses the stream
542  but does not decode it. Fix this.
543 Status: Done 12 Jun 2001 (henri)
544
545 Task: 0x1c
546 Difficulty: Guru
547 Urgency: Important
548 Description: Fix field pictures support
549  Some MPEG2 streams are interleaved, and the vlc does not support
550  this very well. Adding support for them requires an excellent
551  knowledge of the MPEG2 papers.
552 Status: Done 23 Aug 2000 (Meuuh)
553
554 Task: 0x1b
555 Difficulty: Hard
556 Urgency: Wishlist
557 Description: Modularize decoder
558  Make the decoder a plugin, so that two versions can coexist
559  without recompilation (MMX and non-MMX).
560 Status: Done 16 Jan 2001 (sam)
561
562 Task: 0x1a
563 Difficulty: Easy
564 Urgency: Normal
565 Description: Make interface more responsive
566  When in "waiting for stream" mode, the interface is refreshed
567  every 5 seconds. This is too long, and can be confusing for
568  the user. Make it refresh at least after a keyboard/mouse event.
569 Status: Done 28 Aug 2000 (oct)
570
571 Task: 0x19
572 Difficulty: Hard
573 Urgency: Normal
574 Description: Support MP1 and MP3
575  The vlc does not support all MPEG1 audio formats yet, nor
576  does it support MPEG1/2 layer 3.
577 Status: Done 18 Dec 2000 (sam) but see 0x25
578
579 Task: 0x18
580 Difficulty: Guru
581 Urgency: Wishlist
582 Description: Split interface/video_output
583  The interface and the vout modules are too dependant, which
584  makes it impossible to run the Glide output with the Gnome
585  interface for instance. This will require a major rewrite of
586  the interface, and a solid knowledge of how the vlc internals
587  work.
588 Status: Done 11 Feb 2001 (sam)
589
590 Task: 0x17
591 Difficulty: Hard
592 Urgency: Normal
593 Description: Add 24bpp YUV
594  There is no 24bpp support yet. Add it, either in MMX
595  or in C.
596 Status: Done 17 Mar 2002 (sam)
597
598 Task: 0x16
599 Difficulty: Medium
600 Urgency: Important
601 Description: Fix 8bpp YUV
602  The 8bpp YUV function is broken, there is some serious
603  alpha blending, and it scales pretty badly. Fix it.
604 Status: Done 14 Aug 2000 (sam)
605
606 Task: 0x15
607 Difficulty: Medium
608 Urgency: Critical
609 Description: Fix input_file exit
610  input_file does not exit cleanly when the file is finished,
611  which makes it impossible to quit the vlc. Fix it.
612 Status: Done 21 Aug 2000 (sam)
613
614 Task: 0x14
615 Difficulty: Guru
616 Urgency: Wishlist
617 Description: Debug MPEG1 video
618  The MPEG1 support has been done, but it still crashes.
619 Status: Done 23 Oct 2000 (Meuuh)
620
621 Task: 0x13
622 Difficulty: Hard
623 Urgency: Wishlist
624 Description: Support MPEG1 timecodes
625  The vlc can parse an MPEG1 system stream, but the parsed
626  PCR values do not seem to be correct. Check what's wrong.
627 Status: Done 5 Dec 2000 (Meuuh) because of Input II
628
629 Task: 0x12
630 Difficulty: Medium
631 Urgency: Important
632 Description: Fix 32bpp MMX YUV
633  The MMX 32bpp YUV function is buggy.
634 Status: Done 13 Aug 2000 (sam)
635
636 Task: 0x11
637 Difficulty: Hard
638 Urgency: Normal
639 Description: Optimize YUV scaling
640  The YUV scaling method does not seem very efficient. Perhaps
641  some CPU cycles can be gained by saving some buffers.
642 Status: Done (sam) because of vout 4
643
644 Task: 0x10
645 Difficulty: Easy
646 Urgency: Normal
647 Description: Draw a vlc icon
648  The vlc needs an icon. It should render well in 48x48 but
649  can be any size.
650 Status: Done 11 Apr 2001 (sam)
651
652 Task: 0x0f
653 Difficulty: Easy
654 Urgency: Normal
655 Description: Better black&white support
656  When in B&W mode, the chroma part of pictures is decoded,
657  but it would be more efficient not to decode at all when
658  the video decoder knows it does not need to.
659 Status: Done 25 Oct 2000 (reno)
660
661 Task: 0x0e
662 Difficulty: Easy
663 Urgency: Wishlist
664 Description: Rename channel names
665  Channels should start from 1 (not 0) like on a VCR or TV,
666  and Channel 0 should be renamed to "Playlist" or similar.
667 Status: Done
668
669 Task: 0x0d
670 Difficulty: Medium
671 Urgency: Important
672 Description: Framebuffer exit bug
673  When the vlc abnormally exits in framebuffer mode, it leaves
674  the console in an unusable state. This does not happen on
675  the Matrox framebuffer, but it does on the VESA one.
676 Status: Done 18 Feb 2001 (sam)
677
678 Task: 0x0c
679 Difficulty: Hard
680 Urgency: Critical
681 Description: Fix synchro
682  The synchronization algorithm sucks a bit. While it is
683  quite efficient on frameskipping on slow machines, it
684  is not smart enough on fast machines and does not detect
685  when it has enough time for a frame. Perhaps a better
686  handling of the dates might help.
687 Status: Done 13 Nov 2000 (Meuuh)
688
689 Task: 0x0b
690 Difficulty: Medium
691 Urgency: Important
692 Description: Allow to force synchro
693  Add a --force-synchro option to bypass the auto-adaptative
694  algorithm present in the vlc. Options should allow displaying
695  only I frames, only I and P, or all frames, or some more
696  fancy stuff such as half the Bs.
697 Status: Done 8 Aug 2000 (sam)
698
699 Task: 0x0a
700 Difficulty: Medium
701 Urgency: Important
702 Description: Do separate packages
703  The plugins can be compiled with specific libraries, such
704  as Gnome, GGI, Esound. Putting all of them in the same
705  package would require a lot of useless dependencies, thus
706  one should do separate packages: a core "vlc" package, and
707  "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
708  core package.
709 Status: Done 15 Aug 2000 (sam)
710
711 Task: 0x09
712 Difficulty: Easy
713 Urgency: Normal
714 Description: Get rid of dumb vlc aliases
715  When compiling the vlc, some symlinks to the main app
716  are created, such as gvlc, ggivlc, etc. Actually this
717  might confuse the user, so they should be removed,
718  except perhaps gvlc and fbvlc which follow a usual
719  naming scheme.
720 Status: Done 8 Aug 2000 (sam)
721
722 Task: 0x08
723 Difficulty: Easy
724 Urgency: Important
725 Description: Get rid of floating instructions
726  Mixing floating instructions and MMX is seldom a good idea,
727  it might be interesting to remove all floating instructions
728  in a single thread. The audio decoders are of course not
729  concerned by this task.
730 Status: Done (sam)
731
732 Task: 0x07
733 Difficulty: Hard
734 Urgency: Critical
735 Description: Fix VDEC_SMP segfaults
736  When compiled to support SMP, the vlc segfaults. The synchro
737  code lacks locks, but there might be bugs elsewhere as well.
738 Status: Done 16 Nov 2000 (Meuuh)
739
740 Task: 0x06
741 Difficulty: Guru
742 Urgency: Important
743 Description: Optimize video parser
744  The video parser has some speed issues currently unexplained:
745  even though most functions are inlined, it keeps eating more
746  CPU than it should. This has to be investigated.
747 Status: Done 5 Dec 2000 (Meuuh) because of Input II
748
749 Task: 0x05
750 Difficulty: Easy
751 Urgency: Important
752 Description: Backport vlms input
753  The vlc uses the same file input code as the vlms (VideoLAN
754  Mini Server) which has been much improved. Someone should
755  port modifications done to the vlms back to the vlc.
756 Status: Done 5 Dec 2000 (Meuuh) because of Input II
757
758 Task: 0x04
759 Difficulty: Medium
760 Urgency: Normal
761 Description: Get rid of vlc.channels
762  The file vlc.channels should be removed and information
763  found in it put either into ~/.vlcrc or in another rc
764  file. Note that this file can be modified by the vlc.
765 Status: Done 9 Dec 2001 (sam)
766
767 Task: 0x03
768 Difficulty: Hard
769 Urgency: Important
770 Description: Playlist API
771  Currently only files given in the command line are played,
772  one after the other. We need a smarter way to handle this,
773  through AddFile(), MoveFile(), etc. functions. input_file
774  has to be modified to support this as well.
775 Status: Done 8 Feb 2001 (sam)
776
777 Task: 0x02
778 Difficulty: Medium
779 Urgency: Normal
780 Description: Better Gnome interface
781  The Gnome interface has many stubs and is actually rather
782  unfunctional. Someone should make the buttons work when
783  the appropriate hooks exist.
784 Status: Done 12 Feb 2001 (sam)
785
786 Task: 0x01
787 Difficulty: Hard
788 Urgency: Wishlist
789 Description: MGA YUV
790  The Matrox acceleration for the vlc does not work yet,
791  though there are initialization routines in the code.
792 Status: Done 15 Jan 2002 (sam)
793
794 Task: 0x00
795 Difficulty: Medium
796 Urgency: Wishlist
797 Description: Splash screen
798  The vlc needs a splash screen with a vlc logo, instead of
799  the "waiting for stream" message.
800 Status: Todo
801