digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: Motion adaptive filtering now possible? (http://www.digitalfaq.com/archives/avisynth/3594-avisynth-motion-adaptive.html)

kwag 05-27-2003 04:38 PM

Quote:

Originally Posted by ovg64

How about atc by Marc FD: http://ziquash.chez.tiscali.fr/ :?: :idea:

That's a good option :idea:
It has to be tried 8)
Right now, I'm having a ball with this new dynamic filter, just as it is :!: I've been able to increase the CQ by 3 to 4 values higher that previous encodes :mrgreen:

-kwag

ovg64 05-27-2003 04:39 PM

If you stop the Cam when is moving you can see all Blur witch is the Idea here because the eye is just to slow to see that, so i gather that will benefit from this with a high action movie.

ovg64 05-27-2003 04:44 PM

Bourne identity man i had a headache with that movie i wasnt able to get a good encode out of that one. Specially with the begining of the movie. :BangHead:

kwag 05-27-2003 04:48 PM

Quote:

Originally Posted by ovg64
If you stop the Cam when is moving you can see all Blur witch is the Idea here because the eye is just to slow to see that, so i gather that will benefit from this with a high action movie.

Exactly :!:
You can't see details anyway on high speed pannings, and this way we achieve maximum compression :mrgreen:
The way I see it, is that this can be wrapped up in a function with "Selectors", so we can "plug" different filters at different thresholds. For example, we could have "blockbuster noise" ONLY when there's no action AND the scene is dark :idea:
So we can use static filters and mold them for use in dynamic scenes :idea:
Now this is really fun :mrgreen:

-kwag

kwag 05-27-2003 05:20 PM

Quote:

Originally Posted by Jellygoose

By the way, TemporalSmoother is not available for AviSynth 2.51... So we gotta find something different there!

Maybe this: TemporalSoften(2,7,7,3,2) :idea: :)

-kwag

ozjeff99 05-27-2003 11:43 PM

Just when.......

Brilliant development. Loved the clip. Kwag what file size difference are you getting for same CQ? Can't wait to try.

ozjeff99

kwag 05-28-2003 12:02 AM

Quote:

Originally Posted by ozjeff99
Kwag what file size difference are you getting for same CQ? Can't wait to try.

Just to give you an idea, that 4 second sample clip with a fixed:
mergeluma(blur(0.2))
is ~100KB+ larger than the same clip with:
ScriptClip("val=YDifferenceFromPrevious()/14.55" + "val > MaxThreshold ? MergeLuma(blur(MaxThreshold)) : MergeLuma(blur( val ))") :mrgreen:
So you figure what the gain will be on a complete movie 8)


Edit: Current script thread updated :!:

-kwag

ozjeff99 05-28-2003 01:42 AM

Wow.....10% right there on that clip.

Extraordinary !!!

bman 05-28-2003 03:04 AM

============
KWAG :
"The way I see it, is that this can be wrapped up in a function with "Selectors", so we can "plug" different filters at different tresholds. For example, we could have "blockbuster noise" ONLY when there's no action AND the scene is dark :idea:
So we can use static filters and mold them for use in dynamic scenes :idea: "
============

@ Kwag !!!
Brilliant , Just BRILLIANT !!!
I love this script and clip is something too!!!!
I would love very much to get Blockbuster work dinamically cos it's dropping down CQ about 3-5 units and with this script maybe we could return to CQ without BlockBuster ??!!!
Excellent work , man !!!
I feel it's going to be hot in here , hu-u-u-h :!: :wink:
What about encoding speed ???
Does this script affect encoding speed anyway ???
bman

kwag 05-28-2003 09:20 AM

Hi bman,

First, let's thank the people who made this possible, in the correct order :D
(1) sbin, for starting this thread, and pointing us to "another" link 8)
(2) sagittaire, for the original idea and original script.
(3) Tenra, for shrinking the complete idea way down to a very simpler script :mrgreen:
(4) Everyone here that has made comments and has interest in this stuff :)
And now the script is even smaller, and with a "cap" condition, not to go over the MAX value allowed, still in a single line :wink:
So it fits nicely in the "current script", it just simply substituted the old "mergeluma" line :!:
I haven't done any speed benchmark, but actually the speed is faster with AviSynth 2.5x than with 2.0x. I will do a full encode today to see the stability of AviSynth 2.51. And yes, I think this will become a VERY hot thread. And I LOVE the results just as they are right now :mrgreen:

