X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=TODO;h=743db5d050a2ac7f8568f86337f8c108f41778bd;hb=b6b3428aab2e3b7fcc72f823bacd2d6e3475c73d;hp=954f1e21dda1fab0e6f3f2664fd7fa8e7b24cc20;hpb=884bfabe2789a8189f9cc8f1e4b537f559633e99;p=vlc diff --git a/TODO b/TODO index 954f1e21dd..743db5d050 100644 --- a/TODO +++ b/TODO @@ -1,533 +1,12 @@ -# -# vlc tasks -# --------- -# -# +# VLC Todo # Difficulty values: Easy, Medium, Hard, Guru # # Urgency values: Wishlist, Normal, Important, Critical -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: Todo - -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: Todo - -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: Todo - -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: 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: 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