/*
    Auto_VFR_Fast  ver 0.1.0.0
    written by putin
    
    <対応バージョン>
        AutoVfr.exe ver0.1.1.0以降
        
    <必要なプラグイン>
        TIVTC              必須
            
    <解説>
        Auto_VFRの高速版です。
        機能的には下記のように制限されますが、解析フレーム数が通常版の1/6になります。
        
        ・機能は24/60fps、または24/30fpsの分割のみ。
        ・AutoVfr.iniで指定した関数のみ使用される。     
        
    
    <使用例>
        基本的にはAuto_VFRと同じです。
                
        ※avs例    
        MPEG2Source("video_file")
        Trim()#CMカット
        Auto_VFR_Fast("log_file")   
        return last    
    
        ※コマンド例
        AutoVfr.exe -i "log_file" -o "output.def" -ref 150 -30f 1 -60f 1 -fix 0
        
        Auto_VFR_Fastで作成したログを入力すると自動的にFast-Modeになります。
        この時、-REF は非24fps区間の最小フレーム数を指定するコマンドとして使われます(最小30 / 15フレーム単位)
        
*/


function Auto_VFR_Fast(clip c,string file
                                  \,int "cthresh",int "mi", bool "chroma", int "blockx", int "blocky"){
  
    #クリップを一度DoubleWeave().SelectOdd()とするのは30pを捕捉するため。
    #またこの時点でTBS豚は縞解除されるため、TBSCrop()は必要がない。   
    
    h=c.height()          
    HDsize=720
    cthresh_default=(h>=HDsize)?9:7
    mi_default=(h>=HDsize)?80:50
    blocks_default=(h>=HDsize)?16:32    
    
    cth=default(cthresh,cthresh_default)
    mi=default(mi,mi_default)
    chrm=default(chroma,false)
    bx=default(blockx,blocks_default)
    by=default(blocky,blocks_default)    
                                      
    total=c.framecount()
    WriteFileStart(c, file,""""total_f-"""","string(total)",append=false)
    c1=c.DoubleWeave().SelectOdd().SelectEvery(3,1)
    total2=c1.framecount()
    WriteFileStart(c1, file,""""fast_f-"""","string(total2)",append=true)
    return WriteFile(c1,file,"string(current_frame)",""""-""""
        \,"""string((IsCombedTIVTC(cthresh="""+string(cth)+""",MI="""+string(mi)+""",chroma="""
        \+string(chrm)+""",blockx="""+string(bx)+""",blocky="""+string(by)+"""))?"1":"0")"""
        \,flush=false)
}