]> git.sesse.net Git - vlc/blobdiff - TODO
* updated INSTALL.win32
[vlc] / TODO
diff --git a/TODO b/TODO
index 2586b9dfe8e0df49e5489d7caccc7e8308cdf4c1..3545c770d1a6f5253c3fe976e6423e711039edbb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,6 +7,313 @@
 #
 # Urgency values: Wishlist, Normal, Important, Critical
 
+Task: 0x5e
+Difficulty: Hard
+Urgency: Wishlist
+Description: All-in-one interface window
+ Find a way for the interface plugin to provide video output capabilities
+ and have it display the stream in the same window.
+Status: Todo
+
+Task: 0x5d
+Difficulty: Guru
+Urgency: Normal
+Description: Win32 port
+ Win32 is probably the most common desktop platform, we should support it
+ as well. Besides, most students at Centrale use Windows and VideoLAN was
+ originally designed for them.
+Status: Done 26 Apr 2001 (gbazin)
+
+Task: 0x5c
+Difficulty: Medium
+Urgency: Wishlist
+Description: Infrared support
+ Write a plugin which listens to the infrared port and sends appropriate
+ commands to the application. This can either be an interface plugin, or,
+ preferably, a new kind of interface-agnostic "command" plugin.
+Status: Done 6 Feb 2002 (Sigmund Augdal)
+
+Task: 0x5b
+Difficulty: Hard
+Urgency: Critical
+Description: Fix the FreeBSD port
+ The FreeBSD port of vlc doesn't run, probably because of a pthread
+ issue. This should be investigated.
+Status: Done 19 Jul 2001 (Øyvind Kolbu <oyvindk@world-online.no>)
+
+Task: 0x5a
+Difficulty: Hard
+Urgency: Wishlist
+Description: Share stream information between vlc and vls
+ vls should send misc TS packets to let us know what the stream PID
+ contain, such as the language, or the subtitle palette.
+Status: Todo
+
+Task: 0x59
+Difficulty: Hard
+Urgency: Important
+Description: Cope with vls/vlc clock jitter
+ The internal clocks of the server and the client are not assured to be
+ in perfect synchronization, which may be annoying when playing a movie.
+ Reduce this jitter by using a well-chosen filter.
+Status: Done 1 May 2001 (henri)
+
+Task: 0x58
+Difficulty: Medium
+Urgency: Critical
+Description: Language and subtitles selection in network input
+ The vls will probably have to be modified as well.
+Status: Done (henri)
+
+Task: 0x57
+Difficulty: Guru
+Urgency: Normal
+Description: Full DVD navigation
+ Once the core DVD navigation features are ready (see item 0x52), port the
+ interface and video output modules so that they can handle it.
+Status: Todo
+
+Task: 0x56
+Difficulty: Hard
+Urgency: Normal
+Description: XVideo video output
+ XVideo is reported to work a bit better than the SDL wrapper on some
+ configurations. Modify the X11 plugin so that it supports XVideo.
+Status: Done 1 Apr 2001 (shane)
+
+Task: 0x55
+Difficulty: Hard
+Urgency: Critical
+Description: Video output IV
+ The new video output should support subtitles both in software and hardware
+ YUV (see item 0x4d). One should also care about XVideo buffers, there is a
+ way to directly decode into them, which would improve performances.
+Status: Done 9 Dec 2001 (sam)
+
+Task: 0x54
+Difficulty: Hard
+Urgency: Wishlist
+Description: Hardware AC3 decoding
+ Some soundcards directly grok Dolby AC3. This would spare a lot of CPU time.
+Status: Done (stef)
+
+Task: 0x53
+Difficulty: Medium
+Urgency: Critical
+Description: Fix AC3 decoder
+ The AC3 decoder still has a few quality issues; fix them, and try to add
+ MMX support to it as well.
+Status: Done 15 June 2001 (reno)
+
+Task: 0x52
+Difficulty: Guru
+Urgency: Normal
+Description: DVD navigation core features
+ We need an interpreter for the DVD virtual machine to make it easier to
+ browse DVDs later.
+Status: Todo
+
+Task: 0x51
+Difficulty: Easy
+Urgency: Normal
+Description: Better subtitle color handling
+ The subtitle palette is pretty ugly for the moment, since we don't parse
+ the color information. Find it in the IFO file and pass the information to
+ the video output.
+Status: Done 15 Mar 2002 (sam)
+
+Task: 0x50
+Difficulty: Hard
+Urgency: Critical
+Description: Multi-angle multi-language support
+ Some DVDs have several languages encoded in the same video stream, we
+ need to properly parse them.
+Status: Done 22 Apr 2001 (stef)
+
+Task: 0x4f
+Difficulty: Hard
+Urgency: Critical
+Description: Fix all known DVD playback issues
+ A few DVDs are still reported not to work at all. Try to find what is
+ causing this, have a more robust DVD input, and list all discs reported
+ to work flawlessly to prevent bug regression.
+Status: Todo
+
+Task: 0x4e
+Difficulty: Hard
+Urgency: Important
+Description: Write stream zones support
+ For random access we need to know where stream descriptors are valid
+ and reside (essentially DVD plugin).
+Status: Done (stef)
+
+Task: 0x4d
+Difficulty: Hard
+Urgency: Normal
+Description: Write subtitles and stream information in YUV coordinates
+ ... so that they can be displayed even in "overlay" mode.
+Status: Done (sam)
+
+Task: 0x4c
+Difficulty: Medium
+Urgency: Normal
+Description: Update documentation
+ The input structures have undergone a major restructuration with
+ input-II. It might be a good idea to reflect thoses changes in the
+ documentation.
+Status: Done 16 Jul 2001 (Meuuh)
+
+Task: 0x4b
+Difficulty: Guru
+Urgency: Normal
+Description: Write AVI input plugin
+ .avi files can use MPEG codec, if this is the case it shouldn't be
+ hard to read those files -> Meuuh
+Status: Todo
+
+Task: 0x4a
+Difficulty: Medium
+Urgency: Normal
+Description: Write ES input plugin
+ We need to be able to read .mpg video streams, or .mp* audio streams.
+Status: Done 27 Jun 2001 (Meuuh)
+
+Task: 0x49
+Difficulty: Easy
+Urgency: Important
+Description: Write a new buffer allocator
+ Avoid malloc()s by reusing the recently released packets. More
+ information -> Meuuh
+Status: Done 16 Apr 2001 (asmax)
+
+Task: 0x48
+Difficulty: Hard
+Urgency: Critical
+Description: Fix audio synchro
+ With some audio plugins, the audio stream is late because of buffer
+ sizes. See what's wrong and fix it.
+Status: Done 12 July 2001 (reno)
+
+Task: 0x47
+Difficulty: Hard
+Urgency: Normal
+Description: Make decoders dynamically loadable
+Status: Done 05 October 2001 (henri)
+
+Task: 0x46
+Difficulty: Hard
+Urgency: Normal
+Description: Make input plugins dynamically loadable
+ With a probe() function, and stuff...
+Status: Done 7 Feb 2001 (sam)
+
+Task: 0x45
+Difficulty: Guru
+Urgency: Normal
+Description: Write DVD plugin
+ We need a DVD plugin which read the device directly, calls DeCSS
+ (optional) and parse .ifo files.
+Status: Done 8 Feb 2001 (stef)
+
+Task: 0x44
+Difficulty: Guru
+Urgency: Important
+Description: Write input_ext-intf.c
+ This file will provide functions which allow the interface to change
+ the pace of reading and change the position in the file.
+Status: Done 8 Feb 2001 (Meuuh)
+
+Task: 0x43
+Difficulty: Medium
+Urgency: Important
+Description: Write TS support
+ The parser has already been back-ported, but it still lacks the
+ PSI parser, and currently the functions to read from the network
+ are yet to be written.
+Status: Done 7 Mar 2001 (henri)
+
+Task: 0x42
+Difficulty: Medium
+Urgency: Important
+Description: Write input_netlist.c
+ We need an interface to create fixed-size packets (for instance
+ 188 bytes or 2 kB) and avoid using the system malloc().
+Status: Done 23 Jan 2001 (henri)
+
+Task: 0x41
+Difficulty: Easy
+Urgency: Important
+Description: Write input_programs.c
+ We need a centralized manner of creating new programs, es, and
+ spawning new decoders.
+Status: Done 20 Dec 2000 (Meuuh)
+
+Task: 0x40
+Difficulty: Medium
+Urgency: Important
+Description: Fix the PS plugin
+ The PS plugin should be able to recover from packet loss, to
+ read MPEG-1 .mpg files, and to pre-parse the stream (if possible)
+ to build the ES table. Check what's wrong and fix it. Now.
+Status: Done 20 Dec 2000 (Meuuh)
+
+Task: 0x3f
+Difficulty: Easy
+Urgency: Critical
+Description: Enhance intf_*Msg
+ The intf_*Msg functions could be more clever : add "mymodule
+ warning/error:" and \n automatically. The new input already
+ uses such a behaviour, so we must hurry. It might be necessary
+ to modify all messages in all modules...
+Status: Done 20 Dec 2000 (sam)
+
+Task: 0x3e
+Difficulty: Guru
+Urgency: Critical
+Description: Fix backwards moves
+ Sometimes the frames seem to go backwards for a short period of
+ time. This is due to the output methods and is known to happen
+ with the x11 and SDL plugins.
+Status: Done 27 Nov 2000 (Meuuh)
+
+Task: 0x3d
+Difficulty: Easy
+Urgency: Normal
+Description: Have more statistics messages displayed
+ The vlc has structures to keep track of the interesting
+ events, but there is no way to print these structures. In stats
+ mode, we should print these structures regularly, or at quit
+ time (whichever is the more convenient).
+Status: Done 27 Nov 2000 (Meuuh)
+
+Task: 0x3c
+Difficulty: Easy
+Urgency: Important
+Description: Separate optimizations from debug mode
+ We sometimes want to have the debug mode (which writes an
+ interesting log of debug messages) along with the compiler
+ optimizations (which allow decoding of more than 2 fps).
+Status: Done 18 Nov 2000 (Meuuh)
+
+Task: 0x3b
+Difficulty: Easy
+Urgency: Important
+Description: Write intf_WarnMsg and intf_StatMsg
+ We have intf_ErrMsg to display fatal errors, but warnings are
+ drowned in an ocean of unreadable intf_DbgMsg. Same for
+ statistics messages.
+Status: Done 23 Nov 2000 (Stef)
+
+Task: 0x3a
+Difficulty: Hard
+Urgency: Important
+Description: Support SDL Overlay
+ The SDL livrary has routines to use the video board to do the YUV
+ conversion, scaling and displaying. Using them will require a
+ partial rewrite of the video_output way of handling rendering
+ and displaying.
+Status: Done 18 Dec 2000 (bozo and oct)
+
 Task: 0x39
 Difficulty: Medium
 Urgency: Wishlist
