]> git.sesse.net Git - vlc/blobdiff - TODO
* backport of [11296]
[vlc] / TODO
diff --git a/TODO b/TODO
index b1f3bec63b70eca5766d25c49fbf8cc13e7835d4..743db5d050a2ac7f8568f86337f8c108f41778bd 100644 (file)
--- a/TODO
+++ b/TODO
-#
-#   vlc tasks
-#   ---------
-#
-#
+# VLC Todo
 # Difficulty values: Easy, Medium, Hard, Guru
 #
 # Urgency values: Wishlist, Normal, Important, Critical
 
-Task: 
-Difficulty: Medium
-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: Todo
-
-# input-II tasks, from the least important to the most important
-# (backwards order) :
-
-Task: 0x47
-Difficulty: Hard
-Urgency: Normal
-Description: Make decoders dynamically loadable
-Status: Todo
-
-Task: 0x46
-Difficulty: Hard
-Urgency: Normal
-Description: Make input plugins dynamically loadable
- With a probe() function, and stuff...
-Status: Todo
-
-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: Todo
-
-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: Todo
-
-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: Todo
-
-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: Todo
-
-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: Todo
-
-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: Todo
-
-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: Todo
-
-# end of input-II tasks, thanks for being with us
-
-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: Todo
-
-Task: 0x39
-Difficulty: Medium
-Urgency: Wishlist
-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
-Urgency: Important
-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
-
-Task: 0x37
-Difficulty: Guru
-Urgency: Important
-Description: Fix motion compensation bug
- The motion compensation still has a small bug which can be well
- noticed when there is a sudden color change, a few blocks remain
- visible on the screen.
-Status: Done 27 Aug 2000 (Meuuh)
-
-Task: 0x36
-Difficulty: Medium
-Urgency: Normal
- Description: 
- . Finish the new keyboard input interface to support 
-   interfaces that allow modifiers. This will allow the SDL to run 
-   properly.
- . Here are some details:
-   Allow any interface to have its own set of keys:
-    - allow the 'discovery' of the main interface of the binding 
-      created by each interface:
-       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
-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: Done 26 Aug 2000 (henri)
-
-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: 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: Todo
-
-Task: 0x2a
-Difficulty: Guru
-Urgency: Critical
-Description: Buy a new brain for Sam
- Sam likes to show that he is a good developer, and for a good developer
- hexadecimal notation really rules, though nobody really needs it. In this
- TODO list, Sam has forgotten that 0x29 + 1 != 0x30, but 0x2a ! So, please
- do something, and send your donations to sam@via.ecp.fr. Thanks for him.
-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: Done ( henri )
-
-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: Done 21 Aug 2000 (octplane)
-
-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: Done 23 Aug 2000 (Meuuh)
-
-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: Done 23 Oct 2000 (Meuuh)
-
-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: Done 13 Nov 2000 (Meuuh)
-
-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: Done 16 Nov 2000 (Meuuh)
-
-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