Changes between Version 1 and Version 2 of SponsoringPrograms/GSoC/2018


Ignore:
Timestamp:
Jan 9, 2018, 2:19:38 PM (11 months ago)
Author:
richardpl
Comment:

remove previous years attempted/completed projects

Legend:

Unmodified
Added
Removed
Modified
  • SponsoringPrograms/GSoC/2018

    v1 v2  
    5151This section lists well-defined projects that have one or more available mentors. If you are new to FFmpeg, and have relatively little experience with multimedia, you should favor a mentored project rather than propose your own. Contact the respective mentor(s) to get more information about the project and the requested qualification task. 
    5252 
    53 == FITS image decoder and encoder == 
    54  
    55 '''Description:''' Flexible Image Transport System (FITS) is an open standard defining a digital file format useful for storage, transmission and processing of scientific and other images. FITS is the most commonly used digital file format in astronomy. 
    56  
    57 '''Expected results:''' Fully working decoder and encoder. 
    58  
    59 '''Prerequisites:''' C coding skills, basic familiarity with git. 
    60  
    61 '''Qualification Task:''' XPM decoder implemented in libavcodec 
    62  
    63 '''Alternative Qualification Task:''' add native DWA/DWB decompression in libavcodec OpenEXR implementation 
    64  
    65 '''Mentor:''' Paul B Mahol (''durandal_1707'' in #ffmpeg-devel on Freenode IRC, onemda@gmail.com) 
    66  
    67 '''Backup mentor:''' Rostislav Pehlivanov (''atomnuker'' in #ffmpeg-devel on Freenode IRC, atomnuker@gmail.com) 
    68  
    69 == VMAF video filter == 
    70  
    71 '''Description:''' Video Multi-Method Assessment Fusion (VMAF) is an video quality metric developed (https://github.com/Netflix/vmaf) by Netflix. The metric provides an indication of how closely a video resembles a source/reference. This is semantically similar to PSNR/SSIM, but VMAF is supposed to more closely reflect human visual perception. FFmpeg currently has video filters that measure PSNR/SSIM of any input video file compared to a reference, but it currently has no support for VMAF. In this task, you will add support for VMAF to FFmpeg. 
    72  
    73 '''Expected results:''' Fully functional video filter that measures the VMAF of any input video compared to a reference, and that does not depend on Netflix' code. You should be able to run a command like "ffmpeg -i file -i ref -lavfi vmaf -f null -" and it should give identical results to Netflix' run_vmaf.py tool. If there is time, you will also write x86 SIMD optimizations. 
    74  
    75 '''Prerequisites:''' C coding skills, basic familiarity with git. 
    76  
    77 '''Qualification Task:''' Create a vmaf video filter based on (and linking to) Netflix' codebase. 
    78  
    79 '''Mentor:''' Ronald S. Bultje (''BBB'' in #ffmpeg-devel on Freenode IRC, rsbultje@gmail.com) 
    80  
    81 '''Backup mentor:''' Thilo Borgmann (thilo.borgmann AT mail de) 
    82  
    83 == VP9 decoder improvements == 
    84  
    85 '''Description:''' VP9 is a video codec developed by Google. It yields significantly better quality per bit compared to H.264, which is why many websites - e.g. Youtube - use VP9 (if the client supports it) to stream video over internet. FFmpeg has a native VP9 decoder that is significantly faster than Google's reference implementation. In this task, you will make this decoder even better. 
    86  
    87 '''Expected results:''' Improve FFmpeg's VP9 native decoder by implementing one or more of the following subtasks: 
    88 * AVX2 implementations for all 10/12bpc DSP functions 
    89 * AVX2 implementation for 8bpc loopfilter function 
    90 * native alpha channel (transparency) support for VP8/9 decoders 
    91 * tile threading support 
    92  
    93 '''Prerequisites:''' C coding skills, x86 assembly skills (or the will to learn), basic familiarity with git. The AVX2 tasks require access to a Haswell or better x86 machine. (ask kierank on irc if you need access to one) 
    94  
    95 '''Qualification Task:''' Finish one task from the list in expected results. 
    96  
    97 '''Mentor:''' Ronald S. Bultje (''BBB'' in #ffmpeg-devel on Freenode IRC, rsbultje@gmail.com) 
    98  
    99 '''Backup mentor:''' Rostislav Pehlivanov (''atomnuker'' in #ffmpeg-devel on Freenode IRC, atomnuker@gmail.com) 
    100  
    101 == Ambisonic decoder == 
    102  
    103 '''Description:''' Ambisonics is a full-sphere surround sound technique: in addition to the horizontal plane, it covers sound sources above and below the listener. 
    104  
    105 '''Expected results:''' Fully featured decoder implemented as filter in libavfilter. 
    106  
    107 '''Prerequisites:''' C coding skills, basic familiarity with git. 
    108  
    109 '''Qualification Task:''' Implement simple square decoder. 
    110  
    111 '''Alternative Qualification Task:''' Implement one of shelf filters as required by ambisonic decoding. 
    112  
    113 '''Mentor:''' Paul B Mahol (''durandal_1707'' in #ffmpeg-devel on Freenode IRC, onemda@gmail.com) 
    114  
    115 '''Backup mentor:''' Rostislav Pehlivanov (''atomnuker'' in #ffmpeg-devel on Freenode IRC, atomnuker@gmail.com) 
    116  
    11753== DICOM support == 
    11854 
     
    15086'''Backup mentor:''' Mohammad Umair (''omerjerk'' in #ffmpeg-devel on Freenode IRC, omerjerk@gmail.com) 
    15187 
    152 == Minterpolate improvements == 
    153  
    154 '''Description:''' Improve the quality of the minterpolate filter by researching and implementing better algorithms. 
    155  
    156 '''Expected results:''' Significant reduction of subjective artifacts and significantly improved objective quality of videos created with minterpolate. Subtasks: 
    157 * Comparission of the existing minterpolate implementation against other implementations (which are freely accessible/testable) 
    158 * Finding the best state of the art algorithms in the academic literature 
    159 * Finding the best competing implementations 
    160 * Implementing and testing the best solutions found in FFmpegs minterpolate 
    161  
    162 '''Prerequisites:''' C coding skills, knowledge of motion estimation, motion compensation and optical flow algorithms. basic familiarity with git. 
    163  
    164 '''Qualification Task:''' Demonstrate that you are able to improve the quality of minterpolate. 
    165  
    166 '''Mentor:''' Michael Niedermayer (''michaelni'' in #ffmpeg-devel on Freenode IRC, michael@niedermayer.cc) 
    167  
    168 == Vorbis encoder improvements == 
    169  
    170 '''Description:''' FFmpeg has a native Vorbis encoder which is known to have quality issues ever since it was implemented. 
    171  
    172 '''Expected results:''' Improve FFmpeg's Vorbis encoder: 
    173 * Add transient detection 
    174 * Switch transform sizes based on lambda 
    175 * Improve the rate control system 
    176 * Use the existing AAC psychoacoustic system to improve the quality 
    177 * Write FATE tests to improve test coverage 
    178  
    179 '''Prerequisites:''' C coding skills, basic familiarity with git. 
    180  
    181 '''Qualification Task:''' Use the existing AAC psychoacoustic system to detect transients 
    182  
    183 '''Mentor:''' Rostislav Pehlivanov (''atomnuker'' in #ffmpeg-devel on Freenode IRC, atomnuker@gmail.com) 
    184  
    185 '''Backup mentor:''' TBA 
    18688 
    18789---- 
     
    203105'''Qualification Task:''' Find a bug in the current decoder implementation and fix it. 
    204106 
    205  
    206107== JPEG 2000 == 
    207108