@@ -14,6 +321,7 @@ Description: Rewrite the font display routines
  The current font display routines aren't powerful enough. There
  should be a way to display a big String at once, without needing
  to compute the size of the string and its coordinates beforehand.
+Status: Todo
 
 Task: 0x38
 Difficulty: Medium
@@ -22,7 +330,7 @@ Description: Make aout eat less CPU
  When the vlc is launched without a stream, the audio_output thread
  eats all memory, probably because there is no msleep() when no data
  is available in the audio_output queue.
-Status: Todo
+Status: Done (henri)
 
 Task: 0x37
 Difficulty: Guru
@@ -36,7 +344,7 @@ Status: Done 27 Aug 2000 (Meuuh)
 Task: 0x36
 Difficulty: Medium
 Urgency: Normal
- Description: 
+Description: Enhance the interface
  . Finish the new keyboard input interface to support 
    interfaces that allow modifiers. This will allow the SDL to run 
    properly.
@@ -47,7 +355,6 @@ Urgency: Normal
        what key ("control-C", what action (INTF...))
     - extend the interface by a specific struct (meta+modifier+ascii)
     - implement an interface specific getKey function.
-
 Status: Todo
 
 Task: 0x35
@@ -57,7 +364,7 @@ Description: Fix plugins namespace problem
  When compiling a plugin, all symbols seem to be exported, while we
  actually just need GetConfig and a few other things: the other
  functions are accessed through function pointers.
