Quantcast MA Script for AVI? - digitalFAQ.com Forums [Archives]
  #1  
01-13-2004, 10:49 AM
CheronAph CheronAph is offline
Free Member
 
Join Date: Feb 2003
Location: Espoo, Finland
Posts: 494
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to CheronAph
I just tried an MA script for avi like this,

AviSource("xxx")

Trim(1, 0)
BlindPP(cpu=4)
Blockbuster(method="noise",detail_min=1,detail_max =3,variance=0.1,seed=1)
Convolution3D(1, 6, 12, 6, 8, 2.8, 0)

LanczosResize(544, 336, 0, 0, 576, 240)

TextSub("xxx")

Undot()
TemporalSoften(2,7,7,3,2)
DCTFilter(1,1,1,1,1,1,0.5,0)
Blockbuster(method="noise",detail_min=1,detail_max =10,variance=0.3,seed=5623)

ScriptClip(" nf = YDifferenceToNext()" +chr(13)+ "unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ).TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1) ")

AddBorders(0, 120, 0, 120)
LetterBox(16, 16, 16, 16)

function fmin( int f1, int f2) {
return ( f1<f2 ) ? f1 : f2
}


I got a CQ of 56,790, with the normal script I got 51,715!
Is there any reason I shouldn´t use the MA script?
It looks very good!

PS. It´s faster too!
__________________
¨¨°º©©º°¨¨°º©CHERONAPH©º°¨¨°º©©º°¨¨
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Site Staff / Ad Manager
 
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
01-13-2004, 11:00 AM
incredible incredible is offline
Free Member
 
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to incredible
I don't know what do you mean with "normal script", .. which one? As I assume the last optimal script?

At the first view I see you are using the second blockbuster in front of TemporalSoften() .... so put the second one in front of Addborders() cause Temporalsoften() in the ma routine will "clean" the purpose of your second Blockbuster if you put it before the ma routine!

And by the way you do double TemporalSoftening .... one at the beginning which treats in a static mode and another one in the ma routine which works ma based. This could cause "swimming" and "static artefacts" in your encoding.
Reply With Quote
  #3  
01-13-2004, 11:13 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by incredible
And by the way you do double TemporalSoftening .... one at the beginning which treats in a static mode and another one in the ma routine which works ma based. This could cause "swimming" and "static artefacts" in your encoding.
And I would add : You added to a script that is already "complete" a second filtering pass. But are you sure the result is acceptable (watchable)?

Note: the script can't be faster in anyway. Adding filters never increase the speed
Reply With Quote
  #4  
01-13-2004, 11:24 AM
CheronAph CheronAph is offline
Free Member
 
Join Date: Feb 2003
Location: Espoo, Finland
Posts: 494
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to CheronAph
If I move the second blockbuster or remove it, the encoding time jumps to 20 hours, normally it´s 3 hours! The movie is 100 minutes long!
__________________
¨¨°º©©º°¨¨°º©CHERONAPH©º°¨¨°º©©º°¨¨
Reply With Quote
  #5  
01-13-2004, 11:28 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by CheronAph
If I move the second blockbuster or remove it, the encoding time jumps to 20 hours, normally it´s 3 hours! The movie is 100 minutes long!
Did you try to encode a little part of the movie (let say 5 min) and watch it completly ? The faster encoding time let me think about an error.
Reply With Quote
  #6  
01-13-2004, 01:42 PM
CheronAph CheronAph is offline
Free Member
 
Join Date: Feb 2003
Location: Espoo, Finland
Posts: 494
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to CheronAph
I did a 5 minute clip and theres nothing wrong with it!
__________________
¨¨°º©©º°¨¨°º©CHERONAPH©º°¨¨°º©©º°¨¨
Reply With Quote
  #7  
01-13-2004, 02:02 PM
incredible incredible is offline
Free Member
 
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to incredible
ok, 5mins but anyhow, above you're performing a Triple Temporal filtering job (Convo3D - TempSoften - Tempsoften) ! And that's not the way. Especially in cases of mid motion you get into the risk that contours of abjects/peoples begin to swim as I told you. Just watch the Backgrounds and their static "Grain" effect.

Well I don't know your source condition (where all bases on) but I speak out of experiences

At least kick out that Temporalsoften of the ma and replace it by a Unfilter(0,0) ... as you already do non-stop-static temporal filtering. This even makes it faster!
Reply With Quote
  #8  
01-13-2004, 02:04 PM
CheronAph CheronAph is offline
Free Member
 
