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


Ignore:
Timestamp:
Jan 9, 2018, 2:19:38 PM (16 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