-Status: Todo
+Status: Done 10 Jan 2001 (sam)
 
 Task: 0x34
 Difficulty: Medium
@@ -66,7 +373,7 @@ Description: Fix plugin autoloading
  At the moment, plugins to be detected are hardcoded in the code. We
  need a better method to get all available plugins, by listing all the
  files in selected directories.
-Status: Todo
+Status: Done 7 Jan 2001 (sam)
 
 Task: 0x33
 Difficulty: Hard
@@ -75,7 +382,7 @@ Description: Real plugin API
  We need some functions to register plugins, automatically detect which
  ones are the most appropriate, as well as ways to express that plugin
  A won't work unless plugin B is activated as well.
-Status: Todo
+Status: Done 7 Jan 2001 (sam)
 
 Task: 0x32
 Difficulty: Medium
@@ -84,7 +391,7 @@ Description: Enable compiled-in plugins
  Some plugins may have their place inside the main program, such as the
  dummy plugin, or the beos plugin under BeOS. We should allow to link
  them with the main app.
-Status: Todo
+Status: Done 15 Apr 2001 (sam)
 
 Task: 0x31
 Difficulty: Easy
@@ -102,17 +409,26 @@ Description: SPU error recovery
  The SPU decoder does not behave very well when a packet is missed or when
  it gets the stream at the middle of an SPU packet. Make it more error-
  friendly.