Join Date: Feb 2003
Location: Espoo, Finland
Posts: 494
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to CheronAph
The source is quite good, what do you suggest I do, has anyone else tried MA for AVI?
__________________
¨¨°º©©º°¨¨°º©CHERONAPH©º°¨¨°º©©º°¨¨
Reply With Quote
  #9  
01-13-2004, 02:06 PM
CheronAph CheronAph is offline
Free Member
 
Join Date: Feb 2003
Location: Espoo, Finland
Posts: 494
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to CheronAph
The script is Dialhot´s optimal script, I just added MA to it!
__________________
¨¨°º©©º°¨¨°º©CHERONAPH©º°¨¨°º©©º°¨¨
Reply With Quote
  #10  
01-13-2004, 02:11 PM
incredible incredible is offline
Free Member
 
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to incredible
I just add that unfilter change in my last post, so notice it


You're scaling the height of your source from 240 to 336!
That means BLUR, even when trying to compensate this by using Lanczos.

What will happen when using MA in here? Very easy:

Lets see it chronologic:

- Resize/Lanczos= Blur/Sharp
- MA = Blur

In other words in this part the process is performing a dance but not an effective treating of your source. Also when upscaling using lanczos that "could" end up worse, cause lanczos results in a whole sharpened image. That means the edges of Dvix Artefacts do come more out etc.
You should (if sharpen is really nessecary) do that using BicubicPrecise and a little asharp afterwards, cause asharp() can be set to sharpen at a defined edge threshold only and not all that uneasy stuff at plain surfaces etc.
Reply With Quote
  #11  
02-08-2004, 01:51 AM
wgamer wgamer is offline
Free Member
 
Join Date: Jan 2004
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
hi every1

here is a script that i used:

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\GripFit_YV12.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\STMedianFilter.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\asharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\unfilter.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\undot.dll")
###############################
AviSource("F:\Movie.avi",false)
################################
AddBorders( 0, 8, 0,0)

###################################
GripCrop(352, 240, overscan=1, source_anamorphic=false)
GripSize(resizer="LanczosResize")

##############################
BlindPP(cpu=4)
Blockbuster(method="noise",detail_min=1,detail_max =3,variance=0.1,seed=1)
#Convolution3D(1, 6, 12, 6, 8, 2.8, 0)

#################################
Undot()
MergeChroma(blur(1.50))
MergeLuma(blur(0.1))
DCTFilter(1,1,1,1,1,1,0.5,0)
##############################
ScriptClip(" nf = YDifferenceToNext()" +chr(13)+ "unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ).TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1) ")

#Blockbuster(method="noise",detail_min=1,detail_ma x=10,variance=0.3,seed=5623)

############################
GripBorders()
########################
function fmin( int f1, int f2) {
return ( f1<f2 ) ? f1 : f2
}

movie: 480x280 ntsc divx5 mp3



i got two problems now
(1) the movie has a slight flickering effect
(2) half way thru the m1v file i get an acces violation error. (avs 254)
i am using klite codec pack
dialhot had advised not to use MA script with avi. but i just couldnt resist
i encoded it as mpg 1 cq 80 cqmatic prediction was 89.9! m1v size is 532 mb so there is scope for incresing cq. will the flicker be removed by increasing cq? then how to avoid access violation error?
thnks
Reply With Quote
  #12  
02-08-2004, 05:20 AM
wgamer wgamer is offline
Free Member
 
Join Date: Jan 2004
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
ok

i uninstalled klite codec and installed individual 311 alpha, xvid and divx


so when i check with gspot i get only one codec and not 2 or 3 codecs as was previously the case. the codec is divx 5 and i am able to play the avi and the error free first half of m1v

also, before encoding i ran the avi thru vdub mp3 freeze for errors.

now i am checking for errors in vdub 156 also just in case
Reply With Quote
  #13  
02-08-2004, 06:42 AM
wgamer wgamer is offline
Free Member
 
Join Date: Jan 2004
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
no errors in avi
Reply With Quote
  #14  
02-08-2004, 07:05 AM
wgamer wgamer is offline
Free Member
 
Join Date: Jan 2004
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
damn stupid of me.
the error was in the audio

only prob now is the slight flickering effect.
Reply With Quote
  #15  
03-15-2004, 06:00 AM
Prodater64 Prodater64 is offline
Free Member
 
Join Date: Mar 2003
Location: Palma de Mallorca - España
Posts: 2,925
Thanks: 0
Thanked 0 Times in 0 Posts
Hi: It is possible or not take the Dialhot's optimal script and add the Kwag's optimal script MA section?

@Dialhot
If this script woud be possible, can y ou put it in the optimal script thread?
Other case can put it here, please.
Reply With Quote
  #16  
