View Full Version : iip: Integrated Image Processor, e.g. DVD -> 720p HDTV
Pages :
1
2
3
4
[
5]
6
7
8
Didée
3rd March 2005, 09:14
>> How "simplified" are we talking here?
Oh, I was thinking about temporalsoften(5,255,255...) for denoising, 3 or 4 times blur(1.58) for deringing, and unfilter(150,150) for fine sharpening :D
Seriously. SSXsharpen is ultra-slow cause of the big supersampling, and will be replaced by LimiteSharpen as default (like in the alpha), and optionally by the even faster ModerateSharpen. This also helps the warp_Y option, in case it gets used.
PixieDust most probably will get LRemoveDust as faster option.
For deringing I've also another way of creating the mask, which is both a little faster and better fitting.
DarkNite
5th March 2005, 09:40
Sounds like a solid plan. These are the kind of script changes that can make comparison testing fun again.
As an added bonus, another 100 or so variables means more fun when randomly generating "the perfect settings" when someone asks for help with a source. :devil:
Seriously, that was just a joke. Do not do this to your freinds on irc, unless you're at least an op, or your nick contains the word Evil.
guada 2
14th March 2005, 00:06
Hello everyone,
To this address: http://forum.doom9.org/showthread.php?threadid=70916&perpage=20&pagenumber=10).
I tried this script for the encoding of the movie matrix3 in 1024*576 with the RV10 format, and hfe 2.1 activated.
The result is without call. I also used the Xvid codec but the result was not the same.
But, when I wanted to test NIC'S Wmv9 program: WMNicEnc v.0.99 bêta, the script doesn't function.
Would someone be able to explain me why?.
dark.soft
19th March 2005, 07:36
Hi Didée, I tried your script and I must say that is outstanding! But I have two questions for you:
1\On things that aren't on focus (e.g. walls), the script applies the sharpening and they appear ugly, like if they are pencil coloured! What are the parameters wich I should change to correct this?
2\I tried a certain piece of Resident Evil, the elevator scene, where there is a lot of blue. Well, with your script I noticed a thing that happens only when converting to yv12: the borders of the blue are blocky, and if I set a resolution like 640x480 they become really noticeable. So, can you tell me a solution?
Thank you very much for writing such an amazing script!
guada 2
19th March 2005, 10:53
Sorry, Didée. It works very well with WMNicEnc v.0.99. i just missing an dll in Windows.
Your script is fantastic. ;)
PlazzTT
19th March 2005, 19:30
There's not much mention of using VHS sources in this thread, although on other threads it has been mentioned that iip is great for processing VHS.
Which settings should be adjusted from default, taking into account that a noisy VHS source is being processed, and not a relatively cleaner DVD, TV or HDTV source?
dark.soft
19th March 2005, 22:11
I've made other tests, and I've noticed that all the things that are blurry (not on focus) are sharpened bad, so that they seem in focus, but that's wrong. I don't think there is a solution for this, am I right Didée?
Didée
20th March 2005, 00:20
guada 2: Fine if it works and pleases. :)
dark.soft: If blurry background objects are enhanced too strongly, then
- set protect_floor to zero if it isn't already
- raise protect_bias
- raise detail_floor
- drop the "EQ" parameter by 1, and reduce the sharpening settings
- (less probably) certain fiddling with deringing can help, too
Use the debug="showall" feature for tweaking the parameters:
- The "protection" mask shows you which parts of the frame are protected from getting sharpened, and how strongly.
- The "detail" mask shows you in which places the sharpened result is applied. If there are too much visible "structures" in those areas that are getting too much sharpening, raise "detail_floor" until these disappear. [edit]
PlazzTT: I've very little personal experience with processing VHS captures. First it must be assured that the souce is sufficiently "calmed down" by the internal denoiser. Raising "duststr" to 5 or 8 at max. might be necessary, together with both deflicker options @ "true". If this doesn't suffice, you need to use another denoiser beforehand.
Then VHS may need more deringing - or it may not. Depends on your signal.
For sharpening, you probably should raise radius to 3 or even 4, especially when [stronger) deringing is used. But when using radii > 2, detail_contr1 should be lowered somewhat, mostly.
Perhaps raising raising detail_contr2 and/or pixsharp is beneficial, if the source is clean & stable enough for that.
Warp_UV could be a good idea for VHS, too.
Much of poking around. I don't do any VHS, and input quality might be just anything, so it's hard to judge.
guada 2
22nd March 2005, 00:45
Hello Didée, :)
I tried your script on an extract of matrix 2 with a bitrate of 450 Kbps in 720p.
I have been very surprised of the quality of the picture.
My file of 23.5mo has been divided by 10 either 2.35 mo.
Even in pause on fast stages, the script preserves its chromatic wealth.
I wonder what your script would give on a cd of 700mo in HD.
To be honest, it is one of my main objectives.
Didée
22nd March 2005, 01:34
Oh, indeed. HD @ 450 kbps.
\:eek:/
dark.soft
22nd March 2005, 09:22
720p at 450 kbps? Guada 2, you're a genius! :D
Soulhunter
22nd March 2005, 10:26
Ouch, now I understand why he gets better results with RV10... :D
Bye
guada 2
22nd March 2005, 20:58
Hello Gentlemen, :)
One would say that you didn't appreciate my bitrate.
I think that I had forget to specify something,it is HD streaming in the WMV9 format and no of the RV10 (Mr SOUL my Friend).
I saw it was possible to put on a SD card of 512 mo 2 Xvid Movies.
So I do some test in Streaming HD 720p on 800mo.
Think yourselves that I am mad or brilliant :p
JasonFly
24th March 2005, 20:00
I'm wondering what is the "weakest link" of the processing chain with such low speed scripts?
Is it CPU, RAM, HHD speed?
BTW, what if this script would become a plugin? I don't know if it would be possible but could there be a speed increase by making that?
DarkNite
27th March 2005, 21:30
In my experience this particular script will bring your cpu to it's knees. iip could replace prime95 as your burn in test. ;)
Memory usage can be "controlled" (ie "MemoryMax(192)") within the avisynth script, assuming there's no leaks in the functions/plugins you're using, or apps you're serving to, or anything else involved in the chain. So using 192MB-256MB of memory isn't bad at all considering what you get out of it.
I can't speak for Didée, but making this a plugin would limit some of the flexibility this script offers to people who choose to alter the script to meet their needs, or the needs of their source.
Who knows, you might see somebody do a plugin of the "simplified", less slow version that's been mentioned. Stranger things have happened here.
Lastly, HDD speed is always a problem in computing. Lobby for faster development of nonvolatile dynamic random access memories (like FDRAM).
DeepDVD
29th March 2005, 23:35
As a silent protest I used my freetime to make some banners for some demos to get the new iip. See my signature :D :D :D
http://mitglied.lycos.de/tdeepblue/freeiip.jpg
Didée
30th March 2005, 01:44
Nice try, DeepDVD :)
But you have to know I only fall for 3D renders. If possible, with radiated illumination.
This was done 5 years ago, when I wondered about possibilities for a PC desk in that darn corner in the living room with rustical furniture:
http://img221.exs.cx/img221/1108/livingroomdraft989ie.th.jpg (http://img221.exs.cx/my.php?loc=img221&image=livingroomdraft989ie.jpg)
(POV-Ray/MegaPOV, 100% scripted. No pre-made libraries or textures were used, except painting & screenshot.)
To ease the task for you: radiation isn't mandatory. But 3D is. ;)
guada 2
30th March 2005, 17:45
Hello Didée,
In pre-visualization before the validation of your script, Nero recode read perfectly my file, but after to have validated the file, I note that it is reversed in mode reading.
Normal or not normal ?
akupenguin
30th March 2005, 21:27
Originally posted by JasonFly
I'm wondering what is the "weakest link" of the processing chain with such low speed scripts?
Is it CPU, RAM, HHD speed?
I'm guessing RAM. It uses lots of simple filters, which do only a little processing each but still require generation of a new frame. And many of them apply to a high-res image that won't even fit in L3 cache. I'm sure it could be made several times faster by processing in slices.
However, I agree that packaging it in a plugin would greatly reduce the easy of tweaking it.
HDD speed only matters for very fast filterchains, and only if one or both ends are huffy.
Hi,
I'm just testing IIP, and my results are fantastic. Didée, you are genius.
Script is very slow, about 1-2fps on my Athlon in 720p res., but with incredible result!
So, if we really want convert DVD -> 720p, it's better:
1)make one pass to HuffYUV, and from this source make 2-pass XviD encoding (finaly 3-pass).
2)or make directly 2-pass XviD encoding, but both pass with very slow speed (1-2fps).
This is the really question!
I think, that first possibility is better, because hardest work (IIP resize) can be shared to two or more computers. Video can be divided to many parts and result in HuffYUV can be joined. Anyway in 1), IIP script can be anytime stopped, and next time we make encoding on next frame, and finally join this avis. Etc.
Thx. Didée, now, I'm thinking, that hollywood makes HI-DEF from normal DVDs, but uses your IIP! :D :D :D
guada 2
4th April 2005, 22:07
Hello Didée, :)
I made the comparison of the codec Xvid 1.1 of Koepi and Wmv9bêta of NIC with your script at low bitrate.
- an avi file Starwars 2: 19.6 Mo
SETTINGS:
- Xvid 1.1 with VD 1.5.10 (Filter:LanczosResize: 240*176) Bitrate: 151kbps
Unrectricted
H263
B-VOPs: 2/100/100
Packed Bitsream
Closed GOV
UH 6
VHQ Mode 4
CM
0/250
Quantizer: 2/4/2/13/2/14
Treillis quantization
Second pass:
Intra frame tuning:0/1/20
Loose curve scaling
Respect VBV Buffer
Overflow S/I/D: 2/2/2
H/l bitrate: 0/0
- Nic' S Wmenc 0.99 beta
Windows video media 9
Progressive mode
Bitrate: 144000
Quality: 100
FPS: 25
Secs/KF : 5
Resolution: 240*176
VBR Quality 100
MultiPass Encoding
The final file: 1.97 Mo without sound
My report:
- the codec WmEnc of NIC does not appreciate your script with low bitate.
- the image is filtered too much (fuzzy significant). However the characters are reproduced better.
- the codec of Koepi digests better your script, the image is less fuzzy and better defined on the characters (less artifact than Wmv).
A question indiscrete your script it would not be dedicated to the codec Xvid? :)
Note: sorry for my english
troy
6th April 2005, 04:37
I just started encoding a 68 minute dv video using IIP. It will take about 110 hours on my P3 800/512 mb of ram. I did some test clips and then look good. I wish that I could adjust some of the parameters but I have read this thread a bunch of times and I can not understand what is going on. The only parameter I understand is duststrength. For example what is a binary mask. I just dont understand what is going on here. I am a newbee and I guess I will try to read and learn more but I wish that the parameters meant something to me. I think that if I could understand masks I would know a lot more but I have read the masktools thread and it is just not clicking. Well I guess I will go and read some more and quit whining.
I'm just encoding DVD IceAge using IIP (because it's short, about 116880 frames only). Sample clips, I've made,looks very good. I go upsize to 1280x672. I encode to lossless codec first, using FFV1 from ffdshow. Total filesize will be about 37Gbytes. Then I encode this large avi using 2-pass XviD.
Encoding is so slow. At now, I have 37000 frames encoded (31%), after 15hours. Completly it takes about 2 days + additional XviD encoding. Fortunately, encoding to FFV1 (slowest part), can be anytime interrupted.
I left my proc at default freq,beccause I don't want to risk any unstability :D
dvwannab
6th April 2005, 17:33
Originally posted by guada 2
My report:
- the codec WmEnc of NIC does not appreciate your script with low bitate.
- the image is filtered too much (fuzzy significant). However the characters are reproduced better.
- the codec of Koepi digests better your script, the image is less fuzzy and better defined on the characters (less artifact than Wmv).
A question indiscrete your script it would not be dedicated to the codec Xvid? :)
I dont think so. I believe that it is a generally accepted and provened that XviD compresses better tha WMV at low bitrates (low meaning below 1500 mbps). WMV only really shines with high bitrates where you are unable to tell the difference between WMV or any other codec. For my money XviD is the king of low bitrate encodes. Others that are better than WMV in this category is RealVideo and Quicktime.
guada 2
7th April 2005, 00:45
As regards the RV10E hfe2.1, I suppose that it is not necessary to make the attempt for this bitrate because it is sovereign.
Nevertheless, I wanted to underline that the script of Didée was better convenient for Xvid than for WMV in this bitrate.
With high bitrates, the WMV is more interesting and more homogeneous.
dvwannab, make a little test for this bitrate, and you will say to me then of what you think.
Naturally, you will choose at the same moment one quiet and fast scenes.
To soon
Didée
7th April 2005, 01:40
guada,
one cannot say that I had made iiP especially targetting at XviD encoding. In a sense, intention was to enhance detail /plus/ reduce noise, in order to deliver as much of *relevant* picture information to any encoder, so that it won't spoil its bits on not relevant data, speak noise.
If XviD makes the best job on this intention, well ... perhaps that's the reason why I'm using XviD, too ;)
However, I think your test does not say much about the correlation iiP <-> Codec. You are aware you're encoding a *stamp sized* clip (240*172, oh dear), are you? And moreover, 150 kbps is a rather low bitrate, even for such a resolution. I don't think iiP's filtering has much to do with your findings. You could have used _any_ filtering, and the result would have been the same. With the setup you've been using, you were testing the plain codec performance, and nothing else.
@ troy
Well, I can understand your problems in understanding the principles of what is done in the script. But to ease your mind: you're not alone with that ;) , I know many people are confused by the many parameters and all the masking. But then, I can't explaing everything from scratch now...
Basically, there is a) noise removal, b) cleaning of areas around prominent image features (removal of "halos" and "mosquito noise"), c) sharpening (in several stages), and d) mixing everything together.
If you set >>debug="showall"<<, you get displayed all important masks that are used. The "protection mask" shows which areas will get less sharpening, to avoid over-sharpening artefacts. White areas will get not sharpened (except for the last step of sharpening).
The "dering mask" shows which areas will get cleaned - again, white is the processed area.
The "detail mask" shows what in the end is considered as "important area". For the parts shown as white in this mask, the denoised+cleaned+sharpened clip will be used. For the parts shown in dark, only the denoised clip will be used, without any sharpening (in order to keep detail-less areas calm, i.e. to not enhance any remaining noise).
The usual procedure is to look closely, decide if you need more or less of any of the used processing techniques - more sharpening, less deringing, or whatever - and to adjust the according parameter. Then hit F5 in Virtualdub, and see if you get closer to what you want.
For understanding which parameter does what, please read the explanations given earlier. :)
JnZ & all:
I know I had promised a faster version of iiP for quite a while. But apart from the usual "too little time", I'm not only plagued ;) with lots and lots of new ideas (and it's impossible for me to leave my fingers off them when I have ideas!), but also with mountains of video stuff I've to process myself. I don't even use iiP very much myself lately, because I just do not have the time for using it.
Sorry for that. But be assured, there are some nice things in store, if I manage to come around, somewhen, somehow. However I won't release any premature, half-finished stuff. Either correctly, or not at all: that's how things are done.
guada 2
8th April 2005, 18:28
Hello Didée, :)
This test shows just that for these low bitrate your script is favorable to Xvid.
Besides, as soon as bitrate grows Xvid loses of the ground on Wmv9.
Indeed, I have to test others script of this nature (and others):
*Import ("C:\PROGRA~1\GORDIA~1\IIP.avs")
*
LoadPlugin ("C:\Program Files\GordianKnot\DGMPGDec\DGDecode.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\fftw3.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\MipSmooth.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\undot.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\MaskTools.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\WarpSharp.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\UnFilter.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\LoadPluginEx.dll")
*LoadPlugin ("C:\PROGRA~1\GORDIA~1\dustv5.dll")
*
Avisource (" C:\Documents and Settings\Administrateur\Mes documents\Nouveau dossier\fragmentvideoHD\extrait 2 Starwars720p.avi ")
*fftw3 (sigma=2.0, plane=0, bt =-1, bh=48, bw=48, measure=false, sharpen=0.4)
*iip (duststr = 2, dustweight = 1.0,
*ss1_x = 1.33, ss1_y = 1.66,
*detailcontr1 = 127, detailcontr2 = 208,
*contr_radius = 3, PixSharp = 0.3,
*ss2_x = 2.5, ss2_y = 3.5,
*Xstren = 208, Xlimit = 255,
*subpelstren = 0.0, flatweight = 0,
*antiflicker1 = true, antiflicker2 = true,
*protect_floor = 0, protect_bias = 12,
*dering =-100, dering_weight = 1.0,
*dering_floor = 8, dering_bias = 12,
*detail_floor = 24,
*EQ = 2, to exborder = false,
*warp_Y = true, warp_UV = true,
*debug = " dering ¦ Protect ¦ Detail ¦ CompareH ¦ CompareV ¦ CompareT ¦ Showall ",
*cropx = 40, cropy = 20
)
The quality is naturally present.
But it misses stability in the synchronization of the slow scenes and the fast scenes contrary to the treatment of your script.
I understand that this bitrate make you sad, but all the tests are allowed.
Be without fear, for the filing of video high quality, I use your script with some modifications of the software CCE 2.70 Pro.
It is really magnificent.
JnZ
24th April 2005, 18:34
Hm,
I just upgraded my system to Athlon 64 3000+ s939.
I noticed faster run IIP script (about 2 times faster on Athlon 64 3000+ vs Barton 2500+),but both runs on 1800MhZ. This is interesting.
But! Xvid encoding runs at same speed (maybe slower) an Athlon 64. This is really strange. Maybe bad optimization for Athlon 64?
P.S.: I finished Ice Age in 1280x672 and result are outstanding. It looks like original HI-DEF material.
I also encode Lord Of the Rings: Fellowship of the Ring Extended Edition using IIP to whole DVD (about 2400kbps in XviD, res. 1024x416). I divide this job on 14 machines, and the next day, I have abot 60G whole movie in FFV1, and encode it to XviD on my machine (it takes one more day). Result: very good.
3ngel
16th May 2005, 09:16
@Didee
Hi, i wanted to test your iip script, but i'm a little confused by the huge amount of parameters to set in order to work with it. Can you suggest me a good command line for you, so i can start with it and study slowly all parameters? My source is 1024 * 416 already clean material, and it needs only a little sharpening for the small details (but obviuosly if it can clean temporal noise i don't see is good :)).
Thank you so much ;)
Originally posted by 3ngel
@Didee
Can you suggest me a good command line for you, so i can start with it and study slowly all parameters?
Try default settings. Results are good. If You have clean source, set dust params. at 0. Bye.
3ngel
16th May 2005, 10:21
@JnZ
For default settings you mean iip() with no parameters?
Didée
16th May 2005, 16:17
3ngel:
Default settings as used with iiP() are the same as these (http://forum.doom9.org/showthread.php?s=&postid=517100#post517100). Except for the resolution parameters in the first line, obviously.
3ngel
18th May 2005, 12:51
@Didee
Ok, thank you 'ill try it. But what about to include in the script a little explanation of any single parameter with the default value associated? I say this because this thread has become a little difficult to read :)
Moreover, i don't understand, what is the means of the dest_x and dest_y?
Didée
18th May 2005, 13:28
Yes indeed, this thread has become hard to read. However, by now it's far too late to rescue it ... perhaps I'll make up a "#2" or "revisited" thread for the next version of iiP. If I ever manage to build one. Currently I'm in a too bad shape to make any sort of big effort.
Well ... gathered together from all over this thread:
Parameter description for iiP v.0.5a
dest_x, dest_y ,
Obviously, these are specifying the final output resolution.
duststr, dustweight, antiflicker1, antiflicker2 [int],[float 0.0~1.0],,[bool]
duststr is the denoising level of PixieDust. default is 2, try 1~8 depending on how noisy the source is.
dustweight: instead of using the "dusted" clip, you can mix it back with the raw input image by a percentage of dustweight.
antiflicker: I had other plans for it. For now, it simply calms the picture further down by a weak temporalsoften(). See if you like it better on or off.
[b]ss1_x, ss1_y [float],[float]
These are the supersampling factors for the following sharpening stage. Default is 1.4, try 1.0~2.0. With 1.0 the supersampling is discarded.
detailcontr1, detailcontr2, contrast_radius, PixSharp [int],int],[int],[float]
These are the values for detail enhancement.
detailcontr is the strength of unsharp masking. Default is 112, try 40~80~160~255~512, this depends on the source quality and your taste.
contrast_radius is the radius for unsharp masking. Default is 2, try 3 and 4 also. This correlated with the supersampling factors above.
PreSharp is simply the value for a sharpen()-command after unsharp masking. Default is 0.8, try 0.0~1.0.
NOTE: to completely disable detail enhancement, set detailcontr=0 and PreSharp=0.0
ss2_x, ss2_y [float],[float]
These are the supersampling factors for the following Xsharpening stage. Default is 3.5 . For downsizing, go not under 4.0. For upsizing, 3.0 might be sufficient.
Xstren, Xlimit [int],[int]
These are the strength and limit factors for Xsharpen(). Default is (255,255). If you don't have the patience for big enough supersampling, e.g. for 2* supersampling only, try something like (128,23).
subpelstren
This envokes a sharpen(1.0) on the flat areas, and a blur(1.0) on the edges of the supersampled image, prior to XSharpen().
[b]flatweight [int]
At the very end, the denoised-but-not-sharpened original clip is copied back into the flat areas of the full-processed clip. Through flatweight you can control the strength of this copying process. "0" will return the calmest picture with best compressability. Try values 0~32~64~128.
dering_floor [int]
As before, this is a value controlling at which "strength-of-detail" the deringing part will start to kick in. Default is "8", useful range is from 0 to about 32.
dering_bias [int]
This still controls how quickly the strength of the de-ringing process will raise as the strength-of-detail raises. Higher values will apply more deringing.
Default is "16", useful range is from about 4 up to infinite (almost).
The effect gets saturated with higher values. You will see big changes in the mask when changing this in the range of 0 ~ 16; beyond of 64, the mask will stay almost the same.
protect_floor [int]
This controls at wich level of detail-strength in the source the applied sharpening will start to get attenuated. Default is "8", useful range is from 0 to [something]. From my experiences so far, keep it in the range of 0 ~ 16.
protect_bias [int]
Again, this controls how quickly the attenuation of the applied sharpening will raise with the strength of detail. Higher values will protect more detail from oversharpening (but reduce the effective overall amount of sharpening).
Default is "16", useful range is IMO 4 ~ 64. With high values, this will saturate similar to "dering_bias".
EQ [int]
Edge "quality" parameter.
Specifies how many of the sharpening steps will be protected by the protection mask.
0 = deaktivated. Don't ever choose that for encoding!! - but it's nice for visualizing why edge protection is needed at all ;)
1 = protect only the last sharpening step. "Standard", as in older versions.
2 = protect the first & the last sharpening step. Recommended.
3 = protect all three sharpening steps. Minimalizes any risk of producing oversharpening, but lessens the overall contrast gain.
warp_Y, warp_UV , [bool]
These will activate additional luma warping, resp. chroma warping. (Uses MarcFD's aWarpSharp plugin.)
Luma warping - should help in making the picture a little more 'gracile' when upsizing to bigger resolution, e.g. 1:1 PAR -> anamorphic PAR, DVD -> 720p, or such. For keeping same resolution or downsizing, perhaps it may help on sources with distorted detail by "straightening" it. Or it may not help - YMMV.
Luma warping is performed in 2nd supersampling stage, prior to XSharpening.
Chroma warping - should help a lot on sources with bleeding colors. I put this in, since I had big problems on my Enterprise DVB captures: on the starfleet uniforms, the red stripes are badly bleeding into the blue cloth. This looks *very* ugly, like an aquarell that's gotten wet. It looks much better with chroma warping.
On clean sources, chroma warping mostly is a waste of CPU cycles.
Note: aWarpSharp's parameters are hard-coded. Depth is automatically scaled by the supersampling factors (Y) resp. by the [original:destination] size ratio (UV).
If someone thinks more configuration is needed, tell me. For me it works fine the way it is.
[b]New deringing routine
Now you can choose between two routines for deringing:
The "old" routine can be used as formerly. Parameters have not changed. Note that this routine is a post-processor, after the sharpening, but prior to XSharpening.
The new routine uses another way to create the deringing mask (utilizes XSharpen to find areas-of-interest). The current processing method for the found areas is very sophisticated: "Downsize(softbicubic).Upsize(verysoftbicubic)".
It acts as a pre-processor, prior to the main sharpening steps, but already in the first supersampling stage.
To use the new deringing routine, assigning a negative value to the [i]dering parameter.
The parameters dering_floor and dering_bias behave differently with this routine. It's a bit difficult to describe ...
dering_floor is sort of a sensitivity against edges: the bigger this parameter, the more areas around weaker edges will be considered.
dering_bias can be seen as some sort of multiplier, or normalizer ... how to tell? (Internally, it's the "divisor" parameter for MaskTool's "DEdgeMask" function.) The smaller dering_bias, the brighter the mask will get, and the more areas found by dering_floor will be kept. The bigger dering_bias, the more weaker areas will get cancelled from the mask again, and the darker the dering-mask will become.
To get a feeling for this, please play a little with these two parameters & the new routine, while having set debug="showall". A good starting point is floor=8, bias=12. It seems to me that bias should mostly be in the range bias = [floor, floor*2] - but who knows what different sources may require. This one is new to me, too ;)
dering = -200 ~ -1 tells how strongly the affected areas will be blurred through the bicubic resizers. Recommended range is from "-160" for strong processing to "-20" for weak processing.
Attention: If you use a too big number here, you'll get artefacts near edges! Try "dering = -350" to see what I mean. You should not exceed -160, perhaps evev -200. Look out when artefacting starts to appear. "dering = -120" gives already pretty strong processing.
The dering_weight parameter is not used with the new deringing routine.
exborder
This is a switch to exclude the outmost border from sharpening.
It is not uncommon, even for otherwise HiQ DVD sources, to have artefacts in the border areas. You now these bright and/or dark lines that often appear near the top/bottom letterboxing, and on the frame's sides as well.
But, not everyone is willing to crop these additional 2 ~ 8 pixels from the sides, to get rid of that crap. Now, if you're cropping so tight that source's border artefacts are kept, then at least they shouldn't be sharpened ;)
Set [i]exborder=true to do so. The used masking draws a "sinus sweep" (sort of) from 100% exclusion to ~15% exclusion, over the outmost 8 pixels on all sides of the frame.
There is nothing to configure. Tell me if you want something.
[b]detail_floor [int]
This is part of the controlling how weak a detail is still considered to be "detail", in order to be copied to the output frame from the sharpened clip. Remember: areas considered to be "no-detail" are copied from the PixieDust'ed, not-sharpened clip.
Look at the "Detail Mask" in debug mode to get a feeling for it. Former versions had this parameter hardcoded to "23". New default is "20". Negative values are possible, in case you consider them needed.
ccfilms
19th May 2005, 04:41
OK. I need to read through this three 100% entirely tommorrow. I just saw the screens on page 10 and I was like WOW. I wondering how this'll work with my DV footage. :D (is insanely curious and probably won't be able sleep all night thinking of the possibilities).
3ngel
19th May 2005, 06:45
@Didee
Ok, now it's a bit better :)
But i don't understand, what is the use of dest_x, dest_y? The resolution isn't alway the same of source? That is, having a 720*576 video, what is the diff between iip() and for example iip(dest_x=640, dest_y=480) ?
Soulhunter
19th May 2005, 07:38
Originally posted by 3ngel
Ok, now it's a bit better :)
But i don't understand, what is the use of dest_x, dest_y? The resolution isn't alway the same of source? That is, having a 720*576 video, what is the diff between iip() and for example iip(dest_x=640, dest_y=480) ?
- iip() outputs the video in the same resolution you feed it
- iip(dest_x=640, dest_y=480) resizes the video to 640x480
Bye
3ngel
19th May 2005, 08:10
Oh, on right. I didn't think iip was a "resizer" too. Ok :)
Soulhunter
19th May 2005, 08:39
Originally posted by 3ngel
Oh, on right. I didn't think iip was a "resizer" too. Ok :)
As IIP resizes the source anyway for the internal super-sampling (upsizing -> sharpening -> downsizing), the "dest" params save you a additional (unnecessary) processing step if you wanna resize the video... :)
Bye
ccfilms
19th May 2005, 15:54
Now, I'm quite a n00b to avisynth (though, im learning it quite fast and loving it).
iip just keep crashing on me. I load it up and all the plugins and it just goes boop and shuts down WMP-Classic.
Here's my script
is there a way that i can use like a de-bug thing or whatever to find what line in the code is making it crash?
I'm too lazy to figure out some iip settings myself (yet, but i will! Cuz I'm obsessed with tweaking!) so i just copied a script i found on here in this thread:
Import("C:\Program Files\GordianKnot\AviSynthPlugins\iip.avs")
LoadPlugin("C:\Program Files\DGIndex\DGDecode.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\UnDot.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\MaskTools.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\warpsharp.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\asharp.dll")
LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\DustV5.dll")
Directshowsource("C:\Documents and Settings\Jeremy\My Documents\My Videos\Sinking Ships\Originals\Scene 1 - Running Mono\Walking Forward 2.avi")
iip( dest_x= 672, dest_y= 400,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 2, dustweight = 1.0, antiflicker1= true, antiflicker2= true,
\ detailcontr1= 104, detailcontr2 = 208, contr_radius = 2, PixSharp=0.38,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.58, flatweight = 0,
\ protect_floor = 0, protect_bias = 16,
\ dering = -80, dering_weight= 1.0, dering_floor = 8, dering_bias=12,
\ detail_floor = 10, EQ = 2,
\ warp_Y = false, warp_UV = false, exborder = true,
\ debug= "protect | dering | compareH|V | showall",
\ cropx=0, cropy=0
\ )
What tis it doing wrong?
Originally posted by ccfilms
iip just keep crashing on me. I load it up and all the plugins and it just goes boop and shuts down WMP-Classic.
What tis it doing wrong?
Do you have Msvcp71.dll and msvcr71.dll in your system32 folder? This can crash.
3ngel
19th May 2005, 21:43
In this sense, what are the .dll needed to run the script? They got lost in the thread :)
ccfilms
19th May 2005, 21:46
Yes and yes. I have those both in there.
Here's settings i tried.
It just shuts off. like it wont even open in vdub, media player, nothin:
SetMemoryMax(192)
Import("C:\Program Files\iiP\iip.avs")
LoadPlugin("C:\Program Files\DGIndex\DGDecode.dll")
LoadPlugin("C:\Program Files\iiP\UnDot.dll")
LoadPlugin("C:\Program Files\iiP\MaskTools.dll")
LoadPlugin("C:\Program Files\iiP\warpsharp.dll")
LoadPlugin("C:\Program Files\iiP\asharp.dll")
LoadPlugin("C:\Program Files\iiP\aWarpSharp.dll")
LoadPlugin("C:\Program Files\iiP\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\iiP\DustV5.dll")
mpeg2source("C:\armedconflict.d2v")
iip( dest_x= 1024, dest_y= 576,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 0, dustweight = 0, antiflicker1= true, antiflicker2= true,
\ detailcontr1=127, detailcontr2 = 255, contr_radius = 3, PixSharp=0.25,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.0, flatweight = 64,
\ protect_floor= 4, protect_bias = 16,
\ dering = -60, dering_weight= 1.0, dering_floor = 16, dering_bias=8,
\ detail_floor= 1, EQ = 2,
\ warp_Y = false, warp_UV = false,
\ debug= "showall | compareH/V | protect | dering",
\ cropx=32, cropy=16
\ )
Didée
20th May 2005, 12:12
ccfilms -
The script also uses Unfilter.dll (although not when using the default deringing mode). Better import it, too.
BTW, aSharp.dll is not used by iiP.
What version of MaskTools you're using? v1.4.6 and v1.4.9 should work out-of-the-box together with iiP. When using more recent versions of MaskTools, all instances of ",useMMX=true" must be deleted manually from the script.
Oh well. I'm getting closer to the statement
:rolleyes: "no more support when you are using an AviSynth version that vanishes instead of showing error messages" :rolleyes:
Read: Use the official 2.55 of AviSynth, or 2.56 alpha from 19dec2004 or 06jan2005 -- life gets much easier then, in regard to bug hunting.
What AviSynth version *are* you using?
ccfilms
20th May 2005, 15:36
Sorry, yeah, I was using the latest beta. I shall install the version you suggest. :D And do the things you suggest. Thanks.
Yup. your totally right. Thanks man. :) I got it working.
Directshowsource("C:\Documents and Settings\Jeremy\My Documents\My Videos\Sinking
Ships\Originals\Scene 4 - Kitchen\Jim - Walking up to counter 3.avi")
ConvertToYUY2(interlaced=true)
BlindPP(cpu2="ooxxox")
LeakKernelBob(0,10,false,true)
#dgbob(0,8,)
TomsMoComp(0,-1,0)
convert60ito24p(1,0)
ConvertToYV12(interlaced=false)
iip( dest_x= 848, dest_y= 480,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 0, dustweight = 0, antiflicker1= true, antiflicker2= true,
\ detailcontr1=127, detailcontr2 = 255, contr_radius = 3, PixSharp=0.25,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.0, flatweight = 64,
\ protect_floor= 4, protect_bias = 16,
\ dering = -60, dering_weight= 1.0, dering_floor = 16, dering_bias=8,
\ detail_floor= 1, EQ = 2,
\ warp_Y = false, warp_UV = false,
\ debug= "showall | compareH/V | protect | dering",
\ cropx=32, cropy=16
\ )
That's my script...converting 60i to 24p and then running the iiP. It's about 0.25fps though. :( I'm upgradeing from my P$ 1.8Ghz, 512MB PC133 up to an AMD Athlon 64 3200+ Venice (overclockable to huge amounts) and 1GB PC3200 RAM! :D woohoo!!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Now, I ran this one script last night, it seemed to produce some nicer results than the iiP actually and it was about 0.5fps on my system...
it converts to 24p, then it runs pixiedust. Then i pump it up to twice the res i want my final to be, I sharpen twice over with limited sharpen, then I lower teh res back to my final and I run limited sharpen one more time and this is what I got:
http://www.ccfilms.com/sharp.jpg
Just something to consider. :P
I'd like though to take some time and tweak the iiP....cuz it's got alot it can do. :)
Tuesday
10th June 2005, 14:58
hey, i'm having trouble with iip:
I keep getting this error message when opening the avs with vdub:
"Avisynth open failure:
Script error: there is no function named "c"
(...\iip.avs, 117 line)
(...\movie.avs, line 13)"
I'm using:
Vdub v1.5.10
masktools 1.4.9
avisynth 2.55
any help? i can find the variable "c" in the line it's reffering to but i don't understand how its used in the script so i can't do much about this error :(
malkion
10th June 2005, 22:38
the error is caused by the original copy and paste of the script.
find the first line that says
dusted = clp.addborders(0,0,xcorr,ycorr).converttoyuy2()
.PixieDust(limit=duststr). converttoyv12().c rop(0,0,-xcorr,-ycorr)
you notice the c rop, make it look like crop and you'll be ok.
also for the latest masktools. you'll have to remove ,usemmx=true, since masktools does not use the optimization in the call anymore.
Didée
11th June 2005, 01:50
Oh my Lord, heaven help!
We now do have the new vBulletin software version!
I mean ... that one that destroys all posted scripts by injecting spaces everywhere, if the written code contains character sequences long enough without spaces.
I consider this a serious malfunction in the handling of <code> content.
edit: fixed. Swede removed the forced <space> insertion within <code> tags. Thanks a lot!
Pookie
12th June 2005, 03:28
Didee! Just another "Thank You" for IIP and LimitedSharpen . I use LimitedSharpen all the time, and IIP when I can spare the time.
Didée
12th June 2005, 15:28
Fine :)
(I hope you don't do such kind of image _destruction_ like ccfilms has shown above) ;)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.