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