-kwag

bman 05-28-2003 10:02 AM

First , I agree with u KWAG and THANX to ALL those wonderful ppl who takes this tread and forum forward in right order as KWAG wrote :D :D :D
Second , I already sead once - In this FORUM we get excitement almoast every week and cos of that we are here :wink: :wink: :wink:
Every time different tread with original ideas and tweacks :wink:
I just love this !
NOW back To the business !
@ KWAG !
Any thoughts how exectly can BlockBuster work In similar conditional Script ?
It have to be operated by brightness value , Right ??? :? :?
If brightness<val then Blockbuster("noise") something like that ???
bman

audioslave 05-28-2003 12:54 PM

Oh, man! I really wanted to try out this new exciting script. But when I'm trying to load the script into TMPGEnc I get the following error:

Script error: there is no function named "ScriptClip" :cry:

Has anybody else got this error? What am I doing wrong?
This is what my script looks like:

LoadPlugin("C:\Program\AviSynth 2.5\plugins\MPEG2Dec3.dll")
LoadPlugin("C:\Program\AviSynth 2.5\plugins\Decomb.dll")
LoadPlugin("C:\Program\AviSynth 2.5\plugins\UnFilter.dll")
LoadPlugin("C:\Program\AviSynth 2.5\plugins\STMedianFilter.dll")
LoadPlugin("C:\Program\AviSynth 2.5\plugins\TemporalCleaner.dll")

MPEG2Source("D:\DVD Rips\The Score\The Score.d2v")

MaxThreshold=1.58

FieldDeinterlace()
# Telecide()
# Decimate()
UnFilter(50, 50)
BilinearResize(480, 576)
STMedianFilter(8, 32, 0, 0)
TemporalSoften(2, 7, 7, 3, 2)
MergeChroma(blur(1.5))
## Dynamic linear adaptive filtering ##
ScriptClip("val=YDifferenceFromPrevious()/14.55" + "val > MaxThreshold ? MergeLuma(blur(MaxThreshold)) : MergeLuma(blur( val ))")
##
Limiter()
ConvertToRGB()

Please help me out here guys!

kwag 05-28-2003 12:58 PM

Quote:

Originally Posted by audioslave
But when I'm trying to load the script into TMPGEnc i get the following error:

Script error: there is no function named "ScriptClip" :cry:

Hi audioslave,

Maybe you have an older version of AviSynth 2.5x :idea:
Get the latest here: http://cultact-server.novi.dk/kpo/avisynth/avs_cvs.html

-kwag

ovg64 05-28-2003 01:01 PM

Got a :?: can I install avisynth 2.51 and still have 2.0 install :?: will there be any conflict by having the two install at the same time? I know there is a way but don't know how, andale Kwag. :)

BTW these thread is hotter then todays DAY in the Island. :mrgreen:

audioslave 05-28-2003 01:03 PM

Damn Kwag, that was fast! :lol: I'll try the version you linked to. If I'm still having problems I'll let you know... :wink: Hold on a minute... Downloading...

Okay, Kwag, you were absolutely right! The new version worked! Thanks alot!

BTW what exactly are the resize parameters and what do they do?
Another question: To use "TemporalSoften" I need to load "TemporalCleaner.dll" for AviSynth, don't I?

kwag 05-28-2003 01:46 PM

Quote:

Originally Posted by bman
NOW back To the business !
@ KWAG !
Any thoughts how exectly can BlockBuster work In similar conditional Script ?
It have to be operated by brightness value , Right ??? :? :?
If brightness<val then Blockbuster("noise") something like that ???
bman

Like this :mrgreen:

Code:

LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\STMedianFilter.dll")
LoadPlugin("C:\Filters25\UnFilter.dll")
LoadPlugin("C:\Filters25\BlockBuster.dll")

Mpeg2Source("K:\DVDbot\THE_BOURNE_IDENTITY\VIDEO_TS\bourne.d2v")

MaxThreshold=1.58

