Summer of Code 2021
Introduction
This year Xiph.org is focusing on the rav1e AV1 encoder for its GSoC participation. Both video and still images are currently hot topics, especially with the recent support of AVIF within browsers.
Below you'll find the description for the following GSoC project ideas around the rav1e project.
If you want to know more about a particular idea, please get in touch with the people listed under "possible mentors". While no guarantee, that the person will be the actual mentor for the task, they know it and will be happy to answer your questions.
In our previous participation we focused a lot on our multimedia codec projects. This turned out to be very challenging for students. So this year we're not offering project ideas from those. If you're a student interested in codec work, have previous experience in it and are confident, that you can convince us, you're welcome to get in touch.
Detailed Project Descriptions
These ideas were suggested by various members of the developer community as projects that would be beneficial and which we feel we can mentor. Students should feel free to select one of these, develop a variation, or propose their own ideas. Here, ideally.
rav1e-by-gop integration
rav1e-by-gop is an extended command line encoder that provides additional encoding strategies such as by-gop parallel encoding across multiple machines.
Problem / Intro
rav1e-by-gop is currently a command line program, some users might want to enjoy on the extended features from other programs even if they do not always belong to an encoder.
Solution / Task
make rav1e-by-gop expose the same API of the normal rav1e to make easy to use the multiple machine encoding features from other programs.
Requirements
The student should be familiar with Rust or C programming.
Video knowledge is not strictly necessary, however a basic understanding of the concepts is vastly beneficial.
Possible Mentors
Support WebAssembly SIMD
rav1e supports the WASI target and it has a javascript API binding relying on it.
Problem / Intro
The WebAssembly SIMD is getting closer to be available, we should support it.
Solution / Task
Implement SIMD routines for the platform.
Requirements
The student should be familiar with Rust, WASM, wasmtime and related tools.
Possible Mentors
Extend av-metrics
av-metrics is a collection of video quality metrics.
Problem / Intro
av-metrics does not implement extended metrics such as VMAF and support rate-distortion evaluation.
Solution / Task
Implement additional metrics and add an API to simplify the rate-distortion evaluation Develop additional command line tools to simplify benchmarking.
Requirements
The student should be familiar with Rust and C.