Summer of Code 2021

From XiphWiki
Revision as of 14:38, 19 February 2021 by Lu zero (talk | contribs)
Jump to navigation Jump to search


This year 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.


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

User:Tdaede User:Lu_zero

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.


The student should be familiar with Rust, WASM, wasmtime and related tools.

Possible Mentors