Lair Of The Multimedia Guru

June 9, 2006

Deinterlacing filters

Below you will find a comparission of various deinterlacing filters, the interlaced source was created with mplayer using the phase=t and tinterlace=1 filters from the well known foreman video

all pictures where exported with mplayer -vo pnm and ppmtojpg --optimize --quality 90 why not -vo jpeg? well i didnt had -vo jpeg compiled in and -vo jpeg only accepts rgb input, so there wouldnt have been any advantage in using it …

Most deinterlacing filters only output one frame for every 2 fields that combined with the fact that some always choose the even, some always the odd and some always the first no matter if thats even or odd made this comparission less funny then i hoped originally, due to this little issue several filters (pp=ci and kerndeint IIRC) had to be feeded with vertically fliped video and tomsmocomp even needed -vf phase=b to output a frame based on the correct field and yes i of coarse did specify the top vs. bottom field first flag correctly as long as the filter had such an option …

Original non interlaced image
interlaced image mplayer -vf phase=t,tinterlace=1
mplayer -vf pp=lb (linear blend)
mplayer -vf pp=l5 (5tap lowpass filter)
transcode -J smartyuv
mplayer -vf pp=fd
mplayer -vf pp=md (median deinterlacer)
mplayer -vf pp=li (linear interpolate)
mplayer -vf pp=ci (cubic interpolate)
transcode -J dilyuvmmx
mplayer -vf kerndeint (Donald Graft’s adaptive kernel deinterlacer)
transcode -J smartdeinter (VirtualDub’s smart deinterlacer)
transcode -J tomsmocomp (Tom’s Motion Compensation deinterlacing filter)
mplayer -vf yadif=1:1
mplayer -vf yadif=3:1
mplayer -vf yadif=1:1,mcdeint=2:1:10
mplayer -vf yadif=3:1,mcdeint=2:1:10
Filed under: Uncategorized — Michael @ 16:48

52 Comments »

  1. Good comparison highlighting effectiveness of YADIF (been a fan since it was first released).

    But why is my ffmpeg x264 encode so slooow? -vf “yadif=3:0,mcdeint=2:0,framestep=2,scale=-1:720”
    on a tff Sony Handycam 1440x1080i MTS clip gave me just 0.3 ~ 0.4 fps !!!
    On an i7 IvyBridge Quad, 16GB RAM, SSD boot, Intel RAID-0 pair of Black Caviars.
    I got lots of “snow” msgs of “pass 1” “pass 2”, etc msgs before each encode output, and low CPU usage.
    Using simple -vf “yadif=0:0,scale=-1:720” -sws_flags lanczos gets me 38 fps with no discernible difference in visual quality (unless you explicitly look out for them). And 99+% usage on all 8 virtual CPUs.

    Did I do anything wrong? Is mcdeint the culprit here (single tasking?) ? It can’t be 100x slower!
    Thank you for any guidance and response, I know this is an old thread.

    Comment by XEQtor — May 22, 2015 @ 9:27

  2. Hello, i feel that i noticed you visited my web site so i came
    to return the favor?.I’m attempting to to find things
    to enhance my web site!I suppose its good enough
    to use a few oof your concepts!!

    Comment by ĂȘtre riche — December 12, 2015 @ 9:09

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress