]> git.sesse.net Git - vlc/blobdiff - TODO
* TODO: clarification to some of the vout redesign issues
[vlc] / TODO
diff --git a/TODO b/TODO
index d0d660d1f8e2debfdc8411d9e8acf40a8fe648e8..2d4aac3f8416fca362dc526a129be761d86888b9 100644 (file)
--- a/TODO
+++ b/TODO
-#
-#   vlc tasks
-#   ---------
-#
-#
+# VLC Todo
 # Difficulty values: Easy, Medium, Hard, Guru
 #
 # Urgency values: Wishlist, Normal, Important, Critical
 
-Task: 0x21
+Task
+Difficulty: Easy
+Urgency: Critical
+Platform: any
+Description: World domination
+ We need to dominate the world
+Status: Todo
+
+Task
 Difficulty: Medium
+Platform: any
+Urgency: Wishlist
+Description: RAR/ZIP/... access
+ An access module that would be able to uncompress compressed files
+Status: Todo
+
+Task
+Difficulty: Easy
+Platform: any
+Urgency: Urgent
+Description: proper DVD controls
+Most importantly a proper button that will take you straight to the DVD menu.
+Status: Todo
+
+Task
+Difficulty: Easy
+Platform: Linux, Win32
+Urgency: Normal
+Description: Streaming wizard
+ Finish the streaming wizard
+Status: Assigned to zorglub
+
+Task
+Difficulty: Easy
+Platform: all
 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.
+Description: configure overview of modules
+ configure should report what it will and what it won't build, after it is done running.
 Status: Todo
 
-Task: 0x20
+Task
 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
+Platform: WinCE
+Urgency: Wishlist
+Description: WinCE port
+ A WinCE port for PocketPC and the likes. (95% finished)
+Status: Assigned to MixerAnderson
 
-Task: 0x1f
+Task
 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.
+Platform: any
+Description: Embedded video outputs
+ Embedded video outputs support
+Status: Assigned to gibalou
+
+Task
+Difficulty: Easy
+Urgency: Normal
+Platform: any
+Description: Multichannel downmixing
+5:1 to Stereo proper downmixing
 Status: Todo
 
-Task: 0x1e
+Task
+Difficulty: Guru
+Platform: any
+Urgency: Normal
+Description: Demux2 transition
+ Complete the transition to demux2, changing what is needed in dvd and dvb
+Status: Assigned to fenrir
+
+Task
+Difficulty: Guru
+Urgency: Normal
+Platform: any
+Description: Multi-acccess
+ Allow several access from an input thread to allow for multi-input
+Status: Assigned to fenrir
+
+Task
 Difficulty: Hard
+Urgency: Normal
+Platform: any
+Description: make everything UTF-8 based
+ Convert everything that deals with strings to a UTF-8 based system. Not very difficult, but needs a lot of checking, testing and allows for easy breakage.
+Status: Todo
+
+Task
+Difficulty: Medium
+Urgency: Wishlist
+Platform: any
+Description: OSD Icons
+ Make OSD Icons for Play/Pause/Stop
+Status: Assigned to yoann
+
+Task
+Difficulty: Medium
 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.
+Platform: any
+Description: Full blown OSD system 
In the line of freevo etc.
 Status: Todo
 
-Task: 0x1d
-Difficulty: Hard
+Task
+Difficulty: Medium
 Urgency: Normal
