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. |
5th November 2004, 22:29 | #1 | Link |
Tired anime Xvid'r
Join Date: Jan 2003
Location: USA
Posts: 92
|
DeDot manual translation
My roomate and I worked on this the best we could. The translation is pretty grizly and a little vauge becuase my roomate isn't... the best at speaking english yet, so I kind of had to improvise from what he translated from the kanji etc... Maybe some of you guys can help in rephrasing some of this stuff so it makes a bit more sence to what avisynth users are used to. I have no idea what "inter-less" means, the original Japanese reveals nothing more as to what the meaning of that is. The Japanese used to describe the parameters is extremely hard to translate and interpret into English; and into anything thats is actually useful in deciding which settings are best to use. A few of the descriptions sound exactly alike, so there's nothing more I can do it the way of a better interpretation. I'm also a little unsure about what "cross color" means. It's also odd that the author doesn't give any limits for the parameters, so I would just stick to values that are around the defaults. This was a damn pain to translate, but enjoy none-the-less.
--------------------------------------- Plugin tool for Avisynth 2.5 DeDot(v0.3) Made by: Thejam -This filter is intended to reduce color-crosstalk and dot distribution in video frames. Qualifications: You need CPU that can use MMX2 algorithm. This filter is intended to be used for interlaced pictures. Description: To load the filter into your AVS script use: LoadPlugin("~dir\de.dll) Plugin syntax: Dedot(luma2d,lumaT,chromaT1,chromaT2) Defaults are: (20,20,15,5) Luma2d: This value represents the intensity modulation. The smaller this value, the more the filter will consider that pixels are dot distribution. LumaT: This value represents the threshold of intensity modulation. The larger this value, the more the filter will consider that pixels are dot distribution. ChromaT1: This controls the intensity of the filter in dealing with the chroma signal. The larger the value the more the filter will consider the chroma signal as color-crosstalk. ChromaT2: This is the value of the chroma signal The smaller this value, the more the filter will consider the chroma of the pixels to a stronger degree. Warning: You must perform IVTC or deinterlace before you resize it. If the pixels are mixed, the filter will have a hard time determining ?threshold? Notice: I am not responsible for any damages to your computer that the use if this filter may cause. Last edited by helix; 4th August 2005 at 21:03. |
6th November 2004, 02:08 | #2 | Link |
Registered User
Join Date: Feb 2002
Location: Biddeford, Me USA
Posts: 167
|
If I'm reading the warning correctly, the translation should be "You must deinterlace before resizing". Since it uses luma and chroma values, "cross-color" most likely means chroma shift. Can you provide a link to the website so I can see the original text?
|
6th November 2004, 07:32 | #4 | Link |
Registered User
Join Date: Sep 2002
Location: YVR
Posts: 144
|
"Interlace" would be "in-ta-a-re-e-su" in kana, and virtually indistinguishable from "inter-less" when transliterated back into "English" -- well, roman characters, anyway.
DeDotYV12 is available, with a machine-translated mirror, from this thread, but a bunch of searching on Google.co.jp couldn't turn up a working copy of TheJam's original filter and explanation page. |
6th November 2004, 11:25 | #6 | Link |
Member
Join Date: Dec 2001
Location: somewhere far beyond
Posts: 270
|
The user niiyan has also made a translation for this and some other filters some time ago. You can find them via the forum search when searching for "DeDot".
Here's a direct link to his website: http://niiyan.s8.xrea.com/avisynth/index_en.html I personally like his translation even more, easier to understand CU, lamer_de Last edited by lamer_de; 6th November 2004 at 11:27. |
4th August 2005, 06:15 | #8 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
thread resurrection!!!!1!!
yeah, it seems to me that "cross-colour" is a shortening of "colour crosstalk" - which after all is what the filter is designed to fix. i'd be intereseted in a little clarification of what that first threshold is for. it seems to run counter to the other thresholds are for (maybe i should experiment?)
__________________
sucking the life out of your videos since 2004 |
4th August 2005, 20:57 | #9 | Link |
Tired anime Xvid'r
Join Date: Jan 2003
Location: USA
Posts: 92
|
Yeah, that would be a BIG help if you could test. All the dot-crawl I tried to use this filter on doesn't seem to be reduced in any fashion. Maybe because it was progressive or non-separated field clips it was used on, I don't know. So testing would certainly help us to better understand how to use this filter. It seems impossible for me to figure out on my own. I'll change "cross-color" to "color-crosstalk", as it makes more sense. I'd really like to standardize this filter in my scripts, It seems like a great low CPU usage solution to the nasty problem of dot-crawl.
|
4th August 2005, 22:16 | #10 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
I'll give a quick explanation of how the parameters are used in relation to pixel values (this is all taken simply from reading the source code). Its operation is quite simple, which is why it is very fast and is able to be written completely in mmx.
For filtering luma (dot crawl) it uses luma2d and lumaT... consider 'e' to be the current pixel and a,b,c,d,f,g,h,i to be its spatial neighbors in the current frame: a b c d e f g h i dedot first uses the following two tests: abs(b+h-2*e) > luma2d abs(d+f-2*e) > luma2d if either of those conditions is met it goes on and tests the following conditions else it drops out w/o doing any filtering on that luma pixel. For the next tests consider pixel 'c' to be the pixel in the current frame and a,b,d,e to be its temporal neighbors in adjacent frames: a b c d e abs(c-a) <= lumaT abs(c-e) <= lumaT abs(b-d) <= lumaT If all three of those conditions are met it decides that the pixel needs to be filtered and it either averages the current pixel 'c' with 'b' or 'd' based on whichever one is closer to the value of 'c'. Chroma filtering (rainbow removal) works in the following way. First it tests the following conditions... again assume 'c' is from the current frame and a,b,d,e are the temporal neighbors: a b c d e abs(c-a) <= chromaT1 abs(c-e) <= chromaT1 abs(b-d) <= chromaT1 abs(c-b) > chromaT2 abs(c-d) > chromaT2 If all five of those conditions are met then it does filtering on the pixel. For the filtering it either averages the current pixel 'c' with 'b' or 'd' based on whichever one is closer to the value of 'c'. Hope that helps explain the parameters a little bit better. Last edited by tritical; 4th August 2005 at 22:29. |
Thread Tools | Search this Thread |
Display Modes | |
|
|