VideoLAN Code-In Ideas for 2011
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
ABCDEFGHIJKLMNOPQ
1
TitleDescriptionTimeMentorDifficultyCategorytags
2
Code Cleanuplibav has a coding style and all the new contributions must abide to it, sadly ancient files do not abide to it.2rsbultjeeasyCodelibav
3
return value refactoringLibav has started out indiscriminately returning -1 for most errors. Nowadays a more elaborate return value framework is in place, but old code has mostly not been adapted to use it. This task consists of going through said old code and refactoring return values.72rsbultjeeasyCodelibav
4
Close a libav bugThis task is very free-form, and can thus be done many times, but each time it's different. Concept is simple: go to http://bugzilla.libav.org/, find a (coding) bug, reproduce it, and fix it. Each fixed bug earns you points.24rsbultjemediumCodeLibav
5
Wav metadataMake the wav muxer/demuxer support reading and writing INFO tag metadata.120rsbultjemediumCodelibav
6
deprecated API replacementLibav continuously overhauls internal and external APIs to adapt to circumstances, refactor the code and make the API more consistent, powerful and easy to use. However, not all internal uses of deprecated APIs are changed immediately. Some of these stragglers should be updated to conform to newer standards as part of this project.120rsbultjemediumCodelibav
7
Make FFmpeg/Libav utvideo codec multithreadedUtvideo is a lossless codec used for e.g. TV recordings. Libav have a native decoder for this format, but it is slow. It can be sped up by allowing it to use multiple cores on modern CPUs. Your task will be to learn how to make a codec multithreaded and to make the utvideo codec multithreaded.48rsbultjehardCodeVLC
8
Close a VLC bugTest an open bug on the VLC bug tracker http://trac.videolan.org/vlc/ and either close it or fix it.48jbhardCodeVLC
9
Close a VLMC bugTest an open bug on the VLMC bug tracker http://trac.videolan.org/vlmc/ and either close it or fix it.48rsbultjehardCodeVLMC
10
Code or Port a video filter for VLCPort a new video filter, from another project, like MPlayer or AVIsynth to VLC. Good ideas include hqdn3d or "old movie filter96rsbultjehardCodeVLC
11
Code or Port an audio filter for VLCPort a new audio filter, from another project, like MPlayer or VS to VLC. Good ideas include freeverb3 integration or a LADSPA filter96jbhardCodeVLC
12
Doxygen documentationLibav contains a set of libraries with extensive (Doxygen) documentation for programmers. However, that documentation is spotty and incomplete in parts. Go read the code, understand it and fill in some of the missing bits and pieces.48rsbultjeeasyDocumentationlibav
13
coding style presets and examplesLibav has a fixed coding style, but it's unnecessarily hard for new developers to get accustomed to it and abide by. The style is not described in sufficient detail nor are there good examples to learn from or instructions to configure one's development environment so that matching the style is easy. Such instructions and examples shall be developed during this project.48rsbultjeeasyDocumentationlibav
14
VideoLAN wiki cleanupThis tasks consists in cleaning Orphaned pages, double redirects and very short pages on the VideoLAN wiki.4jbeasyDocumentationVideoLAN
15
VLC 1.2 Mac Interface documentationThis tasks consists in creating a few images to document the new interface of VLC on Mac OS X4jbeasyDocumentationVLC
16
VLC 1.2 Win Interface documentationThis tasks consists in creating a few images to document the interface of VLC on Windows4jbeasyDocumentationVLC
17
Help document filter usageLibavfilter is the most recent library provide in libav. Currently the documentation available consists in the list of filter available and not much more. Actual usage examples and recipes to achieve certain results are sorely missing48rsbultjemediumDocumentationlibav
18
Compiling Libav on WindowsLibav is very "Mac-centric" and "Linux-centric", because that's what our developers use. A few of us use Windows, but we've failed at providing proper documentation, which means for newcomers it's hard to compile Libav the first time.12rsbultjemediumDocumentationLibav
19
VLC troubleshooting walk-throughMany issues that the users of VLC face are the same. A way to walk the users through this troubleshooting process was started on the wiki but never finished. The goal is to improve this and make it more "fun" to use72jbhardDocumentationVLC
20
Contribution HOWTOLibav has ways to get involved and contribute to the project. However, for a newcomer looking for tasks to work on, it's not obvious where to look and how to find them. Our homepage should explain clearly how to get started contributing to the project and where to find bite-sized beginner tasks.48rsbultjeeasyOutreachlibav
21
VideoLAN wikiThis tasks consists in suggestions about how to improve our wiki and apply changes on a few main pages. Extensions ideas are welcome.48jbeasyOutreachVideoLAN
22
Planet VideoLAN designThe planet website is of an outdated design. It should be updated to the main design of VideoLAN.org48jbeasyOutreachVideoLAN
23
VideoLAN Forum designThis task consists in applying the VideoLAN website design to the forum design.
The forum is phpBB 3.x based
72jbmediumOutreachVideoLAN
24
VLC installer improvementVLC windows installer is poor and unfriendly.
Any improvement would be welcome to improve this process
72jbmediumOutreachVLC
25
Website VLC features page redesignThe VLC features page on the website is very badly designed and confusing.
It should be rewritten using jQuery.
120jbmediumOutreachVideoLAN
26
Video Tutorial: avconvA new tool to transcode, manipulate and stream multimedia had been introduced recently in libav: avconv.