UnFilter(50, 50)
BicubicResize(528, 480, 0, 0.6, 8, 0, 704, 480)
STMedianFilter(8, 32, 0, 0 )
TemporalSoften(2,7,7,3,2)
mergechroma(blur(1.50))

### Dynamic Adaptive Filtering ###
val=0 # Initialize our motion variable.
N="noise"
Subnoise="Noise Applied"
FrameEvaluate("val=YDifferenceFromPrevious()/14.55") # Assign "val" with difference between current frame and last frame.
ScriptClip("val > MaxThreshold ? MergeLuma(blur(MaxThreshold)) : MergeLuma(blur( val )) ") # Adaptive mergeluma.
ScriptClip("val < 0.3 ? BlockBuster(method=N, detail_min=1, detail_max=10, variance=((1/val)*10), seed=0).Subtitle(String(Subnoise),1,30) : val >1 ? blur(1.58).Subtitle(String(SubBlur),1,30):blur(val)")
ScriptClip("Subtitle(String(val))")
Limiter()

And you get this: www.kvcd.net/test-dynamic-blur-noise.mpg
I've over enhanced the "noise" so that the results are obvious, but I assume you get the idea of what can be accomplished now ;)
Enjoy the show :mrgreen:

-kwag

jorel 05-28-2003 02:11 PM

Quote:

Originally Posted by ovg64
Got a :?: can I install avisynth 2.51 and still have 2.0 install :?: will there be any conflict by having the two install at the same time? I know there is a way but don't know how, andale Kwag. :)

BTW these thread is hotter then todays DAY in the Island. :mrgreen:

yes ovg64,
use AvisynthSwitcher :!:

http://www.kvcd.net/forum/viewtopic.php?p=20939#20939
:)

audioslave 05-28-2003 02:20 PM

Cool Kwag!
What parameters do you have to change (for BlockBuster) to get rid of the text in the top of the picture and to get a "normal" amount of noise? Sorry if I'm asking stupid questions, but I have no idea on how these new scripts work... :oops:

@Kwag
Does your latest posted script include the linear "MergeLuma" function for low/medium/high action scenes as included in the Optimal Script?

I also need to get help with the resize issue.
1) How does "BicubicResize" work, and what does the parameters stand for?
2) Is it possible to use "BilinearResize" instead?
I'm normally coding PAL movies so I need help with the resize parameters for PAL movies (usually 16:9). Preferably for both Bilinear and Bicubic resizing...
3) How do I set up TMPGEnc to get the correct aspect ratio?

A lot of questions, I know.... :wink:

bman 05-28-2003 03:00 PM

I'm trying to encode AVS2.51 but can't find unfilter() function and can't get vsfilter() working :( :( :(
Any help where to get right versions of those 2 :?: :?: :?:
bman

kwag 05-28-2003 03:20 PM

Quote:

Originally Posted by audioslave
Cool Kwag!
What parameters do you have to change (for BlockBuster) to get rid of the text in the top of the picture and to get a "normal" amount of noise? Sorry if I'm asking stupid questions, but I have no idea on how these new scripts work... :oops:

Just remove the lines that say "SubTitle" :)
Quote:


@Kwag
Does your latest posted script include the linear "MergeLuma" function for low/medium/high action scenes as included in the Optimal Script?
There is no low/medium/high :!: Linear is linear, which means it varies from a minimum value to a maximum value on a linear scale, depending on activity. There are no sharp "boundaries" on the MergeLuma adaptive line as with the original Low/Medium/High script. That's the beauty of it :)
Quote:


I also need to get help with the resize issue.
1) How does "BicubicResize" work, and what does the parameters stand for?
Use MovieStacker to get your parameters. I like BiCubic more that BiLinear, because it gives me a sharper picture.
Quote:

2) Is it possible to use "BilinearResize" instead?
Read above.
Quote:

I'm normally coding PAL movies so I need help with the resize parameters for PAL movies (usually 16:9). Preferably for both Bilinear and Bicubic resizing...
3) How do I set up TMPGEnc to get the correct aspect ratio?
Set it to "Full screen", and the scripts generated with MovieStacker will automatically create the correct aspect.
Quote:


A lot of questions, I know.... :wink:
:mrgreen:

-kwag


All times are GMT -5. The time now is 10:18 AM  —  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.