mirror of
https://code.videolan.org/videolan/vlc
synced 2024-10-07 03:56:28 +02:00
617bd4db8a
Description: Fix plugins namespace problem Description: Fix plugin autoloading Description: Real plugin API Description: Enable compiled-in plugins Description: Optimize SPU rendering Description: SPU error recovery
444 lines
12 KiB
Plaintext
444 lines
12 KiB
Plaintext
#
|
|
# vlc tasks
|
|
# ---------
|
|
#
|
|
#
|
|
# 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: Todo
|
|
|
|
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
|
|
|
|
|