-Status: Todo
+Status: Done 26 Feb 2001 (sam)
 
-Task: 0x29
+Task: 0x2b
+Difficulty: Hard
+Urgency: Wishlist
+Description: Shoot the TODO list on the web site
+ The TODO list on the web site hasn't been updated for months. We may
+ wonder then why the hell to we put a TODO list on the web site ? Maybe
+ we'd better shoot it in the head, that would make its suffering end.
+Status: Done 5 Mar 2001 (sam)
+
+Task: 0x2a
 Difficulty: Medium
 Urgency: Normal
 Description: ALSA audio output support
  ALSA is the Advanced Linux Sound Architecture and is believed to be
  technically superior to the usual OSS support found in the Linux kernel.
-Status: Todo
+Status: Done (henri)
 
-Task: 0x28
+Task: 0x29
 Difficulty: Guru
 Urgency: Wishlist
 Description: Support for RTP
@@ -121,7 +437,7 @@ Description: Support for RTP
  and 2508 (compressed RTP) can be interesting as well.
 Status: Todo
 
-Task: 0x27
+Task: 0x28
 Difficulty: Medium
 Urgency: Wishlist
 Description: Draw a font / support color fonts
@@ -130,22 +446,22 @@ Description: Draw a font / support color fonts
  font, or adding support for color fonts, would make us gain some time.
 Status: Todo
 
-Task: 0x26
+Task: 0x27
 Difficulty: Medium
 Urgency: Important
 Description: Layer 2 mono support
  The vlc doesn't play layer 2 mono yet. We need it since a few of our
  streams are in this audio format.
-Status: Todo
+Status: Done 18 Dec 2000 (sam)
 
-Task: 0x25
+Task: 0x26
 Difficulty: Hard
 Urgency: Wishlist
 Description: MP3 support
  The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
 Status: Todo
 
-Task: 0x24
+Task: 0x25
 Difficulty: Hard
 Urgency: Normal
 Description: Support for unencapsulated streams
@@ -153,7 +469,7 @@ Description: Support for unencapsulated streams
  vlc currently requires to properly decode a stream. Adding support for
  this would require to rewrite the input code, and probably make it a
  plugin.
-Status: Todo
+Status: Done 1 Mar 2002 (Meuuh)
 
 Task: 0x24
 Difficulty: Guru
@@ -171,7 +487,7 @@ Description: Xv video output support
  XFree 4.0 provides the Xv interface which can do hardware YUV on supported
  hardware. Unfortunately, there doesn't seem to be much documentation
  available.
-Status: Todo
+Status: Done 1 Apr 2001 (shane)
 
 Task: 0x22
 Difficulty: Medium
@@ -190,7 +506,7 @@ Description: Implement pause
  displaying and sound playback, but the streams continues to
  be decoded. One will have to do a file implementation as
  well as a network implementation.
