Skip to content

PROJECTS

FFmpeg GSoC projects

52 accepted projects across 11 cycles, 2016 to 2026. Each one links to its contributor, mentors and code.

Projects listed

52

Across 11 cycles

In GSoC 2026

3

3 in 2025

Busiest cycle

2024

7 projects

Mentors named

32

Across all listed projects

First cycle

2016

Latest 2026

Projects per cycle

FFmpeg, 2016 to 2026

  1. 7
  2. 3
View as table
FFmpeg projects per cycle
Projects
20167
20176
20185
20196
20205
20215
20222
20233
20247
20253
20263
  1. Improve WHIP(WebRTC-HTTP Ingest Protocol) Support

    Aditya Banavi

    FFmpeg already supports WHIP, allowing users to publish WebRTC streams using HTTP signaling. This project aims to extend WHIP support by adding...

  2. WebRTC-HTTP Egress Protocol (WHEP)

    Nariman Sayed

    FFmpeg can send WebRTC streams via WHIP but has no way to receive them. This project fills that gap by implementing a WHEP demuxer in libavformat,...

  3. Modernizing LibTorch Backend with Zero Copy and Batching

    Raja Rathour

    Building upon the recently merged asynchronous execution infrastructure in the FFmpeg LibTorch backend, this project targets two high-impact...

  1. ProRes Vulkan decoder

    averneMentored by Niklas Haas, Lynne Null

    ProRes is a video codec developed by Apple, and is frequently used as an intermediate in video editing, sitting in-between raw formats and consumer...

  2. ProRes Vulkan Encoder

    Geo SterMentored by Niklas Haas, Lynne Null

    ProRes is a popular codec for video editors and professional due to its high quality. FFmpeg has supported it for a while, but lacks hardware...

  3. Implementation of WHIP (WebRTC-HTTP Ingestion Protocol) in FFmpeg

    Jack LauMentored by Steven Liu, Jun Zhao

    Synopsis: Support WebRTC-HTTP ingestion protocol for FFmpeg but do minimal changes to current code. Support basic ICE candidate exchange and basic...

  1. eSSIM: video filter implementation

    Andrea MastrobertiMentored by Thilo Borgmann, Cosmin Stejerean

    eSSIM presents a solution to the limitations of the widely adopted SSIM metric in accurately assessing human visual perception and performance. This...

  2. Addition of PU21 Transform Filter

    Rajiv HarlalkaMentored by Thilo Borgmann, Cosmin Stejerean

    The project incorporates addition of a new video filter to FFmpeg, PU21 transform. PU21 has been developed to convert absolute high dynamic range...

  3. Update SITI filter to match with latest specification.

    Poorva GaikarMentored by Thilo Borgmann, Frank Plowman, Cosmin Stejerean

    This proposal aims to update the SITI video filter within FFmpeg to align with the latest ITU-T P.910 specification. The current implementation...

  4. Vulkan VC-2 encoder

    Geo SterMentored by Niklas Haas, Lynne Null

    VC-2 is a relatively recent codec for high definition video in high bitrate applications. While hardware encoders for it exist, they come with many...

  5. Performance enhancement of VVC decoder via x86 SIMD assembly

    Stone ChenMentored by Nuo Mi, Wu Jianhua

    VVC is the successor to the well-known codec HEVC and is currently being implemented in FFmpeg. This project will focus on improving the performance...

  6. VC-2 decoder Vulkan Implementation

    pmozilMentored by Niklas Haas, Lynne Null

    This projects's aim is to implement the VC-2 decoder for FFmpeg in vulkan. VC-2 is a low-latency video codec that uses wavelet transforms and entropy...

  7. Enhancement of FFmpeg's libvmaf Filter

    Yigithan YigitMentored by Thilo Borgmann, Kyle Swanson

    Project aims to enhance current implementation of the libvmaf filter in FFmpeg, which calculates the Video Multimethod Assessment Fusion (VMAF) for a...

  1. Implementing an Audio Overlay Filter

    Harshit KarwalMentored by Thilo Borgmann, Paul B Mahol

    The Audio Overlay Filter aims to provide the functionality of replacing specified sections of an audio stream with other input audio streams. I will...

  2. x86_64 Assembly code for VVC decoding filters

    zackerthescarMentored by J. Dekker, Nuo Mi

    Versatile Video Codec (a.k.a VVC, H.266) is the successor to the popular High Efficiency Video Codec (a.k.a HEVC, H.265) video compression standard....

  3. Future-proofing FFmpeg — VVC Decoder Improvements

    Frank PlowmanMentored by Nuo Mi, Anton Khirnov

    Versatile video coding (VVC) is a recent standard for video compression. It is the newest in a line of standards which have proven extremely...

  1. GPU (CUDA) accelerate common software video filters

    Mohamed Khaled MohamedMentored by Timo Rothenpieler

    FFmpeg has existing widely used filters that runs perfectly but on the CPU without using the GPU, so I will be working on writing some of these...

  2. Add support for Part 15 to the JPEG 2000 (HT) decoder

    etemesiMentored by Pierre

    This proposal aims to implement an ISO ITU-T Rec. T.814 compliant High Throughput jpeg2000 decoder for ffmpeg. The new jpeg2000 standard while being...

  1. FFmpeg x86-64 assembly FFT

    luc65rMentored by Lynne

    The new frequency transformation infrastructure in libavutil is lacking 64-bit float versions of FFTs and MDCTs for x86. This projects aims at...

  2. FFT assembly

    Martynas StankevičiusMentored by Lynne

    libavutil is being expanded with a modern way of handling frequency transformation. The project aims to significantly increase the speed of this code...

  3. H264/HEVC ARM64 10-bit assembly

    Mikhail NitenkoMentored by Josh Dekker, Thilo Borgmann

    Modern codecs require handwritten SIMD assembly for good performance, much of this has been implemented for 8-bit depth in h264 and hevc but there...

  4. TX AArch64 Doubles SIMD Assembly

    S.M Mukarram NainarMentored by Lynne

    I plan to write SIMD assembly for the new tx (transform) subsystem in FFmpeg, targeted at AArch64 for double precision inputs.

  5. Guided Filter in FFmpeg

    Xuewei MengMentored by Jun Zhao, Steven Liu

    Dehaze, derain, and denoise are very common image processing tasks, aiming to improve the visual quality of images. Even worse, the low-quality...

  1. JPEG 2000 Decoder improvements

    Gautam RamakrishnanMentored by michaelni

    FFMPEG has a native JPEG2000 decoder. However, the decoder is incomplete and does not support all types of JPEG2000 files. The aim of this project is...

  2. ABR module for FFmpeg

    Hongcheng ZhongMentored by Qi Liu, Jun Zhao

    The goal of this project is to implement an adaptive bitrate (ABR) module into video streaming protocols over HTTP such as DASH / HLS to achieve...

  3. FLIF Encoder & Decoder Project

    Kartik K. KhullarMentored by darkapex, Thilo Borgmann

    FLIF is a modern lossless image format with very good compression ratio compared to other formats. I worked to implement this codec under FFmpeg...

  4. Audio Tones Source Filter

    Ashutosh PradhanMentored by Paul B. Mahol, Thilo Borgmann

    The aim of this project is to create an audio tones source filter that generates music algorithmically. The filter uses Fluidsynth API and gives the...

  5. Implementation of a FLIF Codec in libavcodec

    aghoruiMentored by darkapex, Thilo Borgmann

    Free Lossless Image Format (FLIF) is a relatively new lossless image format which claims to have a higher compression ratio than most conventional...

  1. Implement OpenCL Deshake Filter

    Jarek SamicMentored by Mark Thompson

    The goal of this project is to write a solid, feature-complete, and reasonably performant implementation of the deshake video filter in OpenCL. This...

  2. Derain Filter in FFmpeg

    Xuewei MengMentored by Steven Liu

    Rain and fog are very common weather in actual life. However, it can affect the visibility. Especially in heavy rain, rain streaks from various...

  3. HEIF Support

    Swaraj HotaMentored by Carl Eugen Hoyos

    The aim of this project is to add support for HEIF/HEIC files in FFmpeg. High Efficiency Image File Format (HEIF) specifies the storage of individual...

  4. 360° video filter

    Eugene LyapustinMentored by Thilo Borgmann, Paul B Mahol

    For the past several years 360° cameras have become far more accessible, and several video-sharing services enabled support for 360° videos (for...

  5. DICOM Support

    Shivam GoyalMentored by Carl Eugen Hoyos, Thilo Borgmann

    The project aims to program a demuxer in the libavformat and a parser and decoder in the libavcodec library. As DICOM files contain lots of metadata...

  6. DNG Raw Image Format Support

    Nick RenierisMentored by Paul B Mahol

    Digital Negative (DNG) image format decoding support for the FFmpeg project. DNG is an open lossless/raw image format meant to standardize and...

  1. Super Resolution Filter

    Sergey LavrushkinMentored by Pedro Souza

    For the past two years several image and video super resolution methods have been proposed that are based on convolutional neural networks. This work...

  2. FFserver replacement

    klaxaMentored by atomnuker

    The goal of this project is to write a replacement for the now removed ffserver component. It should meet the criteria proposed for the work on...

  3. OpenCL support for Libavfilter

    Danil IashchenkoMentored by Mark Thompson

    This project focuses on implementing OpenCL support for Libavfilter, with other parts of the project (including scaling, color conversion and...

  4. Color Constancy Filter

    Mina SamiMentored by Thilo Borgmann

    Various implementations of color constancy filter using machine learning and low-level image statistics.

  5. Cineform Decoder Improvements

    Gagandeep Singh-2Mentored by kierank

    The GoPro Cineform codec is a cross-platform intermediate codec designed for editing high-resolution footage. It was original designed for compressed...

  1. Fully featured Ambisonic decoder implemented as a filter

    Sanchit SinhaMentored by Paul B Mahol

    Ambisonics is a full-sphere surround sound technique: in addition to the horizontal plane, it covers sound sources above and below the listener....

  2. FITS image encoder and decoder

    Paras ChadhaMentored by Paul B Mahol

    The project aims at implementing the FITS image encoder and decoder in ffmpeg. FITS is an open standard defining a digital file format useful for...

  3. mInterpolate Improvements

    Davinder SinghMentored by Michael Niedermayer

    Improve quality of frames generated by currently implemented Motion Compensated Frame Rate Conversion video filter - mInterpolate by implementing...

  4. VP9 decoder improvements

    Ilia ValiakhmetovMentored by Ronald S. Bultje

    Assembly optimizations that take advantage of avx2 instruction set to provide performance improvements to the vp9 decoder. Tile threading support.

  5. Vorbis Encoder Improvements

    Tyler JonesMentored by atomnuker

    Vorbis as a lossy audio codec provides excellent quality audio compared to other codecs at a similar bit rate, including MP3, and even comparable to...

  6. VMAF video filter

    Ashish Pratap SinghMentored by Ronald S. Bultje

    VMAF is a perceptual video quality assessment algorithm developed by Netflix. The project aims to create a fully functional video filter inside...

  1. FFv1 P frame support

    sdolganovMentored by Reynaldo Verdejo, michaelni

    This project proposed implementation of P frames with motion compensation and motion estimation support for FFv1 FFmpeg codec and its fine-tuning...

  2. MPEG-4 Audio Lossless Coding (ALS) encoder implementation

    Mohammad UmairMentored by Thilo Borgmann, Paul B Mahol

    The project aims at enhancing and merging the MPEG-4 ALS encoder, which has been written already, into the official FFmpeg codebase. Second, the...

  3. VDPAU filter

    Benjamin StMentored by cehoyos

    FFmpeg has implemented VDPAU video decoding for quite a time.This project focuses on adding VDPAU filtering support to FFmpeg, allowing to further...

  4. Motion Interpolation Filter

    DSM_Mentored by Paul B Mahol

    Generate video frames by means of interpolation between existing ones by estimating the "true" motion using various algorithms, in attempt to make...

  5. Tee muxer improvement

    Ján SebechlebskýMentored by Cus

    Tee muxer is capable of writing same coded packets to multiple outputs. However in current implementation outputs are being blocked by each other and...

  6. Improve selftest coverage

    psincraianMentored by Timothy Gu, Reynaldo Verdejo, michaelni

    Doing changes on large projects can break the project, besides finding bugs can be hard and tedious. Tests help to prevent, find and fix bugs much...

  7. TrueHD Encoder

    darkapexMentored by atomnuker

    Dolby TrueHD is one of the lossless audio codecs used on Blu-ray discs. FFmpeg is capable of decoding TrueHD content, but encoding functionality is...

Data: Google Summer of Code public archive. Official GSoC archive