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 -vf bwdif=mode=send_field -c:v rawvideo -y .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 .nut -vf crop=w=420:h=240:x=700:y=300,scale=iw*2:ih*2 -y .png https://files.lynne.ee/bwdif_02_before.png https://files.lynne.ee/bwdif_02_after.pngffmpeg -ss 00:00:00.417 -i .nut -vf crop=w=420:h=240:x=1100:y=200,scale=iw*2:ih*2 -y .png