News:

--

Main Menu

Anti-Aliasing Filter?

Started by Chibiboi, August 07, 2023, 07:55:15 AM

Previous topic - Next topic

Chibiboi

I've been using AVIDemux for a while now for all my video cutting and encoding needs because it's so simple to use and super fast. I was wondering if there are any plans to implement an anti-aliasing filter to the program? I'm capturing some VHS tapes right now and the deinterlacing process leaves some aliasing artifacts during most panning scenes and it would be really convenient to have an anti-aliasing filter since I'd rather not go through the trouble and time of using VapourSynth to encode.

eumagga0x2a

Quote from: Chibiboi on August 07, 2023, 07:55:15 AMI'm capturing some VHS tapes right now and the deinterlacing process leaves some aliasing artifacts during most panning scenes

Just as a reminder: If the device which captures VHS tapes encodes them using a lossy codec as progressive pictures, the result is ruined and cannot be fully restored later. The encoder needs to know whether it must switch to a scan method compatible with interlacing. Especially bad and accordingly hopeless are cases when an interlaced source had been resized prior to being deinterlaced.

Quote from: Chibiboi on August 07, 2023, 07:55:15 AMit would be really convenient to have an anti-aliasing filter

I cannot really imagine that you were able to overlook the "Interlacing" category in the filter manager in Avidemux. On Linux, it features "dgbob", "Kernel Deint.", "Libavdec Deinterlacers", "VA-API Deinterlacer", "vdpauDeint" and "Yadif", with the latter (and dgbob) being probably the best choice for Windows users where Linux-specific VDPAU and VA-API hardware acceleration APIs are not available.

However, none will fix a source ruined by previous improper handling.


eumagga0x2a

I shouldn't try to answer questions when very tired  ;D

Nevertheless, the first part is valid (the second one obviously is rubbish). The point is eventually to do one step back and analyze whether something impairs the deinterlacer.

Indeed, if I am not mistaken, there is no video filter in Avidemux to perform antialiasing at the moment.

Chibiboi

Quote from: eumagga0x2a on August 07, 2023, 11:12:03 PM
Quote from: Chibiboi on August 07, 2023, 07:55:15 AMI'm capturing some VHS tapes right now and the deinterlacing process leaves some aliasing artifacts during most panning scenes

Just as a reminder: If the device which captures VHS tapes encodes them using a lossy codec as progressive pictures, the result is ruined and cannot be fully restored later. The encoder needs to know whether it must switch to a scan method compatible with interlacing. Especially bad and accordingly hopeless are cases when an interlaced source had been resized prior to being deinterlaced.

Quote from: Chibiboi on August 07, 2023, 07:55:15 AMit would be really convenient to have an anti-aliasing filter

I cannot really imagine that you were able to overlook the "Interlacing" category in the filter manager in Avidemux. On Linux, it features "dgbob", "Kernel Deint.", "Libavdec Deinterlacers", "VA-API Deinterlacer", "vdpauDeint" and "Yadif", with the latter (and dgbob) being probably the best choice for Windows users where Linux-specific VDPAU and VA-API hardware acceleration APIs are not available.

However, none will fix a source ruined by previous improper handling.



I think I should've clarified. I'm capturing anime tapes. The video I'm inputting into AVIDemux is progressive. The artifacts I'm referring to are aliased lines from the fields not being fully interpolated during the deinterlacing process. My capture card's deinterlacing method is yadif, and it does a pretty good job most of the time. But there are some portions of the video (particularly panning sequences) where aliasing is really noticeable.

I'm able to actually get rid of the aliasing really well using VapourSynth and the DAA filter. But I wanted to do everything in AVIDemux if possible.

Here's an example frame. Aliased vs with DAA filter applied. Would be great if there were an anti-aliasing filter like this for AVIDemux.



eumagga0x2a

Thanks, did you upscale the picture to make aliasing more pronounced or is it in general a part of editing pipeline?

Quote from: Chibiboi on August 12, 2023, 09:27:14 AMMy capture card's deinterlacing method is yadif

Just curious, how do you know? Did the card arrive with a proper documentation?

Quote from: Chibiboi on August 12, 2023, 09:27:14 AMI'm able to actually get rid of the aliasing really well using VapourSynth and the DAA filter. But I wanted to do everything in AVIDemux if possible.

VC++ builds of Avidemux for Windows (as well as Linux- and macOS-builds when compiled with VapourSynth support) can invoke VapourSynth by means of opening a VapourSynth script with Avidemux. Of course, it is still VapourSynth which does the job.

Chibiboi

Quote from: eumagga0x2a on August 12, 2023, 10:45:20 PMThanks, did you upscale the picture to make aliasing more pronounced or is it in general a part of editing pipeline?
It's a part of the editing pipeline because I'm not capturing lossless, so I blow it up to help preserve some details before I downscale it back to 640x480

Quote from: eumagga0x2a on August 12, 2023, 10:45:20 PMJust curious, how do you know? Did the card arrive with a proper documentation?
I lied out of convenience  :P  I actually meant my capture software (OBS Studio) deinterlaces it using yadif x2 which doubles the framerate. Unfortunately I haven't found a software for MacOS that is able to capture and encode interlaced footage, which would be ideal. I used to use the Hauppauge HD PVR2, which actually did an amazing job and would encode 480i properly, but it would have some digital glitches every now and then, which I couldn't use for archival purposes.

Quote from: eumagga0x2a on August 12, 2023, 10:45:20 PMVC++ builds of Avidemux for Windows (as well as Linux- and macOS-builds when compiled with VapourSynth support) can invoke VapourSynth by means of opening a VapourSynth script with Avidemux. Of course, it is still VapourSynth which does the job.
Oh I didn't know that! That could be useful. Where can I get that? I've been using commandline to encode. It's also incredibly slow when I add filters to it, especially DAA.