digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: PARanoia and ADS function comparison (http://www.digitalfaq.com/archives/avisynth/13867-avisynth-paranoia-ads.html)

rds_correia 10-08-2005 08:35 AM

PARanoia and ADS function comparison
 
I have a feature request :D.
I have been using ADS function for quite a while.
I'd like to know if it is possible to have PARanoia interact with ADS function.
You see, when I open my scripts with ADS on VDubMod I see a somewhat different picture that I see when I open a PARanoia-made script in VDubMod.
It like if PARanoia scripts look like "zoomed" when compared with ADS scripts.
Please note that I am comparing just the crop/resize coming out of PARanoia with a simple script with Mpeg2Source and ADS.
And I use the same overlayed overscan on both and I input the same Top/Bottom figures on ADS that I grab from PARanoia's output.
What do you think Andrej?
Is it possible to use PARanoia's calculations to build an ADS script that looks the same as a BicubicResize/AddBorders/Letterbox?
I hope you won't let me down :lol:.
Cheers

PS: Here are screenshots for better explanation


ADS script

Code:

mpeg2source("D:\CATWOMAN\D2V\CAT.d2v")
ADS(72,72,2,Letterbox=false,Sharpen=2,Threshold=2,HQmask=false,show=false)

http://img101.imageshack.us/my.php?image=ads6cr.png
http://www.digitalfaq.com/archives/error.gif



PARanoia v0.10b script

Code:

mpeg2source("D:\CATWOMAN\D2V\CAT.d2v")
BicubicResize(704,432,0,0.6,13,74,694,426)
Addborders(0,72,0,72)
Letterbox(16,16,16,16)

http://img339.imageshack.us/my.php?i...aranoia9ta.png
http://www.digitalfaq.com/archives/error.gif

Thanks to ImageShack for Free Image Hosting

PS2: After so many years and this woman is still extraordinary interesting...

incredible 10-08-2005 08:55 AM

"ADS" ? You mean the function that was posted in here?

Please gimme a clear explanation of your workflow.

rds_correia 10-08-2005 09:33 AM

Sorry Andrej :lol:.
I just posted a few more bits of info as my scripts ;-).
Please compare both pictures - maybe better to use the links opening both in 2 different FireFox tabs - and tell me that you can see ADS picture looks like having more pixels than PARanoia's picture.
But then again, I would say that PARanoia's picture is the one with less resizing error margin, right?
So, can you maybe add a feature in PARanoia tool that somehow creates an ADS-like script but that grabs the PAR info from the tool instead of from the user?
Maybe that way both pictures would be identical, I guess...
Hope this time I made ir more clear :).
Cheers

incredible 10-08-2005 09:59 AM

Please post the last version of ADS you use, mans the functions part.


I do see that PARanoia did its job perfectly. I loaded it into Photoshop (both) and saw that PARanoia was the one of both which kept the MOD16

16le,72to,16ri,72bo (still anamorph state)

incredible 10-08-2005 10:02 AM

Quote:

PS2: After so many years and this woman is still extraordinary interesting...
RIGHT! :facelick:

rds_correia 10-08-2005 10:42 AM

Here goes nothing Andrej :)
And Sharon sure is beautifull :P

Code:

# ADS Adaptive Denoise & Sharpen
# v 0.5 _ Sept.22 2004
# HQmask(Double Sobel) borrowed from Dideé