-Status: Todo
+Status: Done 8 Feb 2001 (Meuuh)
 
 Task: 0x20
 Difficulty: Hard
@@ -199,7 +515,7 @@ Description: Rewrite input for Program Stream files
  Currently when we read a PS file, it is first translated to TS
  because we first had only PS support. Now time has come to get
  rid of this ugly kludge and integrate a proper PS input.
-Status: Todo
+Status: Done 5 Dec 2000 (Meuuh) because of Input II
 
 Task: 0x1f
 Difficulty: Hard
@@ -208,7 +524,7 @@ Description: DeCSS and DVD ioctls
  The vlc needs the DVD ioctls support as well as the integration
  of DeCSS to play DVDs properly. The person doing this should
  probably not live in a country where DeCSS has been ruled illegal.
-Status: Todo
+Status: Done 20 Jan 2001 (stef)
 
 Task: 0x1e
 Difficulty: Hard
@@ -216,7 +532,7 @@ Urgency: Wishlist
 Description: ASCII-art output
  For the ones who don't know how to waste their time, they can
  try to do an ASCII-art output plugin.
-Status: Todo
+Status: Done 19 Mar 2002 (Sigmund Augdal)
 
 Task: 0x1d
 Difficulty: Hard
@@ -224,7 +540,7 @@ Urgency: Normal
 Description: LPCM decoder
  The LPCM decoder is full of stubs, it only parses the stream
  but does not decode it. Fix this.
-Status: Todo
+Status: Done 12 Jun 2001 (henri)
 
 Task: 0x1c
 Difficulty: Guru
@@ -241,17 +557,16 @@ Urgency: Wishlist
 Description: Modularize decoder
  Make the decoder a plugin, so that two versions can coexist
  without recompilation (MMX and non-MMX).
-Status: Todo
+Status: Done 16 Jan 2001 (sam)
 
 Task: 0x1a
 Difficulty: Easy
 Urgency: Normal
 Description: Make interface more responsive
-Status: Todo
  When in "waiting for stream" mode, the interface is refreshed
  every 5 seconds. This is too long, and can be confusing for
  the user. Make it refresh at least after a keyboard/mouse event.
-Status: Todo
+Status: Done 28 Aug 2000 (oct)
 
 Task: 0x19
 Difficulty: Hard
@@ -259,6 +574,7 @@ Urgency: Normal
 Description: Support MP1 and MP3
  The vlc does not support all MPEG1 audio formats yet, nor
  does it support MPEG1/2 layer 3.
+Status: Done 18 Dec 2000 (sam) but see 0x25
 
 Task: 0x18
 Difficulty: Guru
@@ -269,7 +585,7 @@ Description: Split interface/video_output
  interface for instance. This will require a major rewrite of
  the interface, and a solid knowledge of how the vlc internals
  work.
-Status: Todo
+Status: Done 11 Feb 2001 (sam)
 
 Task: 0x17
 Difficulty: Hard
@@ -277,7 +593,7 @@ Urgency: Normal
 Description: Add 24bpp YUV
  There is no 24bpp support yet. Add it, either in MMX
  or in C.
-Status: Todo
+Status: Done 17 Mar 2002 (sam)
 
 Task: 0x16
 Difficulty: Medium
@@ -300,7 +616,7 @@ Difficulty: Guru
 Urgency: Wishlist
 Description: Debug MPEG1 video
  The MPEG1 support has been done, but it still crashes.
-Status: Todo
+Status: Done 23 Oct 2000 (Meuuh)
 
 Task: 0x13
 Difficulty: Hard
@@ -308,7 +624,7 @@ Urgency: Wishlist
 Description: Support MPEG1 timecodes
  The vlc can parse an MPEG1 system stream, but the parsed
  PCR values do not seem to be correct. Check what's wrong.
-Status: Todo
+Status: Done 5 Dec 2000 (Meuuh) because of Input II
 
 Task: 0x12
 Difficulty: Medium
@@ -331,7 +647,7 @@ Urgency: Normal
 Description: Draw a vlc icon
  The vlc needs an icon. It should render well in 48x48 but
  can be any size.
-Status: Todo
+Status: Done 11 Apr 2001 (sam)
 
 Task: 0x0f
 Difficulty: Easy
