Stuff to do - troyp/mpv GitHub Wiki
If you're new to the project, and want to help, here are some suggestions what to work on. You're also welcome to come up with your own ideas.
-
We need help with converting mpv from C to a more modern and secure language. This will probably, and unfortunately, be Rust. (Other language suggestions, if appropriate, are welcome. This could for example be something like Ada.) This would probably go as follows:
- Determining feasibility: stable bindings for C dependencies, expected memory/runtime overhead, etc.
- Coming up with a conversion plan: how could the project be incrementally converted
- First experiments: demonstration that incremental conversion is possible, convert first modules, demonstration of advantages of the new language
- Going through with it: someone has to do all the work
-
We need a community manager. This person would reduce the need for developers to deal with day to day operations, such as communicating with users, adjusting the website and documentation, triaging bugs and feature requests, and other non-developer tasks. Anyone volunteering to help with any of this is welcome too.
-
Come up with a way how mpv user scripts (also shaders etc.) can be packaged and updated in a reasonable way. The goal is having a way to automatically manage these scripts.
-
Replace Xlib usage with XCB. (Basically writing a new backend for X11, based on XCB instead of Xlib. Preferably without using the old code, so it can be LGPL.)
-
Make the gamma curve definitions and tone mapping functions in video_shaders.c work for full-range values, and remove the force clip to [0,1]
-
Introduce consistency in our option naming. Reorder the manpage to make options easier to find.
-
Convert the libmpv documentation from in-place doxygen to external documentation (the way vapoursynth does it might be a good idea).
For all of these you should ask on #mpv-devel for help and guidance.