Its purpose is to superceed ffmpeg by providing a more regular and powerful syntax.
72rsbultjehardOutreachlibav
27
Video Tutorial: avconvA new tool to transcode, manipulate and stream multimedia had been introduced recently in libav: avconv.

Its purpose is to superceed ffmpeg by providing a more regular and powerful syntax.
72rsbultjehardOutreachlibav
28
Test VLC 1.2 with samplesThis tasks consists in testing our repository sample and report the bugs that were found on it.72jbeasyQ/AVLC
29
VLC 1.2 testing on WindowsVLC 1.2 introduces a lot of new code that needs getting tested, especially on the audio and the interface modules, but also on the device integration and new video codec playback.
All those features need to be tested carefully and bug reported.
48jbeasyQ/AVLC
30
VLC 1.2 testing on MacVLC 1.2 introduces a complete new interface on MacOS X.

This interface isn't tested enough in many situation, notably the playlist.
Regression or usability limitation should be filled as bug reports.
48jbeasyQ/AVLC
31
Find VC-1 progressive samples which break decoderVC-1 interlaced stream decoding capability has been recently implemented in libavcodec. But is is still unstable and often produces segfaults. To accommodate for interlaced decoding, a lot of the existing progressive decoding code have been refactored / rewritten. It has been reported that after the interlaced decoding patches were committed, some progressive streams which decoded fine in the past, do not decode correctly anymore.

Your task is to find such progressive VC-1 samples, which with a pre-VC1 interlaced tree decodes correctly, but not with the current code.

Note: This is a QA task, not a coding task.
24rsbultjemediumQ/Alibav
32
VLC testing guidelinesVLC lacks correct Quality Assurance docs to provide guidelines for testers who want to help.

The idea is to write a document, on our wiki, to list the things to test for each VLC release on each platform.

This tasks needs a strong interaction with the community.
120jbmediumQ/AVLC
33
Find a bug in the VC-1 interlaced decoderVC-1 interlaced decoding support is a relatively new feature in libavcodec and as it often happens with new code, there are a lot of known (and unknown) bugs still left in the decoder. We still have plenty of VC-1 interlaced samples that produce wrong pictures or even worse, segfault.

Your task is to take such a sample from us (+1 if you can find it yourself), and locate the bug which causes the wrong picture or segfault.

Note: This is not an easy task. It will take some time and you will probably have to communicate with us a lot to understand how exactly to accomplish it. We don't expect you to figure it all out by yourself. On the other hand, if you can finish this task, you are probably good enough to start writing code for libav.
72rsbultjehardQ/Alibav
34
add FATE (regression) testsLibav has an automated (regression) testing framework called FATE that assures that things remain in working order. The coverage of FATE is not yet complete. This task consists of finding areas of spotty coverage and adding tests.48rsbultjehardQ/Alibav
35
Find a VC-1 interlaced encoded BlurayVC-1, along with H.264 / AVC and MPEG-2 is one of the mandatory formats that every Bluray compliant player is required to support. libavcodec supports all three of these, but our VC-1 interlaced decoding support is a recent feature and is one of the bleeding edges of libavcodec.

The VC-1 interlaced decoder in libavcodec (libavcodec/vc1dec.c) is very unstable right now and requires a lot of testing/ bug-fixing to actually decode samples from the wild.

This project consists of two separate task. Both of these are simple QA task.

Find a Bluray disk in which the video stream is VC-1 interlaced encoded (look for VC1 and 1080i). Try to decode it with avconv. You will probably end up with a segfault, but that's OK (it is not going to destroy your computer or wipe your hard disk).

In the second part, cut a very small segment (2 - 3 seconds) from that bluray stream, test that this segment still breaks avconv. If yes, then file a bugreport here: http://bugzilla.libav.org/

