[FFmpeg-user] [FFmpeg-devel] next Outreachy & GSoC ideas braindump [RFC]
Ronald S. Bultje
rsbultje at gmail.com
Thu Aug 4 03:14:48 EEST 2016
On Wed, Aug 3, 2016 at 7:48 PM, Ronald S. Bultje <rsbultje at gmail.com> wrote:
> On Wed, Aug 3, 2016 at 1:57 PM, Michael Niedermayer <
> michael at niedermayer.cc> wrote:
>> Hi all
>> Sun, Jul 31, 2016 at 10:01:00PM +0200, Michael Niedermayer wrote:
>> > Hi all
>> > you have a great idea for a Outreachy task or a GSoC task ?
>> > Or something you always wanted to do but never had the time and
>> > it would fit in the time for GSoC/Outreachy ?
>> > Or some feature you always wanted which would fit as a task?
>> > Also keep in mind Outreachy is more flexible and not limited to
>> > coding tasks !
>> > reply and dump it here below:
>> ping ?
>> also cc-ing ffmpeg-user
>> or are all feature requests on trac fake and noone has anything they
>> think should be implemented ?
>> we need ideas for Outreachy, the page is EMPTY:
> I have some ideas. Most are TODOs / extensions to stuff I wrote that I
> never ended up doing myself. Some might be hard.
> - avx2 loopfilter functions. Qualification task: explain to me without any
> guidance why it's an issue for AVX2 (or SSE2) that the loopfilter in vp9.c
> works on 8px blocks, and explain how I solved that to work on 16px blocks
> to use SSE2 instructions, and likewise explain how you would extend that to
> work on 32px blocks.
> - coefficient reading optimizations or arithmetic symbol reading
> optimizations. I think this is too hard but it would be an amazing speed
> optimization in vp9 decoding, since this is where pretty much all runtime
> is spent after other optimizations.
> - tile threading. This may actually be a nice qual task for the next block
> since this is quite easy.
> - implement a mode that allows combining those. Qual task could be to
> implement vp9 tile threading or something like that. Final deliverable
> would implement this for at least vpN codec and one h.26x codec.
> I'll think about others. I'm willing to mentor the above maybe.
Thinking more about frame/slice-mt combination, I'd also like someone to
implement WPP threading (in addition to tile/frame) for HEVC, and again a
mode to combine WPP/tile + frame. The term "slice-mt" also becomes
questionable and might need renaming to something broader.
But then again, I also feel that for outreachy, these tasks might be hard
and "vp9 tile" or "hevc wpp" might be a full outreachy task on their own,
and "*-mt combining" might just be too hard for a "new" student. Comments?
I also don't want to mentor everything myself so I'd probably want someone
else to mentor hevc bits so I can remain more narrowly focussed on vp9 for
More information about the ffmpeg-user