-Description: LPCM decoder
- The LPCM decoder is full of stubs, it only parses the stream
- but does not decode it. Fix this.
+Platform: any
+Description: Rewrite the SAP parser
+ The SAP parser is very dirty at the moment, and needs a complete rewrite.
+ - caching support
+ - sdp file support? (because live.com doesn't handle udp announces)
 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.
+Task
+Difficulty: Medium
+Urgency: Normal
+Platform: any
+Description: Tree playlist
+ A hierarchized playlist structure, eventually using a media library.
+Think playlist within playlist, directory structures, SAP section, TV channels list, iTunes library like stuff etc.
 Status: Todo
 
-Task: 0x1b
-Difficulty: Hard
+Task
+Difficulty: Easy
 Urgency: Wishlist
-Description: modularize decoder
- Make the decoder a plugin, so that two versions can coexist
- without recompilation (MMX and non-MMX).
+Platform: any
+Description: GSM decoder
+GSM decoder not based on standard reference sources.
 Status: Todo
 
-Task: 0x1a
+Task
+Difficulty: Easy
+Urgency: Wishlist
+Platform: any
+Description: MusePack  decoder
+Need I say more?
+Status: Todo
+
+Task
 Difficulty: Easy
 Urgency: Normal
-Description: Make interface more responsive
+Platform: any
+Description: 24 bit LPCM
+Increasingly more DVDs use 24 bit LPCM sound. We should support it.
 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.
+
+Task
+Difficulty: Medium
+Urgency: Wishlist
+Platform: any
+Description: Closed Captions/Teletext support
+In order to conform to international regulations, VLC needs to be able to decode the closed captions in TV, DVD, DVB and HDTV video. V4L has a CC api, DVD and HDTV usually have them in a seperate stream.
+Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.
 Status: Todo
 
-Task: 0x19
+Task
 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.
+Platform: Mac OS X
+Description: New OS X preferences
+ New preferences for Mac OS X. Current not suited for Mac Users and several
+Pref. elements are broken (hotkeys and int with string desc.).
+Status: Assigned to thedj
 
-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.
+Task
+Difficulty: Hard
+Urgency: Critical
+Platform: OSX
+Description: CoreAudio multichannel audio output. Convert to 
+<a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.
+Still no info over S/PDIF output available.
 Status: Todo
 
-Task: 0x17
+Task
 Difficulty: Hard
 Urgency: Normal
-Description: Add 24bpp YUV
- There is no 24bpp support yet. Add it, either in MMX
- or in C.
+Platform: any
+Description: Stream text subtitles
+ Find a a way to stream text subtitles, in TS and in RTP.
+  - Find an existing norm
+  - Implement it
 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
+Difficulty: Hard
+Urgency: Normal
+Platform: any
+Description: Rework spu decoder
+ The spu decoder needs some serious work
+  - Split/merge for dvd menu highlighting
+  - Downscaling for divx/mkv etc
+  - Chroma independence
+  - .sub/.idx support
+Status: todo
+
+Task
+Difficulty: Hard
+Urgency: Normal
+Platform: any
+Description: RTSP server
+Full implementation of a RTSP server.
+Status: fenrir has some code
 
-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.
+Task
+Difficulty: Hard
+Urgency: Wishlist
+Platform: any
+Description: Picture filters
+picture per picture chained filter system that also works on output streams
 Status: Todo
 
-Task: 0x14
+Task
 Difficulty: Guru
 Urgency: Wishlist
-Description: Debug MPEG1 video
- The MPEG1 support has been done, but it still crashes.
+Platform: any
+Description: Vout redesign
+- vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter
+- needs 'assistence' vout windows (clone filters, goom) etc.
+- 4:3, 16:9, freeform Aspect Ratio
+- cropping and padding (do at OS level, but provide a core call to set it up and configure).
+- OSD at window resolution instead of video res (secondary vout channel)
+- a OSD needs to be bound to a vout stream (no subs on goom vout)
+- Use OS native calls where appropriate, with 'C' fallbacks. (OpenGL, Quartz, DirectX already has many of the funtionalities we seek and sometimes they are a lot faster too).
 Status: Todo
 
-Task: 0x13
-Difficulty: Hard
+Task
+Difficulty: Medium
 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.
+Platform: any
+Description: SPU redesign
+- multiple subpicture channels
+- centralized rendering and use of chroma filters
+- centralized scaling support
+(also look at ogt/cvd sub work)
 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
+Difficulty: Guru
+Urgency: Wishlist
+Platform: Mac OS X
+Description: intf / vout dependency
+The application specific parts of the intf need to be brougth to the VLC application core. A valid NSApplication needs to be created on VLC opening, with the dock and menu hidden/disabled, only being generated on VLC intf loading.
+Status: Todo
 
-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.
+Task
+Difficulty: Guru
+Urgency: Wishlist
+Platform: Mac OS X
+Description: skins2
+Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler. Is slighly dependant on intf/vout dependency todoitem
 Status: Todo
 
-Task: 0x10
-Difficulty: Easy
-Urgency: Normal
-Description: vlc icon
- The vlc needs an icon. It should render well in 48x48 but
- can be any size.
+Task
+Difficulty: Hard
+Urgency: Wishlist
+Platform: any
+Description: Equalizer
+Implement an equilizer for VLC.
 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.
+Task
+Difficulty: Hard
+Urgency: Wishlist
+Platform: any
+Description: informing user.
+Implement a system to
+ - Alert the user of critical errors (cannot play file)
+ - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)
+ - Inform the user, without disturbing him. (Buffering stream)
 Status: Todo
 