Note: you cannot just take existing sample from videolan archive.
24rsbultjeeasyResearchlibav
36
MPEG presetsThe presets available in avconv are currently limited to only vp8 and x264 (builtin). More presets for additional codecs or additional scenarios(e.g. low latency streaming) would be useful.48rsbultjemediumResearchlibav
37
MPEG defaultsThe default settings for the MPEG family of encoders in libavcodec currently produce very low quality output. Since we now have codec-specific defaults, this problem can be fixed on a per-encoder basis.48rsbultjemediumResearchlibav
38
MPEG-4 vs XvidLibav can encode MPEG-4 video using both its internal encoder and the external libxvid library. The latter may be redundant and can thus be removed.48rsbultjemediumResearchlibav
39
Find a security vulnerability in any Libav decoder/demuxerYou will learn about finding security vulnerabilities in Libav. You will get our standard set of test files that cover most (decoding/demuxer) functionality in Libav, e.g. reading of AVI files or decoding of H.264 video. You will learn how to (automatically) change those files so that they become corrupt.

If Libav is programmed correctly, it will tell you that the file is corrupt. If we did a sloppy job at programming the decoder or demuxer, it will skip past the corruption point and do random things (like as if the input was random). That's still OK, as long as it doesn't crash, read/write from invalid memory locations, etc. You goal is to do and find a file, any file, that crashes Libav or causes invalid memory accesses.
24rsbultjehardResearchlibav
40
Find a security vulnerability in any VLC decoder/demuxerYou will learn about finding security vulnerabilities in Libav. You will get our standard set of test files that cover most (decoding/demuxer) functionality in VLC, e.g. reading of AVI files or decoding of H.264 video. You will learn how to (automatically) change those files so that they become corrupt.

If VLC is programmed correctly, it will tell you that the file is corrupt. If we did a sloppy job at programming the decoder or demuxer, it will skip past the corruption point and do random things (like as if the input was random). That's still OK, as long as it doesn't crash, read/write from invalid memory locations, etc. You goal is to do and find a file, any file, that crashes VLC or causes invalid memory accesses.
24rsbultjehardResearchVLC
41
VLC usage videosCreate VLC video screencast that we can use to help users use VLC correctly48jbeasyTrainingVLC
42
Check libVLC examples for 1.2We have many examples for the use of libVLC, to create new applications. We are not sure all of those are still working for VLC 1.You role would be to check this with VLC 1.2 and report bugs4ivoireeasyTrainingVLC
43
Write a "how to write assembly" guideIn Libav, most performance-sensitive code is written in hand-coded assembly, optimized for the specific device we're targeting. For your desktop CPU, that most likely means we hand-wrote some x86 SIMD functions. We'd like more people to write assembly, including you, but we don't have a good "how to get started" documented.

The goal here is two-fold: (1) documentation for the wider audience, and (2) train you while you write it. You'll write a webpage (with images) that documents (for Linux or Mac - at your choice) how to profile a particular functionality of Libav (e.g. a video or audio decoder), how to identify performance hotspots, then how to optimize such hotspots using SIMD functions or multithreading.
12rsbultjemediumTraininglibav
44
Libav examples.Prepare a set of increasingly difficult examples of libav api usage.120rsbultjehardTraininglibav
45
libVLC Elementary example media player Creating a small example of how to create a media player based on libVLC and Elementary on Linux.120rsbultjehardTrainingVLC
46
Libav skeletons muxer/demuxer, encoder/decoderWrite an example muxer, demuxer, encoder, decoder exposing all the api features while being empty.48rsbultjehardTraininglibav
47
Translate the main VideoLAN webpageTranslate the main page of VideoLAN.org into another language48jbeasyTranslationVideoLAN
48
Translate the main VLC webpageTranslate the main page of the VLC project into another language48jbeasyTranslationVideoLAN
49
Translate the dvblast man pageTranslate the dvblast man page in a non-english language.48jbmediumTranslationVideoLAN
50
Translate the avconv man pageTranslate the avconv man page in a non-english language.48rsbultjemediumTranslationlibav
51
Prepare the VideoLAN website for translationPrepare the website and identify the strings that need to be translated72jbhardTranslationVideoLAN
52
VLC open dialog redesignThe VLC open dialog is badly designed and confusing.
Suggesting new ideas and screenshot to improve the interaction would be very useful.
72jbeasyUser InterfaceVLC
53
command line user interfaceLibav contains a set of command line tools. The interfaces of those tools have grown organically over the years without much thought to internal consistency and ease of use. The tool interfaces should be reviewed for inconsistencies and ways to improve usability, which then should get implemented.24rsbultjemediumUser Interfacelibav
54
VLC win32 screen controller redesignRedesign the VLC fullscreen controller for Windows120jbmediumUser InterfaceVLC
55
VLC playlist usability testing and redesign.The VLC playlist is still limited in many ways.
A list of usability issues and suggestions to improve would be very welcome
72jbmediumUser InterfaceVLC
56
VLC Metro interfaceAs Windows 8 is coming faster, we need to design an interface for VLC using the Metro/Win8 look.120jbhardUser InterfaceVLC
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
Main menu