]> git.sesse.net Git - vlc/blob - TODO
* fixed a dumb bug in the Makefile that prevented inclusion of the
[vlc] / TODO
1 #
2 #   vlc tasks
3 #   ---------
4 #
5 #
6 # Difficulty values: Easy, Medium, Hard, Guru
7 #
8 # Urgency values: Wishlist, Normal, Important, Critical
9
10 Task: 0x29
11 Difficulty: Medium
12 Urgency: Normal
13 Description: ALSA audio output support
14  ALSA is the Advanced Linux Sound Architecture and is believed to be
15  technically superior to the usual OSS support found in the Linux kernel.
16 Status: Todo
17
18 Task: 0x28
19 Difficulty: Guru
20 Urgency: Wishlist
21 Description: Support for RTP
22  RTP is a transport protocol for realtime applications. MPEG1 and MPEG2
23  versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP)
24  and 2508 (compressed RTP) can be interesting as well.
25 Status: Todo
26
27 Task: 0x27
28 Difficulty: Medium
29 Urgency: Wishlist
30 Description: Draw a font / support color fonts
31  The vlc currently uses an ugly font to display its data on the output
32  window, and we have a slow hack to make it outlined. Writing our own
33  font, or adding support for color fonts, would make us gain some time.
34 Status: Todo
35
36 Task: 0x26
37 Difficulty: Medium
38 Urgency: Important
39 Description: Layer 2 mono support
40  The vlc doesn't play layer 2 mono yet. We need it since a few of our
41  streams are in this audio format.
42 Status: Todo
43
44 Task: 0x25
45 Difficulty: Hard
46 Urgency: Wishlist
47 Description: MP3 support
48  The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that.
49 Status: Todo
50
51 Task: 0x24
52 Difficulty: Hard
53 Urgency: Normal
54 Description: Support for unencapsulated streams
55  Some streams are not encapsulated in PES/PS or TS packets, which the
56  vlc currently requires to properly decode a stream. Adding support for
57  this would require to rewrite the input code, and probably make it a
58  plugin.
59 Status: Todo
60
61 Task: 0x24
62 Difficulty: Guru
63 Urgency: Wishlist
64 Description: Ogg/Vorbis audio decoder support
65  The Ogg/Vorbis audio format is a free alternative to the patent-encumbered
66  MP3 format. The system packets are quite different than the MPEG ones, so
67  adding support for it would require a lot of code rewrite.
68 Status: Todo
69
70 Task: 0x23
71 Difficulty: Guru
72 Urgency: Normal
73 Description: Xv video output support
74  XFree 4.0 provides the Xv interface which can do hardware YUV on supported
75  hardware. Unfortunately, there doesn't seem to be much documentation
76  available.
77 Status: Todo
78
79 Task: 0x22
80 Difficulty: Medium
81 Urgency: Normal
82 Description: SDL video output support
83  The Simple DirectMedia Layer library is a generic API that provides
84  YUV acceleration on some platforms. More information can be found
85  on http://www.devolution.com/~slouken/SDL/
86 Status: Todo
87
88 Task: 0x21
89 Difficulty: Medium
90 Urgency: Normal
91 Description: Implement pause
92  There is no real `pause' command yet. Pausing just stops
93  displaying and sound playback, but the streams continues to
94  be decoded. One will have to do a file implementation as
95  well as a network implementation.
96 Status: Todo
97
98 Task: 0x20
99 Difficulty: Hard
100 Urgency: Important
101 Description: Rewrite input for Program Stream files
102  Currently when we read a PS file, it is first translated to TS
103  because we first had only PS support. Now time has come to get
104  rid of this ugly kludge and integrate a proper PS input.
105 Status: Todo
106
107 Task: 0x1f
108 Difficulty: Hard
109 Urgency: Normal
110 Description: DeCSS and DVD ioctls
111  The vlc needs the DVD ioctls support as well as the integration
112  of DeCSS to play DVDs properly. The person doing this should
113  probably not live in a country where DeCSS has been ruled illegal.
114 Status: Todo
115
116 Task: 0x1e
117 Difficulty: Hard
118 Urgency: Wishlist
119 Description: ASCII-art output
120  For the ones who don't know how to waste their time, they can
121  try to do an ASCII-art output plugin.
122 Status: Todo
123
124 Task: 0x1d
125 Difficulty: Hard
126 Urgency: Normal
127 Description: LPCM decoder
128  The LPCM decoder is full of stubs, it only parses the stream
129  but does not decode it. Fix this.
130 Status: Todo
131
132 Task: 0x1c
133 Difficulty: Guru
134 Urgency: Important
135 Description: Fix field pictures support
136  Some MPEG2 streams are interleaved, and the vlc does not support
137  this very well. Adding support for them requires an excellent
138  knowledge of the MPEG2 papers.
139 Status: Todo
140
141 Task: 0x1b
142 Difficulty: Hard
143 Urgency: Wishlist
144 Description: modularize decoder
145  Make the decoder a plugin, so that two versions can coexist
146  without recompilation (MMX and non-MMX).
147 Status: Todo
148
149 Task: 0x1a
150 Difficulty: Easy
151 Urgency: Normal
152 Description: Make interface more responsive
153 Status: Todo
154  When in "waiting for stream" mode, the interface is refreshed
155  every 5 seconds. This is too long, and can be confusing for
156  the user. Make it refresh at least after a keyboard/mouse event.
157 Status: Todo
158
159 Task: 0x19
160 Difficulty: Hard
161 Urgency: Normal
162 Description: Support MP1 and MP3
163  The vlc does not support all MPEG1 audio formats yet, nor
164  does it support MPEG1/2 layer 3.
165
166 Task: 0x18
167 Difficulty: Guru
168 Urgency: Wishlist
169 Description: Split interface/video_output
170  The interface and the vout modules are too dependant, which
171  makes it impossible to run the Glide output with the Gnome
172  interface for instance. This will require a major rewrite of
173  the interface, and a solid knowledge of how the vlc internals
174  work.
175 Status: Todo
176
177 Task: 0x17
178 Difficulty: Hard
179 Urgency: Normal
180 Description: Add 24bpp YUV
181  There is no 24bpp support yet. Add it, either in MMX
182  or in C.
183 Status: Todo
184
185 Task: 0x16
186 Difficulty: Medium
187 Urgency: Important
188 Description: Fix 8bpp YUV
189  The 8bpp YUV function is broken, there is some serious
190  alpha blending, and it scales pretty badly. Fix it.
191 Status: Done 14 Aug 2000 (sam)
192
193 Task: 0x15
194 Difficulty: Medium
195 Urgency: Critical
196 Description: Fix input_file exit
197  input_file does not exit cleanly when the file is finished,
198  which makes it impossible to quit the vlc. Fix it.
199 Status: Todo
200
201 Task: 0x14
202 Difficulty: Guru
203 Urgency: Wishlist
204 Description: Debug MPEG1 video
205  The MPEG1 support has been done, but it still crashes.
206 Status: Todo
207
208 Task: 0x13
209 Difficulty: Hard
210 Urgency: Wishlist
211 Description: Support MPEG1 timecodes
212  The vlc can parse an MPEG1 system stream, but the parsed
213  PCR values do not seem to be correct. Check what's wrong.
214 Status: Todo
215
216 Task: 0x12
217 Difficulty: Medium
218 Urgency: Important
219 Description: Fix 32bpp MMX YUV
220  The MMX 32bpp YUV function is buggy.
221 Status: Done 13 Aug 2000 (sam)
222
223 Task: 0x11
224 Difficulty: Hard
225 Urgency: Normal
226 Description: Optimize YUV scaling
227  The YUV scaling method does not seem very efficient. Perhaps
228  some CPU cycles can be gained by saving some buffers.
229 Status: Todo
230
231 Task: 0x10
232 Difficulty: Easy
233 Urgency: Normal
234 Description: vlc icon
235  The vlc needs an icon. It should render well in 48x48 but
236  can be any size.
237 Status: Todo
238
239 Task: 0x0f
240 Difficulty: Easy
241 Urgency: Normal
242 Description: Better black&white support
243  When in B&W mode, the chroma part of pictures is decoded,
244  but it would be more efficient not to decode at all when
245  the video decoder knows it does not need to.
246 Status: Todo
247
248 Task: 0x0e
249 Difficulty: Easy
250 Urgency: Wishlist
251 Description: Rename channel names
252  Channels should start from 1 (not 0) like on a VCR or TV,
253  and Channel 0 should be renamed to "Playlist" or similar.
254 Status: Todo
255
256 Task: 0x0d
257 Difficulty: Medium
258 Urgency: Important
259 Description: Framebuffer exit bug
260  When the vlc abnormally exits in framebuffer mode, it leaves
261  the console in an unusable state. This does not happen on
262  the Matrox framebuffer, but it does on the VESA one.
263 Status: Todo
264
265 Task: 0x0c
266 Difficulty: Hard
267 Urgency: Critical
268 Description: Fix synchro
269  The synchronization algorithm sucks a bit. While it is
270  quite efficient on frameskipping on slow machines, it
271  is not smart enough on fast machines and does not detect
272  when it has enough time for a frame. Perhaps a better
273  handling of the dates might help.
274 Status: Todo
275
276 Task: 0x0b
277 Difficulty: Medium
278 Urgency: Important
279 Description: Allow to force synchro
280  Add a --force-synchro option to bypass the auto-adaptative
281  algorithm present in the vlc. Options should allow displaying
282  only I frames, only I and P, or all frames, or some more
283  fancy stuff such as half the Bs.
284 Status: Done 8 Aug 2000 (sam)
285
286 Task: 0x0a
287 Difficulty: Medium
288 Urgency: Important
289 Description: Do separate packages
290  The plugins can be compiled with specific libraries, such
291  as Gnome, GGI, Esound. Putting all of them in the same
292  package would require a lot of useless dependencies, thus
293  one should do separate packages: a core "vlc" package, and
294  "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the
295  core package.
296 Status: Done 15 Aug 2000 (sam)
297
298 Task: 0x09
299 Difficulty: Easy
300 Urgency: Normal
301 Description: Get rid of dumb vlc aliases
302  When compiling the vlc, some symlinks to the main app
303  are created, such as gvlc, ggivlc, etc. Actually this
304  might confuse the user, so they should be removed,
305  except perhaps gvlc and fbvlc which follow a usual
306  naming scheme.
307 Status: Done 8 Aug 2000 (sam)
308
309 Task: 0x08
310 Difficulty: Easy
311 Urgency: Important
312 Description: Get rid of floating instructions
313  Mixing floating instructions and MMX is seldom a good idea,
314  it might be interesting to remove all floating instructions
315  in a single thread. The audio decoders are of course not
316  concerned by this task.
317 Status: Todo
318
319 Task: 0x07
320 Difficulty: Hard
321 Urgency: Critical
322 Description: Fix VDEC_SMP segfaults
323  When compiled to support SMP, the vlc segfaults. The synchro
324  code lacks locks, but there might be bugs elsewhere as well.
325 Status: Todo
326
327 Task: 0x06
328 Difficulty: Guru
329 Urgency: Important
330 Description: Optimize video parser
331  The video parser has some speed issues currently unexplained:
332  even though most functions are inlined, it keeps eating more
333  CPU than it should. This has to be investigated.
334 Status: Todo
335
336 Task: 0x05
337 Difficulty: Easy
338 Urgency: Important
339 Description: vlms backport
340  The vlc uses the same file input code as the vlms (VideoLAN
341  Mini Server) which has been much improved. Someone should
342  port modifications done to the vlms back to the vlc.
343 Status: Todo
344
345 Task: 0x04
346 Difficulty: Medium
347 Urgency: Normal
348 Description: Get rid of vlc.channels
349  The file vlc.channels should be removed and information
350  found in it put either into ~/.vlcrc or in another rc
351  file. Note that this file can be modified by the vlc.
352 Status: Todo
353
354 Task: 0x03
355 Difficulty: Hard
356 Urgency: Important
357 Description: Playlist API
358  Currently only files given in the command line are played,
359  one after the other. We need a smarter way to handle this,
360  through AddFile(), MoveFile(), etc. functions. input_file
361  has to be modified to support this as well.
362 Status: Todo
363
364 Task: 0x02
365 Difficulty: Medium
366 Urgency: Normal
367 Description: Better Gnome interface
368  The Gnome interface has many stubs and is actually rather
369  unfunctional. Someone should make the buttons work when
370  the appropriate hooks exist.
371 Status: Todo
372
373 Task: 0x01
374 Difficulty: Hard
375 Urgency: Wishlist
376 Description: MGA YUV
377  The Matrox acceleration for the vlc does not work yet,
378  though there are initialization routines in the code.
379 Status: Todo
380
381 Task: 0x00
382 Difficulty: Medium
383 Urgency: Wishlist
384 Description: Splash screen
385  The vlc needs a splash screen with a vlc logo, instead of
386  the "waiting for stream" message.
387 Status: Todo
388
389