-Task: 0x0e
-Difficulty: Easy
+Task
+Difficulty: Hard
 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.
+Platform: any
+Description: Full H323 Videoconferencing
+VLC isn't really suited for this yet, because it introduces quite large latencies. This should fixed before the H323 can ever come close to working in VLC.
 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.
+Task
+Difficulty: Guru
+Urgency: Normal
+Platform: Mac OS X
+Description: SVCD support
+libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support
 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.
+Task
+Difficulty: Hard 
+Urgency: Wishlist
+Platform: Mac OS X
+Description: QuickTime capturing
+Allow capturing from QuickTime Firewire, USB and PCI devices.
+Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>
 Status: Todo
 
-Task: 0x0b
+Task
 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: Todo
+Urgency: Normal
+Platform: Mac OS X
+Description: Finish Mac Mozilla plugin
+The Mac mozilla plugin needs some more work to be useable. Basic funtionality is working. However the video-output part needs some more work since it was crashing. See svn history for the old code. 
+Status: Halfway (stalled)
 
-Task: 0x09
+Task
 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.
+Platform: any
+Description: Controlling the mozilla plugin
+The mozilla plugin needs to be better controllable (via javascript). 
+- retrieve variable values.
+- open VLC media player
+- (look at fen-php?)
 Status: Todo
 
-Task: 0x07
+Task
 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.
+Urgency: Wishlist
+Platform: Windows
+Description: ActiveX control for VLC
+ We need an ActiveX version of VLC for IE intergration
 Status: Todo
 
-Task: 0x05
+Task
 Difficulty: Easy
-Urgency: Important
-Description: vlms backport
- 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.
+Urgency: Wishlist
+Platform: any
+Description: export paramaters of an input
+ Export the Media Info of a file/source to a standard xml file for use by other applications. Possibly combine with file "probe'ing".
+ - AR
+ - size
+ - bitrate
+ - resolution
+ - codecs, etc.
 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.
+Task
+Difficulty: Easy
+Urgency: Wishlist
+Platform: any
+Description: SSL http
+SSL encrypted HTTP communication. To support protected VoD.
 Status: Todo
 
-Task: 0x03
+Task
 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.
+Urgency: Wishlist
+Platform: any
+Description: http cookies
+For protected VoD  (http://a-select.surfnet.nl)
 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.
+Task
+Difficulty: Easy
+Urgency: Wishlist
+Platform: any
+Description: mime-type VLC launching
+Allow application/vlc mimetype to launch VLC instead of plugin for video file.
+Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.
 Status: Todo
 
-Task: 0x01
+Task
 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.
+Platform: any
+Description: rendezvous announces
+DMAP protocol announce for videos.
 Status: Todo
 
-Task: 0x00
-Difficulty: Medium
+Task
+Difficulty: Easy
 Urgency: Wishlist
-Description: Splash screen
- The vlc needs a splash screen with a vlc logo, instead of
- the "waiting for stream" message.
+Platform: any
+Description: SDL vout cleaning
+The SDL vout hasn't been updated for a long while. It needs some cleaning up. New hotkeys support, better resizing, alignment etc. Even though SDL isn't used much, this vout shouldn't disappear, because it is a crossplatform API.
 Status: Todo
 
+Task
+Difficulty: Easy
+Urgency: Normal
+Platform: Win32/Linux
+Description: V4L and dshow tuning support
+We need an API that allows us to control the tuning of V4L and dshow TV cards.
+Status: Todo (CryHavoc)
+
+Task
+Difficulty: Easy
+Urgency: Wishlist
+Platform: any
+Description: Electronic Program Guide
+Integrate a EPG system into VLC.
+Status: Todo (CryHavoc)
+
+Task
+Difficulty: Hard
+Urgency: Wishlist
+Platform: any
+Description: a Time Shifting module
+This module should create TiVo like capabilities for VLC.
+Status: Todo (CryHavoc)
 
+# Do not remove me
+Task