[FFmpeg-devel] [PATCH] lavfi/bwdif: remove interpolated sample clipping

Lynne dev at lynne.ee
Sun Jul 2 19:57:29 EEST 2023


Jul 2, 2023, 18:54 by dev at lynne.ee:

> The issue is that clipping the interpolated temporal sample against
> the spatially predicted sample causes artifacts to appear.
>
> Discovered while writing the Vulkan version (where I omitted the
> same check).
>
> The clipping in the code is carried over from yadif. Removing the
> same code in yadif does not make any difference to the output.
> I think that the check was simply ill-adapted to the new prediction
> code and does more harm.
>
> I tested replacing the range clip with only an FFMAX, and only an
> FFMIN, but in both cases, artifacts still appeared.
>
> Test sample 1: https://files.lynne.ee/testsamples/mbaff_1080i60_idx.mkvTest sample 2: https://files.lynne.ee/testsamples/mbaff_bdmv_1080i60_8slice.mkv
>
> Command line:
> ./ffmpeg_g -cpuflags 0 -i <INPUT> -vf bwdif=mode=send_field -c:v rawvideo -y <OUTPUT>.nut
> Make sure to disable the assembly.
>
> Comparisons:
> https://files.lynne.ee/bwdif_01_before.png
> https://files.lynne.ee/bwdif_01_after.png
> Generated from sample 1 via:
> ffmpeg -ss 00:00:00.184 -i <INPUT>.nut -vf crop=w=420:h=240:x=700:y=300,scale=iw*2:ih*2 -y <OUTPUT>.png
>
> https://files.lynne.ee/bwdif_02_before.png
> https://files.lynne.ee/bwdif_02_after.pngffmpeg -ss 00:00:00.417 -i <INPUT>.nut -vf crop=w=420:h=240:x=1100:y=200,scale=iw*2:ih*2 -y <OUTPUT>.png
>

Corrected links for the second sample:

https://files.lynne.ee/bwdif_02_before.png
https://files.lynne.ee/bwdif_02_after.png
ffmpeg -ss 00:00:00.417 -i <INPUT>.nut -vf crop=w=420:h=240:x=1100:y=200,scale=iw*2:ih*2 -y <OUTPUT>.png

I'm sure I hit a newline. The artifacts are a lot more noticeable in the second sample.



More information about the ffmpeg-devel mailing list