function ADS (clip c,
\    int  "Top",
\    int  "Bottom",
\    Int  "Overscan",
\    Bool "Letterbox",
\    int  "sharpen",
\    int  "threshold",
\    Bool "HQmask",
\    Bool "Show") {

setmemorymax(128)

To  = default (Top,0)
Bo  = default (Bottom,0)
Ov  = default (Overscan,0)
Lb  = default (Letterbox,false)
sh  = default (sharpen,5)
th  = default (threshold,4)
Hq  = default (HQmask,false)
So  = default (Show,false)

Ov  = Ov*8
W  = width(c)
H  = height(c)
cr  = (W == 720) ? 8 : 0
c  = (To <= Ov && Bo <= Ov) ? crop(c,Ov+cr,Ov,-(Ov+cr),-Ov) : crop(c,Ov+cr,To,-(Ov+cr),-Bo)
Wcr = width(c)
Hcr = height(c)
c  = isyv12(c) ? c : ConvertToYV12(c)

m  = (Hq == true)  ?
\    logic( DEdgeMask(c,0,255,0,255,"5 10 5 0 0 0 -5 -10 -5", divisor=2),
\    DEdgeMask(c,0,255,0,255,"5 0 -5 10 0 -10 5 0 -5", divisor=2),"max").levels(0,1.0,255,0,255,false) :
\    masktools_EdgeMask(c,thY1 = 0, thY2 = th, thC1 = 2, thC2 = 4, type= "sobel").blur(1.5)

f1  = c.undot().bicubicresize((Wcr/1),(Hcr/2),1,0).Temporalsoften(4,5,8,25,2).bicubicresize(Wcr,Hcr)
f2  = c.undot().unfilter(0,sh*10)

d  = masktools_MaskedMerge (f1,c,m)
d  = (sh == 0)    ? d : masktools_MaskedMerge (d,f2,m)
d  = (Lb == true) ? Lanczosresize(d,width(d)-cr*2,round(height(d)*0.75)) : d
d  = (so == true) ? masktools_MaskedMerge (c,m,m).subtitle(":-) show mask",(Width(c)/2)-round(width(c)/13),(height(c)/2)-round(height(c)/20)) : d
d  = Addborders(d,(round(W-width(d)-cr*2)/2),(round(H-height(d))/2),
\    (round(W-width(d)-cr*2)/2),(round(H-height(d))/2))

return d
}


rds_correia 10-09-2005 11:02 AM

Hi Andrej :),
I don't mean to bug you or anything but you had asked for the ADS function sources that I was using.
I posted it but since you didn't reply so I am unsure if you read my latest post ;-).
Could you tell if there's anything wrong with my ADS function later when you read this post?
Thanks Andrej and also thanks a lot for giving us PARanoia :D.
Cheers mate

incredible 10-09-2005 11:50 AM

Ahh, Im here :)

So as I now do remember, ADS wasnt a resizer! It was meant to crop the source to its active movie area state and doing a filtering on that where 720to704 was recognised also here to just be cropped to 704. The only resizing was done when doing an anamoprh to nonanamoprh (Letterboxing) conversion.

You should let do PARanoia via Autocrop do the resizing job. On that resulting avs script, you can easely apply filtering in a much more actual state like using LRemovedust(17,1) or LRemovedust(17,2) depending on the sources noise. This is MUCH more fast and also does keep more details compared to ADS incl. a much better denoising without ending up in temporal artifacts.

ADS was done in a time where for example functions like LRemovedust() didn't exist.

rds_correia 10-09-2005 03:30 PM

I see Andrej :D.
Then now the way to go would be to use PARanoia to get the cropping and resizing part of the script done and then using LRemovedust() to do the actual filtering, right?

Then I have 3 question:
- LRemovedust() is only for denoising, right? I mean no sharpening, right?
- and LRemovedust() doesn't have any Adaptive features, right?
- and also LRemovedust() doesn't have any means to preview how it will behave like the So (Show) feature in ADS(), right?

If I'm right on all my assumptions, can we improove LRemovedust() to become more like ADS()?
That is to get LRemovedust() to do shapening also, to have Adaptive features and to have some way we can preview how much and where it will denoise like in ADS()?
Or maybe the other way round. To include the denoising features of LRemovedust() in ADS()?
My scripting capabilities suck :x and I know you could improove LRemovedust() but I also acknowledge that you have been working very hard on your PARanoia baby ;-).
But from a theoritical point of view, can all this be done with LRemovedust() ?
And would you try to do such improovements on ADS() when you have some free time between your "real life" and PARanoia :lol:?
Thanks Andrej :)

@Mods,
This is now going on a much different direction.
Can this thread be brake in two and be moved to the Optimal scripts section?
Thanks :)

incredible 10-09-2005 04:14 PM

.. moved

So when I have time Ill get again into ADS() but .... LRemovedust() already is that nice thate imho adaptive routines would decrease its effeciency .. just imho .. but Ill test, also incl a sharpener.

Maybe a mix of Lremovedust() and Limitedsharpen gives you a verry good quality with the same speed as ADS() would result in?

rds_correia 10-09-2005 04:30 PM

Hold on Andrej :lol:.
You say that in your oppinion there's no need for LRemovedust() to go Adaptive.
Maybe you're right then.
You see I haven't had time to test LRemovedust() yet.
I'll try it and I'll let you know.
As for the sharpening and preview features, those would be great but I don't think you could incorporate preview features in LRemovedust() without having to change it a lot, right?
Well you know my wish-list :lol:.
And take your time :-)
No rushing and PARanoia is still more important than this ;-)
Cheers buddy


All times are GMT -5. The time now is 01:42 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.