[FFmpeg-devel] [PATCH 5/6] lavfi: add a Vulkan scale filter

Mark Thompson sw at jkqxz.net
Mon Sep 3 00:24:37 EEST 2018

On 21/06/18 17:55, Rostislav Pehlivanov wrote:
> Can convert to RGB using very fast fixed-function conversions.
> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> ---
>  configure                     |   1 +
>  libavfilter/Makefile          |   1 +
>  libavfilter/allfilters.c      |   1 +
>  libavfilter/vf_scale_vulkan.c | 395 ++++++++++++++++++++++++++++++++++
>  4 files changed, 398 insertions(+)
>  create mode 100644 libavfilter/vf_scale_vulkan.c

Would it be difficult to add support for RGB->YUV as well?  Having YUV->RGB only limits the conversion use slightly, especially since it has no colourspace information so you can't trust something else to do the conversion in the opposite direction.

>From testing on ANV / Coffee Lake:

* When doing non-scaling YUV420P->RGB0 conversion on ANV I get something funny on the bottom and right pixel edges of a 1280x720 frame, as if it's taking some unknown value from beyond the edge.

* Scaling 1920x1080 -> 1280x720 from a mapped image seems to do something ugly with extra 8 pixels at the bottom.  The image appears to be 1080 height everywhere inside FFmpeg, but somehow it has the bottom region included as a fill-down of the last line (very obvious with a diagonal line at the bottom of the frame).

* I see some green bleeding in from the bottom in some YUV cases?  Not sure how to characterise them.  If you haven't seen this I can try to track down exactly when.

No comments for the actual code.


- Mark

More information about the ffmpeg-devel mailing list