Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
24th August 2004, 16:42 | #1 | Link |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
MMX optimized LeakKernelDeint 1.5.4
Well, the last version of KernelDeint came out about a year ago, so I decided to take a look at it since I've been heavily using it in my BlendBob plugin.
Much to my surprise, I found that the code was pure C++, with no SIMD optimizations in sight, so I went and optimized it (and took care of a handful of bugs while I was at it): LeakKernelDeint 1.5.4 (with source) I've revamped the motion mask code to use a combined motion mask for both chroma planes in YV12/YUY2, which gets rid of some stray chroma artefacts that the older versions of KernelDeint produced when it deinterlaced a spot on only one chroma plane instead of on both. I've also made the code mirror the top and bottom 4 lines when deinterlacing them so the resolution at the top and bottom is kept intact - the older versions just duplicated every other line there. Additionally, I've added a LeakKernelBob function to the plugin that takes the same parameters as LeakKernelDeint but does full framerate deinterlacing (i.e. it returns a frame for every field). And, of course, I've made the whole thing faster using MMX... (I assume that my pure C++ implementations of the various functions perform a bit worse than Donald's code, but unless you force those to be used it'll use the MMX implementations - which, on my machine, are about 2.5 times as fast as the original KernelDeint in YV12 when measured using AvsTimer, and even more in YUY2 and RGB32) Enjoy. np: Funkstörung - Captured In Tones (ft. Sarah Jay) (Disconnected) Last edited by Leak; 6th November 2006 at 12:39. |
24th August 2004, 19:02 | #3 | Link |
Huh?
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
|
Awesome, I was going to rip my Lion King DVD in a couple of days and I always use KD as a postprocessor for Telecide. Thanks a bunch, Leak .
As a side question: what do you guy use for IVTC postprocessing and/or straight up deinterlacing? |
24th August 2004, 19:06 | #4 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
It's all I've been using lately. np: Manual - Baja Nights (Until Tomorrow) |
|
24th August 2004, 23:54 | #5 | Link |
Registered User
Join Date: Jun 2003
Location: Northampton, England
Posts: 187
|
Nice work Leak.
A note about the KernelBob() - I notice you say it just does the same as the Scharfis' script. Do you think a "proper" bobbing option can be coded? The patent is still downloadable from the following thread: http://neuron2.net/ipw-web/bulletin/...wtopic.php?t=9 |
25th August 2004, 00:20 | #6 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
But still - what do you mean by "proper bobbing"? np: Lali Puna - Small Things (Faking The Books) |
|
25th August 2004, 11:09 | #8 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
But still - where are the bug reports? Surely I must have messed up _somewhere_? np: Underworld - Moaner (Beaucoup Fish) |
|
25th August 2004, 12:45 | #9 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,730
|
I can't get it to crash, but it is nice and fast
KernelBobbing the old way with v1.40, I get ~0.33RT in CCE with my regular TV capture script. With v1.50, I get ~0.42RT so there's a real nice improvement. I wonder what those SSE optimizations might provide
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
25th August 2004, 14:11 | #10 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
Yeah, it's probably not the slowest filter in most chains, so it can't do wonders, but it's still nice to have some speedup... I've sent an email to Milan, as I guess a sped up KernelDeint in ffdshow wouldn't be out-of-place, either... np: Jimi Tenor - Moon Goddess (Beyond The Stars) |
|
25th August 2004, 14:23 | #11 | Link | |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,730
|
Quote:
Edited the chain a bit..
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... Last edited by Boulder; 25th August 2004 at 14:36. |
|
25th August 2004, 16:50 | #12 | Link |
Simply me
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
|
Just a small point.
Shouldn't you call it something else? What happens if Donald wants to update his version - you've pinched his filter name and version sequence Please ignore this if he's given his permission regards Simon
__________________
http://www.geocities.com/siwalters_uk/fnews.html |
25th August 2004, 17:07 | #14 | Link | |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,730
|
Quote:
but is that due to getting correct chroma upsampling or is there some other point? I thought that using ConverttoYUY2(interlaced=true) after reinterlacing worked correctly.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
|
25th August 2004, 17:12 | #15 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
I doubt he'll change his version much, as it hasn't been changed for a year, so I just went with the name and increased the minor version number, as it's mostly optimizations and small bugfixes... np: Manual - Lunate (Until Tomorrow) |
|
25th August 2004, 22:17 | #16 | Link |
Moderator
Join Date: Nov 2002
Location: Inside
Posts: 718
|
Don's away on personal matters. He'll be back when he can, no ETA.
I doubt if he'll mind keeping the same name for the program, but I almost would expect him to find a bug somewhere. Are further SSE/SSE2/3DNOW/3DNOW2 optimizations possible? |
25th August 2004, 22:28 | #17 | Link | |||
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
Quote:
Quote:
I'll probably try it, but I guess I'll go back working on my BlendBob plugin first... np: Radiohead - Kid A (Kid A) |
|||
26th August 2004, 09:23 | #19 | Link | ||
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
Quote:
Quote:
|
||
26th August 2004, 10:28 | #20 | Link | ||||
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
Quote:
Quote:
Quote:
Also, I'm not convinced that the speedup I'll get from going from MMX to SSE/SSE2 (which mostly added floating point stuff I wouldn't use anyway) is as big as the one I got from going from pure C++ to MMX; I'll do it, but it's further down my To-Do list than working on my own plugin again... np: Markus Guentner - So Well (Audio Island) |
||||
Thread Tools | Search this Thread |
Display Modes | |
|
|