@@ -340,7 +656,7 @@ Description: Better black&white support
  When in B&W mode, the chroma part of pictures is decoded,
  but it would be more efficient not to decode at all when
  the video decoder knows it does not need to.
-Status: Todo
+Status: Done 25 Oct 2000 (reno)
 
 Task: 0x0e
 Difficulty: Easy
@@ -348,7 +664,7 @@ Urgency: Wishlist
 Description: Rename channel names
  Channels should start from 1 (not 0) like on a VCR or TV,
  and Channel 0 should be renamed to "Playlist" or similar.
-Status: Todo
+Status: Done
 
 Task: 0x0d
 Difficulty: Medium
@@ -357,7 +673,7 @@ Description: Framebuffer exit bug
  When the vlc abnormally exits in framebuffer mode, it leaves
  the console in an unusable state. This does not happen on
  the Matrox framebuffer, but it does on the VESA one.
-Status: Todo
+Status: Done 18 Feb 2001 (sam)
 
 Task: 0x0c
 Difficulty: Hard
@@ -368,7 +684,7 @@ Description: Fix synchro
  is not smart enough on fast machines and does not detect
  when it has enough time for a frame. Perhaps a better
  handling of the dates might help.
-Status: Todo
+Status: Done 13 Nov 2000 (Meuuh)
 
 Task: 0x0b
 Difficulty: Medium
@@ -411,7 +727,7 @@ Description: Get rid of floating instructions
  it might be interesting to remove all floating instructions
  in a single thread. The audio decoders are of course not
  concerned by this task.
-Status: Todo
+Status: Done (sam)
 
 Task: 0x07
 Difficulty: Hard
@@ -419,7 +735,7 @@ Urgency: Critical
 Description: Fix VDEC_SMP segfaults
  When compiled to support SMP, the vlc segfaults. The synchro
  code lacks locks, but there might be bugs elsewhere as well.
-Status: Todo
+Status: Done 16 Nov 2000 (Meuuh)
 
 Task: 0x06
 Difficulty: Guru
@@ -428,7 +744,7 @@ Description: Optimize video parser
  The video parser has some speed issues currently unexplained:
  even though most functions are inlined, it keeps eating more
  CPU than it should. This has to be investigated.
-Status: Todo
+Status: Done 5 Dec 2000 (Meuuh) because of Input II
 
 Task: 0x05
 Difficulty: Easy
@@ -437,7 +753,7 @@ Description: Backport vlms input
  The vlc uses the same file input code as the vlms (VideoLAN
  Mini Server) which has been much improved. Someone should
  port modifications done to the vlms back to the vlc.
-Status: Todo
+Status: Done 5 Dec 2000 (Meuuh) because of Input II
 
 Task: 0x04
 Difficulty: Medium
@@ -446,7 +762,7 @@ Description: Get rid of vlc.channels
  The file vlc.channels should be removed and information
  found in it put either into ~/.vlcrc or in another rc
  file. Note that this file can be modified by the vlc.
-Status: Todo
+Status: Done 9 Dec 2001 (sam)
 
 Task: 0x03
 Difficulty: Hard
@@ -456,7 +772,7 @@ Description: Playlist API
  one after the other. We need a smarter way to handle this,
  through AddFile(), MoveFile(), etc. functions. input_file
  has to be modified to support this as well.
-Status: Todo
+Status: Done 8 Feb 2001 (sam)
 
 Task: 0x02
 Difficulty: Medium
@@ -465,7 +781,7 @@ Description: Better Gnome interface
  The Gnome interface has many stubs and is actually rather
  unfunctional. Someone should make the buttons work when
  the appropriate hooks exist.
-Status: Todo
+Status: Done 12 Feb 2001 (sam)
 
 Task: 0x01
 Difficulty: Hard
@@ -473,7 +789,7 @@ Urgency: Wishlist
 Description: MGA YUV
  The Matrox acceleration for the vlc does not work yet,
  though there are initialization routines in the code.
-Status: Todo
+Status: Done 15 Jan 2002 (sam)
 
 Task: 0x00
 Difficulty: Medium
@@ -483,4 +799,3 @@ Description: Splash screen
  the "waiting for stream" message.
 Status: Todo
 
-