So far, so good :!:
|
I should have RTFM 8O
I took a sample routine from AviSynth's manual, and added my scene change detection. Now it should be bullet proof :!: But again, test it, test it, and test it again to be sure :!: Code:
## DLL Section ## |
Kwag
This green bar shows up in tmpgenc in the video window along the right side with new script like I posted last night. I have never seen this before..I just tried it out again and I'm still getting the green bar David |
Quote:
All my encodes are as clear as the samples I posted. Do you have installed the Nimo CODEC pack or something like that :?: -kwag |
I just tried your latest script and all is working great again :D ..I dont know what was going on, but I'm glad it's gone :!: :!: Nope no nimo.
David |
Quote:
@All, Change the line: ScriptClip("nf > scd_trigger ? blur(MaxTreshold).blur(MaxTreshold) : MergeLuma(Blur(fmin(nf/20,1.5)))") To read: ScriptClip("nf > scd_trigger ? blur(MaxTreshold).blur(MaxTreshold) : Blur(0)") That MergeLuma is screwing up! -kwag |
This Script works 4 me, But the last one you post, its a no no cause it blurs just about anything that move, and i mean BLUR at least thats what happen when i tried it twice.
Code: ## DLL Section ## # LoadPlugin("C:\Filters25\MPEG2Dec3.dll") LoadPlugin("C:\Filters25\STMedianFilter.dll") LoadPlugin("C:\Filters25\UnFilter.dll") # #### ## Defined Variables and Constants ## # MaxTreshold = 1.58 scd_trigger = 15 # Scene change trigger value. nf = 0 # Current frame. lf = 0 # Last frame val = 0 # Dynamic value applied to filters # #### ## Main section and static filters ### # Mpeg2Source("Your_D2V_Source_Here") Limiter() UnFilter(50, 50) BicubicResize( Your_Resize_Values_Here ) STMedianFilter(8, 32, 0, 0 ) TemporalSoften(2,7,7,3,2) # Experimental! MergeChroma(blur(1.50)) # #### ## Dynamic Linear Adaptive filtering and Scene Change Detection ## # FrameEvaluate("lf = YDifferenceToNext()") FrameEvaluate("nf = YDifferenceToNext()") FrameEvaluate("val = (lf / 16) + 0.05") ScriptClip("(abs(nf - lf) < scd_trigger) ? (val < MaxTreshold) ? \ mergeluma(blur(val)) : mergeluma(blur(MaxTreshold)) : \ ( (sign(nf-lf)) != -1) && (val < MaxTreshold) ? mergeluma(blur(val)) : mergeluma(blur(MaxTreshold)).mergeluma(blur(MaxTre shold))") # #### #LetterBox( Your_Values_Here ) # Depends on situation. Use MovieStacker! #AddBorders( Your_Values_Here ) # Depends on situation. Use MovieStacker! Limiter() # #### |
The excessive blur would be caused by this line:
ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf > 2.5 ? Blur(fmin(nf/20,1.5)) : TemporalSoften(2,7,7,3,2)") Increase the value 20 in: Blur(fmin(nf/20,1.5)) to something like: Blur(fmin(nf/35,1.5)) Now it should blurr less. Thanks for the info :!: I see that "blur" is heavier than the blur on the luma (mergeluma), so that default value of 20 that was on the script seems too low, and causes too high values for blur. Tell me the result with 35 :wink: -kwag |
No still the same as before way too much Blur this is my script you tell me if ok.
LoadPlugin("C:\Documents and Settings\Osvaldo\My Documents\Avi Synth 2.51\MPEG2Dec3.dll") LoadPlugin("C:\Documents and Settings\Osvaldo\My Documents\Avi Synth 2.51\asharp.dll") LoadPlugin("C:\Documents and Settings\Osvaldo\My Documents\Avi Synth 2.51\Deen.dll") LoadPlugin("C:\Documents and Settings\Osvaldo\My Documents\Avi Synth 2.51\STmedianFilter.dll") MaxTreshold = 1.58 scd_trigger = 15 # Scene change trigger value. nf = 0 # Next frame. Mpeg2Source("C:\Documents and Settings\Osvaldo\Desktop\DVD\THC.d2v") Limiter() asharp(2,2) Tweak(bright=-25) BicubicResize(480, 366, 0, 0.6, 6, 0, 708, 480) deen("a2d",2,10,12) TemporalSoften(2,7,7,3,2) MergeChroma(blur(1.50)) MergeLuma(blur( 0.2)) ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf > 2.5 ? Blur(fmin(nf/35,1.5)) : TemporalSoften(2,7,7,3,2)") ScriptClip("nf > scd_trigger ? blur(MaxTreshold).blur(MaxTreshold) : Blur(0)") AddBorders(0, 57, 0, 57) LetterBox(0, 0, 16, 16) function fmin(float f1, float f2) { return (f1<f2) ? f1 : f2 } |
Check your PM :!:
|
I got'cha now :!: :!:
Here's the problem with the adaptive filtering. The way the filters work'("ed" :!: ) , was that for low moving tresholds, temporalsoften was applied, and then after a certain treshold (boundary), it would switch to another filter (Blur in this case). And that's exactly where the problem was You can't switch filters in and out of an encode, because they're messing up the color space somehow :!: What I did is that now the filters switch, but I keep mergeluma ON with a very very low bleeding value (0.01). This way, the filters is still on (when it's not supposed to), by generating a very low value, so there's no turn on/turn off "switching glitch", which is what was causing the "blinks" or "flashes" at sporadic points. I just finished a 10 minute encode, and with the previous script, there were CLEARLY visible blinking points. Not so now :!: Here's the updated script portion. Just change this section and paste it to the script I posted previously in this thread.: Code:
## Dynamic Linear Adaptive filtering and Scene Change Detection ## -kwag |
Yesssss :!: :!: :!:.
Another test encode where I had flashes. They're gone :mrgreen: @sh0dan, Can someone make a note in the AviSynth manual, related to "switching" filters dynamically :idea: If it's going to be done, like we're doing here, the mergeluma must be kept on, even in conditional fails (by generating a minimal value ) and avoiding the "overshoot/undershoot" (sort of) effect when the filters are turned on/off. -kwag |
Is there a chance you could show a full script for this :?: , I'm having problems editing my script.
David |
Quote:
Check the "Latest Script" here: http://www.kvcd.net/forum/viewtopic.php?t=3483 I just updated it :) -kwag |
Thanks :D ..I'll go get it :D
David |
I see something at the top of the movie in tiny letters that says:
script error: there is no function named "fmin" scripterror line 2..here is script from tok, Is there something wrong with mine? The movie did look great though. ## DLL Section ## # LoadPlugin("C:\Filters25\MPEG2Dec3.dll") LoadPlugin("C:\Filters25\STMedianFilter.dll") LoadPlugin("C:\Filters25\UnFilter.dll") # #### ## Defined Variables and Constants ## # MaxTreshold = 1.58 scd_trigger = 15 # Scene change trigger value. nf = 0 # Current frame. lf = 0 # Last frame val = 0 # Dynamic value applied to filters # #### ## Main section and static filters ### # Mpeg2Source("C:\DVD\matrix.d2v") Limiter() UnFilter(50, 50) BicubicResize( 352,240,0,0.6,8,0,704,480 ) STMedianFilter(8, 32, 0, 0 ) TemporalSoften(2,7,7,3,2) # Experimental! MergeChroma(blur(1.50)) # #### ## Dynamic Linear Adaptive filtering and Scene Change Detection ## # FrameEvaluate("lf = YDifferenceToNext()") FrameEvaluate("nf = YDifferenceToNext()") FrameEvaluate("val = (lf / 16) + 0.2") ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf > 2.5 ? mergeluma(Blur(fmin(nf/16,1.5))) : TemporalSoften(2,7,7,3,2).MergeLuma(Blur(0.01))") # #### #LetterBox( 0,24,0,24) # Depends on situation. Use MovieStacker! #AddBorders( 0,0,0,0 ) # Depends on situation. Use MovieStacker! Limiter() # #### AssumeFPS(23.976) LoadPlugin("C:\TOK\ToK_EXTRAS\Sampler\Sampler-2.5.dll") oldfps = framerate interval = round((FrameCount/24)/59.940)/10 nFrames = round(24) SelectRangeEvery( (round(framecount/interval)),nFrames) David |
Quote:
Sorry, :oops: get the script again. I forgot to add that function. It's there now :!: |
Quote:
|
Quote:
|
Yesterday I posted a message about colors being blue. But this had nothing to do whit the script. I was using an old version of divx.
|
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.