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