[FFmpeg-devel] [PATCH] lavfi: Add OpenCL avgblur filter

Dylan Fernando dylanf123 at gmail.com
Mon Mar 26 16:16:05 EEST 2018


On Fri, Mar 23, 2018 at 9:10 PM, Carl Eugen Hoyos <ceffmpeg at gmail.com>
wrote:

> 2018-03-21 14:09 GMT+01:00, Dylan Fernando <dylanf123 at gmail.com>:
>
> > What information should I put in my GSoC application? How should I
> > structure it? Should I give a rough timeline detailing exactly which
> color
> > conversion and scaling algorithms I’ll be implementing? If so, which
> files
> > should I look at to see the current colour conversion code?
>
> Two blogposts that are meant to help you:
> https://medium.com/@owtf/google-summer-of-code-writing-
> a-good-proposal-141b1376f076
> http://mirca.fun/gsoc-application/
>
> But please remember that in this project, the qualification task
> is more important than the form of the application.
> You of course absolutely have to finish an application, without
> it you cannot be chosen as student.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

Thanks,

I have the project timeline part of my application below. Feel free to
comment any suggestions:

Proposal
Video filtering with OpenCL

Currently, FFmpeg has good support for offloading decoding and encoding
from the CPU, but not such good support for doing anything else with that
video without using the CPU. There is interop support for mapping between
APIs so that generic methods like OpenCL which can be run on any GPU can be
used together with specific video APIs for decoding and encoding, but
currently there are only a few operations which can actually use this so
many use-cases require expensive additional steps to download frames from
the GPU and then upload them again later after performing some processing
on the CPU. Therefore, we would like to add more OpenCL filter support to
libavfilter so that more operations can be offloaded. This includes
implementing a scaler, supporting a choice of scaling algorithms, a
deinterlacer and color conversion.

Timeline
I have a report due for uni in June. This should only take a day or two.
Other than that, I have no commitments. All tasks below include writing
documentation.

Week 1-2:
Implement OpenCL deinterlacer based on yadif

Week 3-6:
Implement OpenCL YUV-to-YUV color conversion based on vf_colorspace

Week 7-9:
Implement OpenCL rgb colorspace conversion

Week 10-14:
Implement scaling algorithms with OpenCL including bilinear, bicubic, and
averaging area


More information about the ffmpeg-devel mailing list