A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Title | Description | Time | Mentor | Difficulty | Category | tags | ||||||||||
2 | Code Cleanup | libav has a coding style and all the new contributions must abide to it, sadly ancient files do not abide to it. | 2 | rsbultje | easy | Code | libav | ||||||||||
3 | return value refactoring | Libav 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. | 72 | rsbultje | easy | Code | libav | ||||||||||
4 | Close a libav bug | This 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. | 24 | rsbultje | medium | Code | Libav | ||||||||||
5 | Wav metadata | Make the wav muxer/demuxer support reading and writing INFO tag metadata. | 120 | rsbultje | medium | Code | libav | ||||||||||
6 | deprecated API replacement | Libav 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. | 120 | rsbultje | medium | Code | libav | ||||||||||
7 | Make FFmpeg/Libav utvideo codec multithreaded | Utvideo 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. | 48 | rsbultje | hard | Code | VLC | ||||||||||
8 | Close a VLC bug | Test an open bug on the VLC bug tracker http://trac.videolan.org/vlc/ and either close it or fix it. | 48 | jb | hard | Code | VLC | ||||||||||
9 | Close a VLMC bug | Test an open bug on the VLMC bug tracker http://trac.videolan.org/vlmc/ and either close it or fix it. | 48 | rsbultje | hard | Code | VLMC | ||||||||||
10 | Code or Port a video filter for VLC | Port a new video filter, from another project, like MPlayer or AVIsynth to VLC. Good ideas include hqdn3d or "old movie filter | 96 | rsbultje | hard | Code | VLC | ||||||||||
11 | Code or Port an audio filter for VLC | Port a new audio filter, from another project, like MPlayer or VS to VLC. Good ideas include freeverb3 integration or a LADSPA filter | 96 | jb | hard | Code | VLC | ||||||||||
12 | Doxygen documentation | Libav 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. | 48 | rsbultje | easy | Documentation | libav | ||||||||||
13 | coding style presets and examples | Libav 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. | 48 | rsbultje | easy | Documentation | libav | ||||||||||
14 | VideoLAN wiki cleanup | This tasks consists in cleaning Orphaned pages, double redirects and very short pages on the VideoLAN wiki. | 4 | jb | easy | Documentation | VideoLAN | ||||||||||
15 | VLC 1.2 Mac Interface documentation | This tasks consists in creating a few images to document the new interface of VLC on Mac OS X | 4 | jb | easy | Documentation | VLC | ||||||||||
16 | VLC 1.2 Win Interface documentation | This tasks consists in creating a few images to document the interface of VLC on Windows | 4 | jb | easy | Documentation | VLC | ||||||||||
17 | Help document filter usage | Libavfilter 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 missing | 48 | rsbultje | medium | Documentation | libav | ||||||||||
18 | Compiling Libav on Windows | Libav 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. | 12 | rsbultje | medium | Documentation | Libav | ||||||||||
19 | VLC troubleshooting walk-through | Many 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 use | 72 | jb | hard | Documentation | VLC | ||||||||||
20 | Contribution HOWTO | Libav 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. | 48 | rsbultje | easy | Outreach | libav | ||||||||||
21 | VideoLAN wiki | This tasks consists in suggestions about how to improve our wiki and apply changes on a few main pages. Extensions ideas are welcome. | 48 | jb | easy | Outreach | VideoLAN | ||||||||||
22 | Planet VideoLAN design | The planet website is of an outdated design. It should be updated to the main design of VideoLAN.org | 48 | jb | easy | Outreach | VideoLAN | ||||||||||
23 | VideoLAN Forum design | This task consists in applying the VideoLAN website design to the forum design. The forum is phpBB 3.x based | 72 | jb | medium | Outreach | VideoLAN | ||||||||||
24 | VLC installer improvement | VLC windows installer is poor and unfriendly. Any improvement would be welcome to improve this process | 72 | jb | medium | Outreach | VLC | ||||||||||
25 | Website VLC features page redesign | The VLC features page on the website is very badly designed and confusing. It should be rewritten using jQuery. | 120 | jb | medium | Outreach | VideoLAN | ||||||||||
26 | Video Tutorial: avconv | A 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. | 72 | rsbultje | hard | Outreach | libav | ||||||||||
27 | Video Tutorial: avconv | A 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. | 72 | rsbultje | hard | Outreach | libav | ||||||||||
28 | Test VLC 1.2 with samples | This tasks consists in testing our repository sample and report the bugs that were found on it. | 72 | jb | easy | Q/A | VLC | ||||||||||
29 | VLC 1.2 testing on Windows | VLC 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. | 48 | jb | easy | Q/A | VLC | ||||||||||
30 | VLC 1.2 testing on Mac | VLC 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. | 48 | jb | easy | Q/A | VLC | ||||||||||
31 | Find VC-1 progressive samples which break decoder | VC-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. | 24 | rsbultje | medium | Q/A | libav | ||||||||||
32 | VLC testing guidelines | VLC 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. | 120 | jb | medium | Q/A | VLC | ||||||||||
33 | Find a bug in the VC-1 interlaced decoder | VC-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. | 72 | rsbultje | hard | Q/A | libav | ||||||||||
34 | add FATE (regression) tests | Libav 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. | 48 | rsbultje | hard | Q/A | libav | ||||||||||
35 | Find a VC-1 interlaced encoded Bluray | VC-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. | 24 | rsbultje | easy | Research | libav | ||||||||||
36 | MPEG presets | The 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. | 48 | rsbultje | medium | Research | libav | ||||||||||
37 | MPEG defaults | The 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. | 48 | rsbultje | medium | Research | libav | ||||||||||
38 | MPEG-4 vs Xvid | Libav 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. | 48 | rsbultje | medium | Research | libav | ||||||||||
39 | Find a security vulnerability in any Libav decoder/demuxer | You 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. | 24 | rsbultje | hard | Research | libav | ||||||||||
40 | Find a security vulnerability in any VLC decoder/demuxer | You 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. | 24 | rsbultje | hard | Research | VLC | ||||||||||
41 | VLC usage videos | Create VLC video screencast that we can use to help users use VLC correctly | 48 | jb | easy | Training | VLC | ||||||||||
42 | Check libVLC examples for 1.2 | We 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 bugs | 4 | ivoire | easy | Training | VLC | ||||||||||
43 | Write a "how to write assembly" guide | In 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. | 12 | rsbultje | medium | Training | libav | ||||||||||
44 | Libav examples. | Prepare a set of increasingly difficult examples of libav api usage. | 120 | rsbultje | hard | Training | libav | ||||||||||
45 | libVLC Elementary example media player | Creating a small example of how to create a media player based on libVLC and Elementary on Linux. | 120 | rsbultje | hard | Training | VLC | ||||||||||
46 | Libav skeletons muxer/demuxer, encoder/decoder | Write an example muxer, demuxer, encoder, decoder exposing all the api features while being empty. | 48 | rsbultje | hard | Training | libav | ||||||||||
47 | Translate the main VideoLAN webpage | Translate the main page of VideoLAN.org into another language | 48 | jb | easy | Translation | VideoLAN | ||||||||||
48 | Translate the main VLC webpage | Translate the main page of the VLC project into another language | 48 | jb | easy | Translation | VideoLAN | ||||||||||
49 | Translate the dvblast man page | Translate the dvblast man page in a non-english language. | 48 | jb | medium | Translation | VideoLAN | ||||||||||
50 | Translate the avconv man page | Translate the avconv man page in a non-english language. | 48 | rsbultje | medium | Translation | libav | ||||||||||
51 | Prepare the VideoLAN website for translation | Prepare the website and identify the strings that need to be translated | 72 | jb | hard | Translation | VideoLAN | ||||||||||
52 | VLC open dialog redesign | The VLC open dialog is badly designed and confusing. Suggesting new ideas and screenshot to improve the interaction would be very useful. | 72 | jb | easy | User Interface | VLC | ||||||||||
53 | command line user interface | Libav 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. | 24 | rsbultje | medium | User Interface | libav | ||||||||||
54 | VLC win32 screen controller redesign | Redesign the VLC fullscreen controller for Windows | 120 | jb | medium | User Interface | VLC | ||||||||||
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 | 72 | jb | medium | User Interface | VLC | ||||||||||
56 | VLC Metro interface | As Windows 8 is coming faster, we need to design an interface for VLC using the Metro/Win8 look. | 120 | jb | hard | User Interface | VLC | ||||||||||
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 |