Am So., 2. Juli 2023 um 18:57 Uhr schrieb Lynne <d...@lynne.ee>: > Jul 2, 2023, 18:54 by d...@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. >
I developed the bwdif to achieve the best possible balance between speed and quality of all different image contents from the broadcast point of view. This includes moving video as well as moving and static graphic elements. Unfortunately, the improvement of one image content often leads to the degradation of another. The code you removed fundamentally stabilizes the static graphic elements. This outweighs the slightly more frequent artifacts in moving video considering the general purpose of the filter. For noisy pure motion video content, for example, the w3fdif is better suited, since it does not make if/else decisions and thus does not produce artifacts. Regards, Thomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".