]> git.sesse.net Git - vlc/blobdiff - TODO
* Updated
[vlc] / TODO
diff --git a/TODO b/TODO
index ca711819ae07136b7cd860fe289bc346ff551100..743db5d050a2ac7f8568f86337f8c108f41778bd 100644 (file)
--- a/TODO
+++ b/TODO
-#
-#   vlc tasks
-#   ---------
-#
-#
+# VLC Todo
 # Difficulty values: Easy, Medium, Hard, Guru
 #
 # Urgency values: Wishlist, Normal, Important, Critical
 
-Task: 0x35
-Difficulty: Medium
-Urgency: Important
-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
-
-Task: 0x34
-Difficulty: Medium
-Urgency: Important
-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
-
-Task: 0x33
-Difficulty: Hard
-Urgency: Important
-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
-
-Task: 0x32
-Difficulty: Medium
-Urgency: Important
-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
-
-Task: 0x31
-Difficulty: Easy
-Urgency: Normal
-Description: Optimize SPU rendering
- There is an if() in the SPU display routine to double lines when needed,
- whiwh is rather inefficient. It should be removed and put outside
- the main loop.
-Status: Todo.
-
-Task: 0x30
-Difficulty: Hard
-Urgency: Important
-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
-
-Task: 0x29
-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
-
-Task: 0x28
-Difficulty: Guru
-Urgency: Wishlist
-Description: Support for RTP
- RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
- versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
- and 2508 (compressed RTP) can be interesting as well.
-Status: Todo
-
-Task: 0x27
-Difficulty: Medium
-Urgency: Wishlist
-Description: Draw a font / support color fonts
- The vlc currently uses an ugly font to display its data on the output
- window, and we have a slow hack to make it outlined. Writing our own
- font, or adding support for color fonts, would make us gain some time.
-Status: Todo
-
-Task: 0x26
-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
-
-Task: 0x25
-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
-Difficulty: Hard
-Urgency: Normal
-Description: Support for unencapsulated streams
- Some streams are not encapsulated in PES/PS or TS packets, which the
- 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
-
-Task: 0x24
-Difficulty: Guru
-Urgency: Wishlist
-Description: Ogg/Vorbis audio decoder support
- The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
- MP3 format. The system packets are quite different than the MPEG ones, so
- adding support for it would require a lot of code rewrite.
-Status: Todo
-
-Task: 0x23
-Difficulty: Guru
-Urgency: Normal
-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
-
-Task: 0x22
-Difficulty: Medium
-Urgency: Normal
-Description: SDL video output support
- The Simple DirectMedia Layer library is a generic API that provides
- YUV acceleration on some platforms. More information can be found
- on http://www.devolution.com/~slouken/SDL/
-Status: Todo
-
-Task: 0x21
-Difficulty: Medium
-Urgency: Normal
-Description: Implement pause
- There is no real `pause' command yet. Pausing just stops
- 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
-
-Task: 0x20
-Difficulty: Hard
-Urgency: Important
-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
-
-Task: 0x1f
-Difficulty: Hard
-Urgency: Normal
-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
-
-Task: 0x1e
-Difficulty: Hard
-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
-
-Task: 0x1d
-Difficulty: Hard
-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
-
-Task: 0x1c
-Difficulty: Guru
-Urgency: Important
-Description: Fix field pictures support
- Some MPEG2 streams are interleaved, and the vlc does not support
- this very well. Adding support for them requires an excellent
- knowledge of the MPEG2 papers.
-Status: Todo
-
-Task: 0x1b
-Difficulty: Hard
-Urgency: Wishlist
-Description: Modularize decoder
- Make the decoder a plugin, so that two versions can coexist
- without recompilation (MMX and non-MMX).
-Status: Todo
-
-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
-
-Task: 0x19
-Difficulty: Hard
-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.
-
-Task: 0x18
-Difficulty: Guru
-Urgency: Wishlist
-Description: Split interface/video_output
- The interface and the vout modules are too dependant, which
- makes it impossible to run the Glide output with the Gnome
- interface for instance. This will require a major rewrite of
- the interface, and a solid knowledge of how the vlc internals
- work.
-Status: Todo
-
-Task: 0x17
-Difficulty: Hard
-Urgency: Normal
-Description: Add 24bpp YUV
- There is no 24bpp support yet. Add it, either in MMX
- or in C.
-Status: Todo
-
-Task: 0x16
-Difficulty: Medium
-Urgency: Important
-Description: Fix 8bpp YUV
- The 8bpp YUV function is broken, there is some serious
- alpha blending, and it scales pretty badly. Fix it.
-Status: Done 14 Aug 2000 (sam)
-
-Task: 0x15
-Difficulty: Medium
-Urgency: Critical
-Description: Fix input_file exit
- input_file does not exit cleanly when the file is finished,
- which makes it impossible to quit the vlc. Fix it.
-Status: Done 21 Aug 2000 (sam)
-
-Task: 0x14
-Difficulty: Guru
-Urgency: Wishlist
-Description: Debug MPEG1 video
- The MPEG1 support has been done, but it still crashes.
-Status: Todo
-
-Task: 0x13
-Difficulty: Hard
-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
-
-Task: 0x12
-Difficulty: Medium
-Urgency: Important
-Description: Fix 32bpp MMX YUV
- The MMX 32bpp YUV function is buggy.
-Status: Done 13 Aug 2000 (sam)
-
-Task: 0x11
-Difficulty: Hard
-Urgency: Normal
-Description: Optimize YUV scaling
- The YUV scaling method does not seem very efficient. Perhaps
- some CPU cycles can be gained by saving some buffers.
-Status: Todo
-
-Task: 0x10
-Difficulty: Easy
-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
-
-Task: 0x0f
-Difficulty: Easy
-Urgency: Normal
-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
-
-Task: 0x0e
-Difficulty: Easy
-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
-
-Task: 0x0d
-Difficulty: Medium
-Urgency: Important
-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
-
-Task: 0x0c
-Difficulty: Hard
-Urgency: Critical
-Description: Fix synchro
- The synchronization algorithm sucks a bit. While it is
- quite efficient on frameskipping on slow machines, it
- 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
-
-Task: 0x0b
-Difficulty: Medium
-Urgency: Important
-Description: Allow to force synchro
- Add a --force-synchro option to bypass the auto-adaptative
- algorithm present in the vlc. Options should allow displaying
- only I frames, only I and P, or all frames, or some more
- fancy stuff such as half the Bs.
-Status: Done 8 Aug 2000 (sam)
-
-Task: 0x0a
-Difficulty: Medium
-Urgency: Important
-Description: Do separate packages
- The plugins can be compiled with specific libraries, such
- as Gnome, GGI, Esound. Putting all of them in the same
- package would require a lot of useless dependencies, thus
- one should do separate packages: a core "vlc" package, and
- "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
- core package.
-Status: Done 15 Aug 2000 (sam)
-
-Task: 0x09
-Difficulty: Easy
-Urgency: Normal
-Description: Get rid of dumb vlc aliases
- When compiling the vlc, some symlinks to the main app
- are created, such as gvlc, ggivlc, etc. Actually this
- might confuse the user, so they should be removed,
- except perhaps gvlc and fbvlc which follow a usual
- naming scheme.
-Status: Done 8 Aug 2000 (sam)
-
-Task: 0x08
-Difficulty: Easy
-Urgency: Important
-Description: Get rid of floating instructions
- Mixing floating instructions and MMX is seldom a good idea,
- 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
-
-Task: 0x07
-Difficulty: Hard
-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
-
-Task: 0x06
-Difficulty: Guru
-Urgency: Important
-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
-
-Task: 0x05
-Difficulty: Easy
-Urgency: Important
-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
-
-Task: 0x04
-Difficulty: Medium
-Urgency: Normal
-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
-
-Task: 0x03
-Difficulty: Hard
-Urgency: Important
-Description: Playlist API
- Currently only files given in the command line are played,
- 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
-
-Task: 0x02
-Difficulty: Medium
-Urgency: Normal
-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
-
-Task: 0x01
-Difficulty: Hard
-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
-
-Task: 0x00
-Difficulty: Medium
-Urgency: Wishlist
-Description: Splash screen
- The vlc needs a splash screen with a vlc logo, instead of
- the "waiting for stream" message.
-Status: Todo
+# This file is deprecated
+# Please use https://developers.videolan.org/cgi-bin/trac.cgi/
+# Every developer with an SVN account can access Trac with the same credentials
 
 
+# Do not remove me
+Task