03-15-2004, 06:25 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Prodater64
Hi: It is possible or not take the Dialhot's optimal script and add the Kwag's optimal script MA section?
It will give very bad result. Divx are already too blured to allow a MA part based on a "the more the action, the more the blurring" filtering.

Now it is possible to make a MA script even with divx but the content of the ScriptClip line must be completly different than the one for DVDs.

But I won't go in this way as I find the actual script very efficient like it is. I just wonder if I won't do a V5 remplacing C3D by other thing I'm currently testing. Results in few days I think.
Reply With Quote
  #17  
03-17-2004, 05:04 PM
Edlund Edlund is offline
Free Member
 
Join Date: Jul 2003
Location: Pazardjik, Bulgaria
Posts: 147
Thanks: 0
Thanked 0 Times in 0 Posts
Hi, Cheronarph, you can try this script for example, I use it instead of the optimal:
Code:
LoadPlugin("C:\Movies\KVCD\MPEG2Dec3.dll") 
LoadPlugin("C:\Movies\KVCD\GripFit_YV12.dll") 
LoadPlugin("C:\Movies\KVCD\filtersdownloaded\asharp.dll") 
LoadPlugin("C:\Movies\KVCD\filtersdownloaded\undot.dll")  
LoadPlugin("C:\Movies\KVCD\filtersdownloaded\dctfilter.dll")
LoadPlugin("C:\Movies\KVCD\UnFilter_Avisynth_2.5_Alpha\UnFilter.dll") 
LoadPlugin("C:\Movies\KVCD\filtersdownloaded\TemporalCleaner.dll") 
LoadPlugin("C:\Movies\KVCD\filtersdownloaded\Blockbuster.dll")
LoadPlugin("C:\Movies\KVCD\MovieStacker\Filters\Release\vsfilter.dll") 

AviSource("...",false) 
converttoyv12().GripCrop(..., ..., overscan=2, source_anamorphic=false) 
Blockbuster(method="noise",detail_min=1,detail_max=3,variance=0.1,seed=1) 
GripSize(resizer="BicubicResize") 
Undot() 
Limiter() 
ASharp(1, 4) 

SwitchThreshold = (Width<=352) ? 4 : (Width<=480) ? 3 : 2 
ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf >= SwitchThreshold ? \ 
Unfilter(-(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100))) : \ 
TemporalCleaner(round(3+nf), round(8+nf))") 

DCTFilter(1, 1, 1, 1, 1, 1, 0.5, 0) 

GripBorders() 
Limiter() 

function fmin( int f1, int f2) { 
return ( f1<f2 ) ? f1 : f2 
}

TextSub("...")
If you want to do prediction, you can use the optimal, and then encode the movie with this script for faster speed and less filesize.
Reply With Quote
  #18  
03-17-2004, 05:26 PM
incredible incredible is offline
Free Member
 
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to incredible
Sorry Edlund but...

1. I assume you did this script for YUY2 capture purposes as you add a YV12 conversion?

2. You're adding a blockbuster where the random added noise will be scaled afterwards by Gripsize ... so the purpose is destroyed and afterwards not filtered out (that existing block cleaning purpose will not be given)
AND beside this instead you dont clean the noise/blocks, after resizing them you do a sharpen.

3. "... TemporalCleaner(round(3+nf), round(8+nf)... " on almost static scenes (where Temporal cleaning should be done primary) it will act even less in case of less NF.
Reply With Quote
  #19  
03-17-2004, 05:43 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
And :

4/ bluring a Divx with unfilter if really a bad Idea as a told to Prodater.
Reply With Quote
  #20  
03-23-2004, 09:48 AM
Edlund Edlund is offline
Free Member
 
Join Date: Jul 2003
Location: Pazardjik, Bulgaria
Posts: 147
Thanks: 0
Thanked 0 Times in 0 Posts
Thanks for the corrections guys.
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
Script AVS: Recodificando MPEG-1 - o que otimizar no script? danpos Conversão e Codificação de Vídeo (Português) 7 08-29-2004 03:28 AM
Optimal script or simple resize script? bigggt Avisynth Scripting 2 06-22-2004 08:17 PM
Divx script vs Optimal script? bigggt Video Encoding and Conversion 12 11-20-2003 04:22 AM
new KVCD script candidate for optimal script! Dialhot Video Encoding and Conversion 12 10-11-2003 02:09 PM
Avisynth: Difference between MA script and optimal script? mistermickster Avisynth Scripting 2 08-01-2003 09:36 AM

Thread Tools



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