; PureBasic Visual Designer v3.92 build 1460 ; Copyright (C) 2005 Buzzqw (Andres Zanzani) ; ; Homepage: www.64k.it/andres ; E-mail: zanzani@64k.it ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY Or FITNESS For A PARTICULAR PURPOSE. See the ; GNU General Public License For more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. IncludeFile "mkvmagic_full_include_nero_enc_4.pb" IncludeFile "C:\Programmi\PureBasic4\jaPBeForPB400\Include\Registry.pbi" Global here.s,pexe.s,pfilt.s,pscript.s,dest.s,pmux.s,pos1,pos2,subs.s Global inputfile.s,outputdir.s,Ifo.s,mediadvd.s,fulldvd.s,enco,aucod.s,aucod2.s Global audio1.s,audio2.s,subtitle1.s,subtitle2.s,audiotr1.s,audiotr2.s,chs.s,chs2.s,cod.s Global av0.s,au0.s,au2.s,audio1tip.s,audio2tip.s,subssize1.l,width.s,audiosz1.l,audiosz2.l Global framec.s,framer.s,bitrate.s,videosize.f,ar.s,tsec.l,subtracks.s,bitrate2.s,use_bvop.s,exts.s Global audio1d2v.s,audio2d2v.s,subtitle1d2v.s, subtitle2d2v.s,dvd.s,height.s,ardvd.s,Profile.s,hq.s,ff.s,hqq.s Global maxbit.s,file.s,tframes.l,res.f Global avs1.s,avs2.s,avs3.s,avs4.s,avs5.s,avs6.s,avs7.s Global iavs1.s,iavs2.s,iavs3.s,iavs4.s,iavs5.s,iavs6.s,iavs7.s Global bres1.s,bres2.s,bres3.s,bres4.s,bres5.s,bres6.s,bres7.s Global pres1.s,pres2.s,pres3.s,pres4.s,pres5.s,pres6.s,pres7.s Global numberofreferenceframes.l, numberofbframes.l, alphadeblocking.l, betadeblocking.l Global EncodingMode.s,BitrateQuantizer.s,KeyframeInterval.s,NbBframes.s,MinQuantizer.s,MaxQuantizer.s Global SARX.s,SARY.s,Turbo.s,V4MV.s,Trellis.s,CreditsQuantizer.s,AQStrength.s,AQSensitivity.s,MixedRefs.s Global X264Trellis.s,NbRefFrames.s,AlphaDeblock.s,BetaDeblock.s,SubPelRefinement.s,MaxQuantDelta.s Global TempQuantBlur.s,BframePredictionMode.s,VBVBufferSize.s,VBVMaxBitrate.s,METype.s,MERange.s Global NbThreads.s,MinGOPSize.s,Profile.s,Level.s,IPFactor.s,PBFactor.s,ChromaQPOffset.s,VBVInitialBuffer.s Global BitrateVariance.s,QuantCompression.s,TempComplexityBlur.s,TempQuanBlurCC.s,SCDSensitivity.s Global BframeBias.s,Deblock.s,Cabac.s,WeightedBPrediction.s,AdaptiveBFrames.s,BFramePyramid.s Global BRDO.s,ChromaME.s,P8x8mv.s,B8x8mv.s,I4x4mv.s,I8x8mv.s,P4x4mv.s,AdaptiveDCT.s,Lossless.s Global hour.f,minutes.f,seconds.f,framerate.f,sect.f Global caudiobit1.f,caudiobit2.f,frames.f,calcaudiosize1.f,calcaudiosize2.f Global sizetotal.f,twidth.s,theight.s,NoiseReduction.s Global xpass.s, xkeyframeinterval.s,xnumberofreferenceframes.s,xbetadeblocking.l,xalphadeblocking.l Global xpyramid.s,xSubPelRefinement.s,xAdaptiveBFrames.s,xcabac.s,xrdoforbframes.s,xchromame.s Global x264.s,matrixfile.s,passx.s,aa.s,bb.s,c.s,d.s,e.s,f.s,g.s,h.s,i.s,l.s,listvob.s,aif.s,pbee.s Global noFastPSkip.s,Dimb.s,sizemb.s,biME.s Global minz.l,sizebp.f,bps.l,Forcedfilm.l,telecine.l,fieldOrder.l Global xvidpass.s,xvidcmd.s,sample.s,acwidth.s,acheight.s,temp.s Global numProg.l, numInt.l, numTC.l, sectionCount.l, d2vwidth.s, d2vheight.s Global acleft.s, actop.s, acwidth.s, acheight.s Global caudiobit1.f,caudiobit2.f,mentsec.s, aid.s,greys.s,mv0.s,cbp.s,progressive.l,interlace.l Global start,start2,gkar.f,xsize.l,sizembd.f,channel.s,aacfor.s,aacpass.s,audiostate1.l,audiostate2.l Global oraminuti.s,log.s,fulllog.s,deint.s,vobifo.s,audioloop1.l,audioloop2.l inputfile.s="NONE" au0.s="NONE" au2.s="NONE" audiotr1.s="NONE" audiotr2.s="NONE" chs.s="2" chs2.s="2" enco=3 SUB=0 subssize1=1 use_bvop.s="3" exts.s="NONE" dvd.s="0" subs.s="0" listvob.s="" bps.l=0 audiosz1.l=0 audiosz2.l=1 fieldOrder.l=3 audioloop1.l=0 audioloop2.l=0 Declare audioproc() Declare fix() Declare normalize1() Declare normalize2() Declare audioonly() Declare audio1encode() Declare audio2encode() Declare script() Declare dvdscript() Declare autosize() Declare qmf() Declare qmf1() Declare fcod() Declare dvdfcod() Declare mux() Declare movielenght() Declare drive_ifo() Declare d2v() Declare fixd2v() Declare about() Declare setprecodec() Declare container() Declare pass() Declare muxdvd() Declare sup() Declare cleandvd() Declare ffmpeg() Declare pcrop() Declare scalcf() Declare screditq() Declare credit() Declare alphadeblocking() Declare betadeblocking() Declare x264cmdq() Declare x264wcmd() Declare x264cmd() Declare acodec1() Declare acodec2() Declare Dimb() Declare checkout(dir.s) Declare testdeint() Declare preclean() Declare xvidcmd() Declare xvidcmdq() Declare avsoptimizer() Declare qmf2() Declare minimized(progz.s) Declare createautodeintmovie() Declare autodeint_ff_movie() Declare analyseFF() Declare analyse() Declare menautosize() Declare menautosize1() Declare menfcod() Declare menmovielenght() Declare menscalcf() Declare menDimb() Declare mencheckout(dir.s) Declare mencrop() Declare checkexe() Declare audiodownup(mode.s) Procedure writelog(log.s) oraminuti.s=FormatDate("%hh:%ii:%ss", Date()) OpenFile(999,dest.s+"mkvmagic.log") FileSeek(999,Lof(999)) WriteStringN(999,oraminuti.s+" "+log.s) CloseFile(999) fulllog.s=fulllog.s+Chr(13)+Chr(10)+log.s SetGadgetText(#log,fulllog.s) EndProcedure Procedure about() MessageRequester(vers.s,"MkvMagic, Software for Mpeg4/Mpeg2 to Mpeg4/Mpeg2 conversion. Developed by Andres Zanzani. Mail: azanzani@gmail.com. This software is free software, released under GPL v.2 License. Please be careful using This software For backup pourpose. This software must be used only If you own all copyrights on surce movie. Please learn about Fair Use of copyrighted material IN your nation. Please familiarize yourself With the laws of your own country regarding the backing up of DVDs And all form of copyrigthed material. This software was Not written To be used For piracy. the author assumes that you own all the rights on source And that you will be using the copy For your own personal Use. the author does Not take any responsibility For the illegal Use of MkvMagic",#PB_MessageRequester_Ok) EndProcedure Procedure checkmedia() ClearGadgetItemList(#subtracks1) ClearGadgetItemList(#audiotracks1) ClearGadgetItemList(#subtracks2) ClearGadgetItemList(#audiotracks2) AddGadgetItem(#subtracks1,-1,"NONE") AddGadgetItem(#subtracks2,-1,"NONE") AddGadgetItem(#audiotracks1,-1,"NONE") AddGadgetItem(#audiotracks2,-1,"NONE") exts.s = LCase(GetExtensionPart(inputfile.s)) Debug ("exts.s="+exts.s) If exts.s ="ifo" : drive_ifo() : EndIf If exts.s ="d2v" : d2v() : EndIf If exts.s ="m2v" : d2v() : EndIf If exts.s ="avs" : d2v() : EndIf If exts.s ="avi" Or exts.s ="mkv" Or exts.s ="ogm" Or exts.s ="wmv" AddGadgetItem(#audiotracks1,-1,GetFilePart(inputfile.s)) SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) ProcedureReturn EndIf If exts.s ="ac3" Or exts.s ="wav" Or exts.s ="ogg" Or exts.s ="mpa" Or exts.s ="mp2" Or exts.s ="mp3" Or exts.s ="aac" AddGadgetItem(#audiotracks1,-1,GetFilePart(inputfile.s)) SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) ProcedureReturn EndIf If exts.s <>"avi" If exts.s <>"mkv" If exts.s <>"ogm" If exts.s <>"wmv" If exts.s <>"avs" CreateFile(0,here.s+"checkmedia.bat") WriteStringN(0,Chr(34)+pexe.s+"vsrip\bbSummary.exe"+Chr(34)+" "+Chr(34)+inputfile.s+Chr(34)+" 10000 > "+Chr(34)+here.s+"checkmedia.txt"+Chr(34)) CloseFile(0) RunProgram(here.s+"checkmedia.bat","",here.s,#PB_Program_Wait) fh = OpenFile(#PB_Any,here.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s," AC3 Audio Stream",1) AddGadgetItem(#audiotracks1,-1,Trim(StringField(line.s,1,"p"))) AddGadgetItem(#audiotracks2,-1,Trim(StringField(line.s,1,"p"))) EndIf If FindString(line.s," DTS Audio Stream",1) AddGadgetItem(#audiotracks1,-1,Trim(StringField(line.s,1,"p"))) AddGadgetItem(#audiotracks2,-1,Trim(StringField(line.s,1,"p"))) EndIf If FindString(line.s,"MPEG Audio Stream",1) AddGadgetItem(#audiotracks1,-1,Trim(StringField(line.s,1,"p"))) AddGadgetItem(#audiotracks2,-1,Trim(StringField(line.s,1,"p"))) EndIf If FindString(line.s,"Subpicture stream",1) AddGadgetItem(#subtracks1,-1,Trim(StringField(line.s,1,"="))) AddGadgetItem(#subtracks2,-1,Trim(StringField(line.s,1,"="))) EndIf If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" If FindString(line.s,"Video",1) av=FindString(line.s,"Video",1) av1=FindString(line.s," ",1) av0.s=Mid(line.s,av1+1,av-av1-3) EndIf EndIf Wend CloseFile(fh) EndIf EndIf EndIf EndIf EndIf AddGadgetItem(#subtracks1,-1,"RIP ALL SUBS") SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) del.s=here.s+"checkmedia.bat" DeleteFile(del.s) del.s=here.s+"checkmedia.txt" DeleteFile(del.s) EndProcedure Procedure audioproc() Debug ("Sono in audio proc") Debug ("Ifo="+Ifo.s) Debug ("audiotracks1="+Str(GetGadgetState(#audiotracks1))) Debug ("audiotracks2="+Str(GetGadgetState(#audiotracks2))) Debug ("enco="+Str(enco)) Debug ("exts.s="+exts.s) If exts.s="ifo" aif.s=GetFilePart(inputfile.s) vobifo.s=dest.s+Mid(aif.s,0,Len(aif.s)-5)+"1.vob" EndIf If exts.s<>"ifo" aif.s=GetFilePart(Ifo.s) vobifo.s=dest.s+"dvd\video_ts\"+Mid(aif.s,0,Len(aif.s)-5)+"1.vob" EndIf Debug("aif="+aif.s) Debug("vobifo.s="+vobifo.s) writelog("Ifo analyzed: "+aif.s) writelog("VobSet analyzed: "+vobifo.s) If GetGadgetState(#audiotracks1)=0 And GetGadgetState(#audiotracks2)=0 And LCase(exts.s)<>"ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=0 -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=0 -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks1)=0 And GetGadgetState(#audiotracks2)=0 writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=0 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=0 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) EndIf If GetGadgetState(#audiotracks1)<>0 And GetGadgetState(#audiotracks2)=0 And LCase(exts.s)<>"ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks2) <>0 And GetGadgetState(#audiotracks1)<>0 And LCase(exts.s)<>"ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks1)=0 And GetGadgetState(#audiotracks2)=0 And LCase(exts.s)="ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=0 -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=0 -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks1)<>0 And GetGadgetState(#audiotracks2)=0 And LCase(exts.s)="ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks2) <>0 And GetGadgetState(#audiotracks1) <>0 And LCase(exts.s)="ifo" writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+vobifo.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetText(#container)<>"ES Video" If GetGadgetState(#compcheck)=0 fix() normalize1() normalize2() If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() :EndIf If GetGadgetText(#audiotracks2)<>"NONE" : audio2encode() :EndIf EndIf EndIf EndProcedure Procedure audioproc1() Debug ("Ifo="+Ifo.s) Debug ("ifos.="+Mid(Ifo.s,Len(Ifo.s)-11,6)) Debug ("audiotracks1="+Str(GetGadgetState(#audiotracks1))) Debug ("audiotracks2="+Str(GetGadgetState(#audiotracks2))) Debug ("enco="+Str(enco)) Debug("aif="+dest.s+"video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1") Debug("aif-vob="+dest.s+"video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob") If GetGadgetState(#audiotracks1)=0 And GetGadgetState(#audiotracks2)=0 writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=0 -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=0 -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks1)<>0 And GetGadgetState(#audiotracks2)=0 writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf If GetGadgetState(#audiotracks2) <>0 And GetGadgetState(#audiotracks1) <>0 writelog("Starting Indexing") writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -AIF=["+dest.s+"dvd\video_ts\"+Mid(Ifo.s,Len(Ifo.s)-11,6)+"_1.vob] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) writelog("Finished indexing") EndIf fix() normalize1() normalize2() If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() :EndIf If GetGadgetText(#audiotracks2)<>"NONE" : audio2encode() :EndIf EndProcedure Procedure ffmpeg() Debug("sono in ffmpeg") Debug ("audio1="+GetGadgetText(#audiotracks1)) Debug ("audio2="+GetGadgetText(#audiotracks2)) If GetGadgetState(#freq48)=1 : freq.l=48000 : EndIf If GetGadgetState(#freq48)=2 : freq.l=44100 : EndIf Debug("freq="+Str(freq.l)) Debug("framer.s="+framer.s) Debug("framerate="+Str(framerate)) If GetGadgetState(#minimized)=1 :minz.l=0: thread1audio=CreateThread(@minimized(),pexe.s) : EndIf If FileSize(pexe.s+"encoder\mplayer.exe")=-1 Endinput.l=Len(GetFilePart(inputfile.s)) vinput.s=ReplaceString(inputfile.s,"\","\\",1) vdestinput.s=ReplaceString(dest.s,"\","\\",1) Debug("vinput.s="+vinput.s) vinaudio.s=ReplaceString(inputfile.s,"\","\\",1) voutaudio.s=ReplaceString(dest.s,"\","\\",1) CreateFile(1,dest.s+"audio.avs") OpenFile(1,dest.s+"audio.avs") WriteStringN(1,"DirectShowSource("+Chr(34)+inputfile.s+Chr(34)+")") CloseFile(1) CreateFile(1,dest.s+"job.vcf") OpenFile(1,dest.s+"job.vcf") WriteStringN(1,"VirtualDub.Open("+Chr(34)+vinaudio.s+Chr(34)+",0,0);") WriteStringN(1,"VirtualDub.video.SetMode(0);") WriteStringN(1,"VirtualDub.video.filters.Clear();") WriteStringN(1,"VirtualDub.subset.Delete();") WriteStringN(1,"VirtualDub.stream[0].SetMode(0);") If GetGadgetText(#audiocodec1)<>"Copy Original" WriteStringN(1,"VirtualDub.stream[0].SaveWAV("+Chr(34)+vdestinput.s+"fixed.wav"+Chr(34)+");") writelog("Launched VitualDub to decode "+inputfile.s+" to "+dest.s+"fixed.wav") EndIf If GetGadgetText(#audiocodec1)="Copy Original" WriteStringN(1,"VirtualDub.stream[0].Demux("+Chr(34)+vdestinput.s+"fixed.wav"+Chr(34)+");") writelog("Launched VitualDub to extract "+inputfile.s+" to audio") EndIf CloseFile(1) RunProgram(pexe.s+"Vdubmod\VIRTUA~1.EXE"," /nowrite /x /s"+Chr(34)+dest.s+"job.vcf"+Chr(34),dest.s,1) If GetGadgetState(#minimized)=1 : KillThread(thread1audio) : EndIf EndIf If FileSize(pexe.s+"encoder\mplayer.exe")<>-1 If GetGadgetText(#audiocodec1)<>"Copy Original" writelog("Launched Mplayer.exe to decode "+inputfile.s+" to "+dest.s+"fixed.wav: "+pexe.s+"encoder\mplayer.exe "+Chr(34)+inputfile.s+Chr(34)+" -ao pcm:file=fixed.wav -vc dummy -vo null") RunProgram(pexe.s+"encoder\mplayer.exe"," "+Chr(34)+inputfile.s+Chr(34)+" -ao pcm:file=fixed.wav -vc dummy -vo null",dest.s,1) EndIf If GetGadgetText(#audiocodec1)="Copy Original" writelog("Launched Mplayer.exe to extract "+inputfile.s+" to "+dest.s+"audio: "+pexe.s+"encoder\mplayer.exe "+Chr(34)+inputfile.s+Chr(34)+" -ao pcm:file="+Chr(34)+dest.s+"fixed.wav"+Chr(34)+" -vc dummy -vo null") RunProgram(pexe.s+"encoder\mplayer.exe"," "+Chr(34)+inputfile.s+Chr(34)+" -dumpaudio -dumpfile "+Chr(34)+dest.s+"fixed.wav"+Chr(34),dest.s,1) EndIf EndIf If GetGadgetText(#audiocodec1)<>"Copy Original" CreateFile(1,dest.s+"mkvmaudio.avs") WriteStringN(1,"DirectShowSource("+Chr(34)+dest.s+"fixed.wav"+Chr(34)+")") WriteStringN(1,"Normalize()") If GetGadgetText(#freq48)<>"AUTO" : WriteStringN(1,"SSRC("+GetGadgetText(#freq48)+")") : EndIf If GetGadgetText(#tempo)<>"NONE" : WriteStringN(1,"TimeStretch(tempo="+GetGadgetText(#tempo)+")") : EndIf If GetGadgetText(#pitch)<>"NONE" : WriteStringN(1,"TimeStretch(pitch="+GetGadgetText(#pitch)+")") : EndIf If GetGadgetText(#freeau)<>"" : WriteStringN(1,GetGadgetText(#freeau)) : EndIf CloseFile(1) writelog("Checking audio file") If GetGadgetState(#minimized)=1 :minz.l=0: thread1audio=CreateThread(@minimized(),pexe.s) : EndIf If GetGadgetState(#pal)=0 And Int(Val(framer.s))<>25 RunProgram(pbee.s+"besweet.exe"," -core( -input "+Chr(34)+dest.s+"fixed.wav"+Chr(34)+" -output "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" -2ch -logfilea "+Chr(34)+dest.s+"mkvmagic.log"+Chr(34)+" ) -azid( -c normal ) -ota( -hybridgain ) -ssrc( --rate "+Str(freq.l)+" ) -soundtouch( -r "+StrF(ValF(framer.s)*1000,0)+" 25000 )",dest.s,#PB_Program_Wait) EndIf If GetGadgetState(#pal)=0 And Int(Val(framer.s))=25 RunProgram(pbee.s+"besweet.exe"," -core( -input "+Chr(34)+dest.s+"fixed.wav"+Chr(34)+" -output "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" -2ch -logfilea "+Chr(34)+dest.s+"mkvmagic.log"+Chr(34)+" ) -azid( -c normal ) -ota( -hybridgain ) -ssrc( --rate "+Str(freq.l)+" )",dest.s,#PB_Program_Wait) EndIf If GetGadgetState(#pal)=1 RunProgram(pbee.s+"besweet.exe"," -core( -input "+Chr(34)+dest.s+"fixed.wav"+Chr(34)+" -output "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" -2ch -logfilea "+Chr(34)+dest.s+"mkvmagic.log"+Chr(34)+" ) -azid( -c normal ) -ota( -hybridgain ) -ssrc( --rate "+Str(freq.l)+" ) -soundtouch( -r "+StrF(ValF(framer.s)*1000,0)+" "+StrF(ValF(GetGadgetText(#ntsc))*1000,0)+")",dest.s,#PB_Program_Wait) EndIf RunProgram(pexe.s+"normalize.exe"," "+Chr(34)+dest.s+"fixed1.wav"+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.wav" Debug("inputfile.s="+inputfile.s) If GetGadgetState(#minimized)=1 : KillThread(thread1audio) : EndIf EndIf If GetGadgetText(#audiocodec1)="Copy Original" newaudio.s="fixed1.ac3" RenameFile(dest.s+"fixed.wav", dest.s+newaudio.s) audiotr1.s="fixed1.ac3" EndIf DeleteFile(dest.s+"audio.avs") DeleteFile(dest.s+"job.vcf") EndProcedure Procedure input_File() inputfile.s = OpenFileRequester("Open File to Encode", dest.s+"*", "Video, (*.vob,*.mpeg,*.mpg,*.ifo,*.ts,*.avi,*.d2v,*.avs)|*.Vob;*.Mpeg;*.Mpg;*.Ifo;*.D2V;*.TS;*.AVI;*.AVS|Audio, (*.ac3,*.wav,*.ogg,*.mpa,*.mp2,*.mp3,*.acc)|*.ac3;*.wav;*.ogg;*.mpa;*.mp2;*.mp3;*.acc|All, (*.*)|*.*", 0) SetGadgetText(#ttinput, inputfile.s) If inputfile.s="" SetGadgetText(#ttinput,"Click on INPUT for choosing FILE to ENCODE") inputfile.s="Click on INPUT for choosing FILE to ENCODE" EndIf SetGadgetText(#ttoutput,GetPathPart(inputfile.s)) dest.s=GetPathPart(inputfile.s) checkmedia() EndProcedure Procedure save_File() dest.s = PathRequester("Choose directory to output",dest.s) SetGadgetText(#ttoutput, dest.s) If dest.s="" dest.s=here.s SetGadgetText(#ttoutput,dest.s) EndIf checkout(dest.s) EndProcedure Procedure.s GetBiggestFileSize(dir$) Debug("sono in getbig") Debug("dir$= "+dir$) If ExamineDirectory(0,dir$,"*.ifo") Repeat type=NextDirectoryEntry(0) If type=1 ; File. a$=dir$+DirectoryEntryName(0) a=FileSize(a$) If a>b : b=a : Ifo.s=a$ : EndIf EndIf Until type=0 EndIf ProcedureReturn Ifo.s EndProcedure Procedure listvob() Debug("sono in listvob") Debug("aif.s="+aif.s) If ExamineDirectory(0,dest.s+"DVD\VIDEO_TS\",aif.s+"*.vob") Repeat type=NextDirectoryEntry(0) If type=1 ; File. a$=dir$+DirectoryEntryName(0) listvob1.s=Chr(34)+dest.s+"DVD\Video_ts\"+a$+Chr(34)+" + " listvob.s=listvob.s+listvob1.s EndIf Until type=0 EndIf If Right(listvob.s,3)=" + " : listvob.s=RSet(listvob.s,Len(listvob.s)-3) : EndIf Debug("listvob.s="+listvob.s) EndProcedure Procedure biavs1() iavs1.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs1, iavs1.s) writelog("Manually loaded "+iavs1.s) If iavs1.s="" SetGadgetText(#iavs1,"") EndIf EndProcedure Procedure biavs2() iavs2.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs2, iavs2.s) writelog("Manually loaded "+iavs2.s) If iavs2.s="" SetGadgetText(#iavs2,"") EndIf EndProcedure Procedure biavs3() iavs3.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs3, iavs3.s) writelog("Manually loaded "+iavs3.s) If iavs3.s="" SetGadgetText(#iavs3,"") EndIf EndProcedure Procedure biavs4() iavs4.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs4, iavs4.s) writelog("Manually loaded "+iavs4.s) If iavs4.s="" SetGadgetText(#iavs4,"") EndIf EndProcedure Procedure biavs5() iavs5.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs5, iavs5.s) writelog("Manually loaded "+iavs5.s) If iavs5.s="" SetGadgetText(#iavs5,"") EndIf EndProcedure Procedure biavs6() iavs6.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs6, iavs6.s) writelog("Manually loaded "+iavs6.s) If iavs6.s="" SetGadgetText(#iavs6,"") EndIf EndProcedure Procedure biavs7() iavs7.s = OpenFileRequester("Open AVS script to Import ", dest.s+"*", "*.*", 0) SetGadgetText(#iavs7, iavs7.s) writelog("Manually loaded "+iavs7.s) If iavs7.s="" SetGadgetText(#iavs7,"") EndIf EndProcedure Procedure bavs1() avs1.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs1, avs1.s) writelog("Manually loaded "+avs1.s) If avs1.s="" SetGadgetText(#avs1,"") EndIf EndProcedure Procedure bavs2() avs2.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs2, avs2.s) writelog("Manually loaded "+avs2.s) If avs2.s="" SetGadgetText(#avs2,"") EndIf EndProcedure Procedure bavs3() avs3.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs3, avs3.s) writelog("Manually loaded "+avs3.s) If avs3.s="" SetGadgetText(#avs3,"") EndIf EndProcedure Procedure bavs4() avs4.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs4, avs4.s) writelog("Manually loaded "+avs4.s) If avs4.s="" SetGadgetText(#avs4,"") EndIf EndProcedure Procedure bavs5() avs5.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs5, avs5.s) writelog("Manually loaded "+avs5.s) If avs5.s="" SetGadgetText(#avs5,"") EndIf EndProcedure Procedure bavs6() avs6.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs6, avs6.s) writelog("Manually loaded "+avs6.s) If avs6.s="" SetGadgetText(#avs6,"") EndIf EndProcedure Procedure bavs7() avs7.s = OpenFileRequester("Open Plugin Dll", dest.s+"*", "*.dll", 0) SetGadgetText(#avs7, avs7.s) writelog("Manually loaded "+avs7.s) If avs7.s="" SetGadgetText(#avs7,"") EndIf EndProcedure Procedure getaudiotrak() audiostring.s=GetGadgetText(#audiotracks1) audiostring1=FindString(audiostring.s,"0x8",1) audio1.s=Mid(audiostring.s,audiostring1+3,1) Debug ("audiostring.s= "+audiostring.s) Debug ("audiostring1= "+Str(audiostring1)) Debug ("audio1.s="+audio1.s) Debug ("AU-getgdgetstate1="+Str(GetGadgetState(#audiotracks1))) audiostring.s=GetGadgetText(#audiotracks2) audiostring1=FindString(audiostring.s,"0x8",1) audio2.s=Mid(audiostring.s,audiostring1+3,1) Debug ("audiostring.s= "+audiostring.s) Debug ("audiostring1= "+Str(audiostring1)) Debug ("audio2.s="+audio2.s) Debug ("AU-getgdgetstate2="+Str(GetGadgetState(#audiotracks2))) EndProcedure Procedure getsubtitletrak() subtitlestring.s=GetGadgetText(#subtracks1) subtitlestring1=FindString(subtitlestring.s,"0x2",1) subtitle1.s=Mid(subtitlestring.s,subtitlestring1,4) Debug ("subtitlestring.s= "+subtitlestring.s) Debug ("subtitlestring1= "+Str(subtitlestring1)) Debug ("subtitle1.s="+subtitle1.s) Debug ("SUB-getgdgetstate1="+Str(GetGadgetState(#subtracks1))) subtitlestring.s=GetGadgetText(#subtracks2) subtitlestring1=FindString(subtitlestring.s,"0x2",1) subtitle2.s=Mid(subtitlestring.s,subtitlestring1,4) Debug ("subtitlestring.s= "+subtitlestring.s) Debug ("subtitlestring1= "+Str(subtitlestring1)) Debug ("subtitle2.s="+subtitle2.s) Debug ("SUB-getgdgetstate1="+Str(GetGadgetState(#subtracks2))) EndProcedure Procedure drive_ifo() ClearGadgetItemList(#subtracks1) ClearGadgetItemList(#audiotracks1) ClearGadgetItemList(#subtracks2) ClearGadgetItemList(#audiotracks2) AddGadgetItem(#subtracks1,-1,"NONE") AddGadgetItem(#subtracks2,-1,"NONE") AddGadgetItem(#audiotracks1,-1,"NONE") AddGadgetItem(#audiotracks2,-1,"NONE") Debug ("sono in checkdriver driveifo") RunProgram(pexe.s+"vsrip\vstrip_ifo.exe ",Chr(34)+inputfile.s+Chr(34)+" "+Chr(34)+here.s+"dvdinfo.txt"+Chr(34),"",#PB_Program_Wait) RunProgram(pexe.s+"chapter\ChapterXtractor.exe"," "+inputfile.s+" "+pexe.s+"chapters.txt -p5","",#PB_Program_Wait) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") pgc.l=0 While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC ",1) pgc.l=pgc.l+1 AddGadgetItem(#pgc,-1,line.s) SetGadgetState(#pgc,0) EndIf Wend CloseFile(fh) Debug ("pgc.l="+Str(pgc.l)) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") pgcx.l=-1 pgc.l=GetGadgetState(#pgc) Debug("pgcx.l start="+Str(pgcx.l)) Debug("pgc.l start="+Str(pgc.l)) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) : pgcx.l=pgcx.l+1 : Debug("pgcx.l="+Str(pgcx.l)) : EndIf If FindString(line.s," Audio ",1) AddGadgetItem(#audiotracks1,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) AddGadgetItem(#audiotracks2,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) Break EndIf Wend CloseFile(fh) SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) pgcx.l=-1 pgc.l=GetGadgetState(#pgc) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) : pgcx.l=pgcx.l+1 : Debug("pgcx.l="+Str(pgcx.l)) : EndIf If FindString(line.s," Subtitle",1) AddGadgetItem(#subtracks1,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) AddGadgetItem(#subtracks2,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) Break EndIf Wend CloseFile(fh) AddGadgetItem(#subtracks1,-1,"RIP ALL SUBS") SetGadgetState(#subtracks1,0) : SetGadgetState(#subtracks2,0) getaudiotrak() : getsubtitletrak() EndProcedure Procedure d2v() audio1d2v.s = OpenFileRequester("Open First Audio File", GetPathPart(inputfile.s)+"*", "Audio, (*.ac3,*.wav,*.ogg,*.mpa,*.mp2,*.mp3,*.acc)|*.ac3;*.wav;*.ogg;*.mpa;*.mp2;*.mp3;*.acc", 0) If audio1d2v.s="" : AddGadgetItem(#audiotracks1,-1,"NONE") : EndIf If audio1d2v.s<>"" : AddGadgetItem(#audiotracks1,-1,audio1d2v.s) : EndIf audio2d2v.s = OpenFileRequester("Open Second Audio File", GetPathPart(inputfile.s)+"*", "Audio, (*.ac3,*.wav,*.ogg,*.mpa,*.mp2,*.mp3,*.acc)|*.ac3;*.wav;*.ogg;*.mpa;*.mp2;*.mp3;*.acc", 0) If audio2d2v.s="" : AddGadgetItem(#audiotracks2,-1,"NONE") : EndIf If audio2d2v.s<>"" : AddGadgetItem(#audiotracks2,-1,audio2d2v.s) : EndIf EndProcedure Procedure drive() ClearGadgetItemList(#subtracks1) ClearGadgetItemList(#audiotracks1) ClearGadgetItemList(#subtracks2) ClearGadgetItemList(#audiotracks2) ClearGadgetItemList(#pgc) AddGadgetItem(#subtracks1,-1,"NONE") AddGadgetItem(#subtracks2,-1,"NONE") AddGadgetItem(#audiotracks1,-1,"NONE") AddGadgetItem(#audiotracks2,-1,"NONE") Debug ("sono in checkdriver drive") mediadvd.s=GetGadgetText(#cdvd) Debug ("mediadvd.s= " + mediadvd.s) Debug ("dest.s= " + dest.s) fulldvd.s=mediadvd.s+"\VIDEO_TS\" Debug ("fulldvd.s= "+fulldvd.s) GetBiggestFileSize(fulldvd.s) Debug("ifo.s="+Ifo.s) ;RunProgram(here.s+"check.bat","","",#PB_Program_Hide|#PB_Program_Wait) RunProgram(pexe.s+"vsrip\vstrip_ifo.exe ",Chr(34)+Ifo.s+Chr(34)+" "+Chr(34)+here.s+"dvdinfo.txt"+Chr(34),"",#PB_Program_Wait) RunProgram(pexe.s+"chapter\ChapterXtractor.exe"," "+Ifo.s+" "+pexe.s+"chapters.txt -p5","",#PB_Program_Wait) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") pgc.l=0 While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC ",1) pgc.l=pgc.l+1 AddGadgetItem(#pgc,-1,line.s) SetGadgetState(#pgc,0) EndIf Wend CloseFile(fh) Debug ("pgc.l="+Str(pgc.l)) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") pgcx.l=-1 pgc.l=GetGadgetState(#pgc) Debug("pgcx.l start="+Str(pgcx.l)) Debug("pgc.l start="+Str(pgc.l)) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) : pgcx.l=pgcx.l+1 : Debug("pgcx.l="+Str(pgcx.l)) : EndIf If FindString(line.s," Audio ",1) AddGadgetItem(#audiotracks1,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) AddGadgetItem(#audiotracks2,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) Break EndIf Wend CloseFile(fh) SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) pgcx.l=-1 pgc.l=GetGadgetState(#pgc) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) : pgcx.l=pgcx.l+1 : Debug("pgcx.l="+Str(pgcx.l)) : EndIf If FindString(line.s," Subtitle",1) AddGadgetItem(#subtracks1,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) AddGadgetItem(#subtracks2,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) Break EndIf Wend CloseFile(fh) AddGadgetItem(#subtracks1,-1,"RIP ALL SUBS") SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) getaudiotrak() getsubtitletrak() SetGadgetText(#ttinput,fulldvd.s) EndProcedure Procedure riponly() If exts.s="ifo" : ProcedureReturn : EndIf mediadvd.s=GetGadgetText(#cdvd)+"\VIDEO_TS\" writelog("Starting ripping from "+mediadvd.s+" to "+dest.s) If GetGadgetState(#minimized)=1 : minz.l=0 : thread1dvd=CreateThread(@minimized(),"decrypter") : EndIf If GetGadgetState(#wripd)=1 writelog("Using DVDDecrypter for Ripping") RunProgram(pexe.s+"vsrip/dvddecrypter.exe"," /MODE IFO /SRC "+Chr(34)+GetGadgetText(#cdvd)+Chr(34)+" /DEST "+Chr(34)+dest.s+"DVD\VIDEO_TS"+Chr(34)+" /SPLIT NONE /OVERWRITE YES /DIRECT * /START /CLOSE","",1) EndIf If GetGadgetState(#wripf)=1 writelog("Using DVDFab Decrypter for Ripping") CreateFile(0,dest.s+"rip.bat") WriteStringN(0,Chr(34)+pexe.s+"vsrip/dvdfabdecrypter.exe"+Chr(34)+" /SRC "+Chr(34)+mediadvd.s+Chr(34)+" /DEST "+Chr(34)+dest.s+Chr(34)+"\ /START /CLOSE") CloseFile(0) RunProgram(dest.s+"rip.bat","","",#PB_Program_Wait) DeleteFile(dest.s+"rip.bat") EndIf writelog("Finished Ripping") ;%PRIP%dvddecrypter.exe /MODE IFO /SRC %drive% /DEST "%DEST%" /SPLIT NONE /OVERWRITE YES /DEMUX 0xE0 0xA? 0x8? 0xC? /DIRECT 0x2? 0x3? /START /CLOSE ;dvdfabdecrypter.exe /SRC "D:\VIDEO_TS\" /DEST "C:\doverip" /START /CLOSE ; !!!!!!!!ATTENZIONE ; IL FILM VIENE RIPPATO IN DEST.S\DVD\VIDEO_TS\ If GetGadgetState(#minimized)=1 : minz.l=0 : KillThread(thread1dvd) : EndIf EndProcedure Procedure vsrip(SUB) writelog("Starting SubRipping") GetBiggestFileSize(dest.s+"DVD\VIDEO_TS\") CreateFile(0,dest.s+"para.lst") If SUB=1 subs.s="1" Debug("sub="+Str(SUB)) Debug("ifo.s="+Ifo.s) pos1=GetGadgetState(#subtracks1)-1 Debug ("len="+Str(Len(Ifo.s))) Debug (Mid(Ifo.s,Len(Ifo.s)-11,3)) If GetExtensionPart(LCase(inputfile.s))="ifo" WriteStringN(0,inputfile.s) Else WriteStringN(0,Ifo.s) EndIf WriteStringN(0,dest.s+"VTS") WriteStringN(0,"1") WriteStringN(0,Str(GetGadgetState(#pgc)+1)) WriteStringN(0,Str(pos1)) WriteStringN(0,"CLOSE") CloseFile(0) EndIf If SUB=2 subs.s="2" pos1=GetGadgetState(#subtracks1)-1 pos2=GetGadgetState(#subtracks2)-1 Debug (Ifo.s) If GetExtensionPart(LCase(inputfile.s))="ifo" WriteStringN(0,inputfile.s) Else WriteStringN(0,Ifo.s) EndIf WriteStringN(0,dest.s+"VTS") WriteStringN(0,"1") WriteStringN(0,"0") WriteStringN(0,Str(pos1)+" "+Str(pos2)) WriteStringN(0,"CLOSE") CloseFile(0) EndIf If SUB=3 subs.s="2" Debug (Ifo.s) If GetExtensionPart(LCase(inputfile.s))="ifo" WriteStringN(0,inputfile.s) Else WriteStringN(0,Ifo.s) EndIf WriteStringN(0,dest.s+"VTS") WriteStringN(0,"1") WriteStringN(0,"0") WriteStringN(0,"ALL") WriteStringN(0,"CLOSE") CloseFile(0) EndIf Debug("dest.s="+dest.s) Debug("mid1="+Mid(Ifo.s,Len(Ifo.s)-11,3)+".sub") If GetGadgetState(#minimized)=1 :minz.l=0 : thread1sub=CreateThread(@minimized(),"vobsub") : EndIf RunProgram(pexe.s+"subs\vsrip.exe"," "+Chr(34)+dest.s+"para.lst"+Chr(34),"",#PB_Program_Wait) ;RunProgram("rundll32.exe"," vobsub.dll,Configure "+Chr(34)+dest.s+"para.lst"+Chr(34),"",1) If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1sub) : EndIf subssize1.l=FileSize(dest.s+"VTS.sub") If SUB=1 writelog("Choosed subtitle tracks: "+GetGadgetText(#subtracks1)) EndIf If SUB=2 writelog("Choosed first subtitle tracks: "+GetGadgetText(#subtracks1)) writelog("Choosed second subtitle tracks: "+GetGadgetText(#subtracks2)) EndIf If SUB=3 writelog("Choosed All subtitles tracks") EndIf writelog("Finished SubRipping") EndProcedure Procedure index() writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -YR=2 -IF=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Wait) EndProcedure Procedure Defaultavs() Debug("sono in default.avs") CreateFile(888,pfilt.s+"default.avs") If ExamineDirectory(0,pfilt.s,"*.dll") Repeat type=NextDirectoryEntry(0) If type=1 ; File. a$=DirectoryEntryName(0) WriteStringN(888,a$) EndIf Until type=0 EndIf CloseFile(888) EndProcedure Procedure lancia() Select GetGadgetState(#prio) Case 0 SetPriorityClass_(GetCurrentProcess_(),#REALTIME_PRIORITY_CLASS) Case 1 SetPriorityClass_(GetCurrentProcess_(),#HIGH_PRIORITY_CLASS) Case 2 SetPriorityClass_(GetCurrentProcess_(),#NORMAL_PRIORITY_CLASS) Case 3 SetPriorityClass_(GetCurrentProcess_(),#IDLE_PRIORITY_CLASS) Default SetPriorityClass_(GetCurrentProcess_(),#IDLE_PRIORITY_CLASS) EndSelect CreateFile(999,dest.s+"mkvmagic.log") fulllog.s="" writelog(vers.s+" - - - - - START JOBS - - - - - - - - - - - - -") writelog("Choosed input file: "+inputfile.s) writelog("Choosed output dir: "+dest.s) writelog("Choosed Container type: "+GetGadgetText(#container)) writelog("Choosed Size: "+GetGadgetText(#dimb)) writelog("Choosed Slice: "+GetGadgetText(#ncd)) writelog("Choosed Encoder: "+GetGadgetText(#choosecodec)) writelog("Choosed Resizer: "+GetGadgetText(#resizer)) writelog("Choosed Max Width: "+GetGadgetText(#maxres)) writelog("Choosed Width: "+GetGadgetText(#width)) writelog("Choosed Filters: "+GetGadgetText(#filter1)+" "+GetGadgetText(#filter2)+" "+GetGadgetText(#filter3)) writelog("Audio Track (1): "+GetGadgetText(#audiotracks1)) writelog("Audio Codec (1): "+GetGadgetText(#audiocodec1)) writelog("Audio Bitrate (1): "+GetGadgetText(#audiobit1)) writelog("Audio Track (2): "+GetGadgetText(#audiotracks2)) writelog("Audio Codec (2): "+GetGadgetText(#audiocodec2)) writelog("Audio Bitrate (2): "+GetGadgetText(#audiobit2)) writelog("Choosed Width: "+GetGadgetText(#width)) If GetGadgetText(#width)="0" writelog("Break due to CT") End EndIf checkexe() preclean() Dimb() listvob.s="" Debug ("inputfile="+inputfile.s) Debug ("dest.s="+dest.s) If inputfile.s<>"NONE" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" enco=0 ; file esterno EndIf EndIf If inputfile.s="NONE" Or exts.s="ifo" enco=1 ;dvdrip EndIf If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" enco=2 ; file ts EndIf If LCase(exts.s)="d2v" enco=3 ; file d2v EndIf If LCase(exts.s)="m2v" enco=6 ; file m2v EndIf If LCase(exts.s)="avi" Or LCase(exts.s)="mkv" Or LCase(exts.s)="ogm" Or LCase(exts.s)="wmv" enco=4 ; file avi EndIf If LCase(exts.s)="wav" Or LCase(exts.s)="ac3" Or LCase(exts.s)="mp2" Or LCase(exts.s)="mp3" Or LCase(exts.s)="ogg" Or LCase(exts.s)="mpa" Or LCase(exts.s)="aac" enco=5 ; file audio EndIf If LCase(exts.s)="avs" enco=9 ; file avs EndIf Debug ("Enco="+Str(enco)) Debug("GetGadgetText(#subtracks1)="+GetGadgetText(#subtracks1)) Debug("GetGadgetText(#subtracks2)="+GetGadgetText(#subtracks2)) If enco=1 : riponly() : EndIf If GetGadgetText(#subtracks1)<>"NONE" If GetGadgetText(#subtracks2)="NONE" SUB=1 EndIf EndIf If GetGadgetText(#subtracks1)<>"NONE" If GetGadgetText(#subtracks2)<>"NONE" SUB=2 EndIf EndIf If GetGadgetText(#subtracks1)="NONE" If GetGadgetText(#subtracks2)="NONE" SUB=0 EndIf EndIf If GetGadgetText(#subtracks1)="RIP ALL SUBS" SUB=3 EndIf Debug("sub="+Str(SUB)) If GetGadgetState(#compcheck)=0 If SUB<>0 : vsrip(SUB) : EndIf EndIf Debug ("in lancia enco="+Str(enco)) If enco=1 : audioproc() :EndIf If enco=0 Or enco=2 : audioonly() : EndIf If enco=6 : index() : EndIf If GetGadgetText(#container)<>"ES Video" If enco=3 : fixd2v() :EndIf If enco=6 : fixd2v() :EndIf If enco=9 : fixd2v() :EndIf EndIf If enco=3 ; "d2v" fh = OpenFile(#PB_Any,inputfile.s) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"Aspect_Ratio=",1) start=FindString(line.s,"Aspect_Ratio=",1) len=Len(line.s) ar.s=Mid(line.s,start+13,len-start) Debug ("start.s="+Str(start)) EndIf If FindString(line.s,"Picture_Size=",1) d2vwidth.s=Mid(StringField(line.s,1,"x"),14,4) d2vheight.s=StringField(line.s,2,"x") Debug ("d2vwidth.s="+d2vwidth.s) Debug ("d2vheight.s="+d2vheight.s) EndIf Wend CloseFile(fh) EndIf If enco=4 ; "avi" ar.s="1:1" EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 fh = OpenFile(#PB_Any,dest.s+"movie.d2v") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"Aspect_Ratio=",1) start=FindString(line.s,"Aspect_Ratio=",1) len=Len(line.s) ar.s=Mid(line.s,start+13,len-start) Debug ("start.s="+Str(start)) EndIf If FindString(line.s,"Picture_Size=",1) d2vwidth.s=Mid(StringField(line.s,1,"x"),14,4) d2vheight.s=StringField(line.s,2,"x") Debug ("d2vwidth.s="+d2vwidth.s) Debug ("d2vheight.s="+d2vheight.s) EndIf If FindString(line.s,"FINISHED",1) If FindString(line.s,"FILM",1) perfin.l=FindString(line.s,"%",0) per1.f=ValF(Mid(line.s,11,perfin.l-11-1)) If per1.f=>95 : Forcedfilm.l=1 : EndIf Debug ("per1.f="+Str(per1.f)) EndIf EndIf Wend CloseFile(fh) EndIf If Forcedfilm.l=1 OpenFile(2,dest.s+"movie.d2v") OpenFile(3,dest.s+"movie1.d2v") While Eof(2) = 0 line.s = ReadString(2) If line.s="Field_Operation=0" WriteStringN(3,"Field_Operation=1") EndIf If line.s="Frame_Rate=29970 (30000/1001)" WriteStringN(3,"Frame_Rate=23976 (24000/1001)") EndIf If line.s<>"Field_Operation=0" If line.s<>"Frame_Rate=29970 (30000/1001)" WriteStringN(3,line.s) EndIf EndIf Wend CloseFile(2) CloseFile(3) writelog("ForcedFilm applied: "+StrF(per1.f)+"% FILM found") del.s=dest.s+"movie.d2v" DeleteFile(del.s) Orig.s=dest.s+"movie1.d2v" Orig1.s=dest.s+"movie.d2v" RenameFile(Orig.s,Orig1.s) EndIf movielenght() If GetGadgetText(#deint)="AUTO" If Forcedfilm.l<>1 If enco<>5 ;If enco<>4 testdeint() EndIf EndIf EndIf ;EndIf If enco=5 audio1encode() ProcedureReturn End EndIf Debug ("audio1tip.s="+audio1tip.s) Debug ("audio2tip.s="+audio2tip.s) audiosz1.l=FileSize(dest.s+audio1tip.s) audiosz2.l=FileSize(dest.s+audio2tip.s)+2 Debug ("audiosz1="+Str(audiosz1)) Debug ("audiosz2="+Str(audiosz2)) Debug ("subssize1="+Str(subssize1)) videosize.f=(Int((Val(Dimb.s)*1024-audiosz1/1024-audiosz2/1024-subssize1/1024)*0.993)) Debug ("videosize="+StrF(videosize.f,0)) Debug ("ar.s lancia="+ar.s) If GetGadgetState(#container)=0 Or GetGadgetState(#container)=1 Or GetGadgetState(#container)=2 If enco=4 ;If GetGadgetText(#audiotracks1)<>"NONE" : ffmpeg() : EndIf If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() : EndIf EndIf audiosz1.l=FileSize(dest.s+audio1tip.s) audiosz2.l=FileSize(dest.s+audio2tip.s)+2 videosize.f=(Int((Val(Dimb.s)*1024-audiosz1/1024-audiosz2/1024-subssize1/1024)*0.993)) script() fcod() EndIf If GetGadgetState(#container)=3 Or GetGadgetState(#container)=4 Or GetGadgetState(#container)=5 Or GetGadgetState(#container)=6 Or GetGadgetState(#container)=7 If enco=4 ;If GetGadgetText(#audiotracks1)<>"NONE" : ffmpeg() : EndIf If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() : EndIf EndIf audiosz1.l=FileSize(dest.s+audio1tip.s) audiosz2.l=FileSize(dest.s+audio2tip.s)+2 videosize.f=(Int((Val(Dimb.s)*1024-audiosz1/1024-audiosz2/1024-subssize1/1024)*0.993)) dvdscript() dvdfcod() EndIf ProcedureReturn EndProcedure Procedure mux() timecodes.s="" If FileSize(dest.s+"mkv-timecodesfile.txt")<>-1 timecodes.s=" --timecodes 0:"+Chr(34)+dest.s+"mkv-timecodesfile.txt"+Chr(34)+" " SetGadgetState(#container,1) EndIf Debug("acleft.s="+acleft.s) Debug("actop.s="+actop.s) Debug("acheight.s="+acheight.s) Debug("acwidth.s="+acwidth.s) ;http://forum.doom9.org/showthread.php?p=764916#post764916 Thanks Wilbert !!! If ar.s="16:9" dar.s = StrF(((16/9*Val(theight.s))/Val(acheight.s))) Debug ("dar.s prima= "+dar.s) gkar.f=((ValF(theight.s)*16)/(ValF(twidth.s)*9))*(ValF(acwidth.s)/ValF(acheight.s)) If ValF(dar.s)>2.33 And ValF(dar.s)<=2.38 : dar.s=StrF(2.35) : EndIf ; well not so beauty, but usually for DAR between 2.33 and 2.38 the EXACT DAR is 2.35 ElseIf ar.s="4:3" gkar.f=((ValF(theight.s)*7)/(ValF(twidth.s)*3))*(ValF(acwidth.s)/ValF(acheight.s)) dar.s = StrF(((4/3*Val(theight.s))/Val(acheight.s))) Debug ("dar.s prima= "+dar.s) ElseIf ar.s<>"16:9" Or ar.s<>"4:3" Or ar.s="1:1" dar.s = StrF(((Val(theight.s))/Val(acheight.s))) EndIf writelog("Computed AR: "+dar.s) writelog("GordianKnot AR: "+StrF(gkar.f)) fheight.f=16*(Int((ValF(width.s)/gkar.f/16))) Debug("fheight.f="+StrF(fheight.f)) arerror.f=100-((ValF(width.s)/fheight.f*100/gkar.f)) writelog("DAR Error %: "+StrF(arerror.f)) If cod.s="1" As.s="--aspect-ratio 0:"+dar.s+" " EndIf If cod.s="2" As.s="--aspect-ratio 1:"+dar.s+" " EndIf If GetGadgetState(#AR)<>0 And GetGadgetState(#AR)<>8 If cod.s="1" As.s="--aspect-ratio 0:"+GetGadgetText(#AR)+" " EndIf If cod.s="2" As.s="--aspect-ratio 1:"+GetGadgetText(#AR)+" " EndIf EndIf If GetGadgetState(#AR)=8 As.s=" " EndIf Debug ("as.s= "+As.s) If GetGadgetText(#ncd)<>"1" split.s="--split "+sizemb.s+"M " Else split.s="" EndIf chap.s="--chapters "+Chr(34)+pexe.s+"chapters.txt"+Chr(34)+" " chapmp4.s=" -chap "+Chr(34)+pexe.s+"chapters.txt"+Chr(34)+" " If GetGadgetState(#audiotracks1)<>0 If enco=1 lang1.s=LCase(Mid(GetGadgetText(#audiotracks1),1,3)) Else lang1.s="und" EndIf EndIf If GetGadgetState(#audiotracks2)<>0 If enco=1 lang2.s=LCase(Mid(GetGadgetText(#audiotracks2),1,3)) Else lang2.s="und" EndIf EndIf If enco<>1 : lang1.s="und" : lang2.s="und" : EndIf If GetGadgetState(#audiotracks1)<>0 If aucod.s="mp3" Or aucod.s="ogg" audtrack1.s="--language 0:"+lang1.s+" "+Chr(34)+dest.s+audio1tip.s+Chr(34)+" " EndIf If aucod.s="mp4" audtrack1.s="--language 101:"+lang1.s+" "+Chr(34)+dest.s+audio1tip.s+Chr(34)+" " EndIf EndIf If GetGadgetState(#audiotracks2)<>0 If aucod2.s="mp3" Or aucod2.s="ogg" audtrack2.s="--language 0:"+lang2.s+" "+Chr(34)+dest.s+audio2tip.s+Chr(34)+" " EndIf If aucod2.s="mp4" audtrack2.s="--language 101:"+lang2.s+" "+Chr(34)+dest.s+audio2tip.s+Chr(34)+" " EndIf EndIf If GetGadgetState(#container)=2 If GetGadgetState(#audiotracks1)<>0 audtrack1.s=Chr(34)+dest.s+audio1tip.s+":lang="+lang1.s+Chr(34)+" " Else audtrack1.s="" EndIf EndIf If GetGadgetState(#container)=2 If GetGadgetState(#audiotracks2)<>0 audtrack2.s="-add "+Chr(34)+dest.s+audio2tip.s+":lang="+lang2.s+Chr(34)+" " Else audtrack2.s="" EndIf EndIf If GetGadgetState(#subtracks1)<>0 Or GetGadgetState(#subtracks2)<>0 subtracks.s=Chr(34)+dest.s+"vts.idx"+Chr(34) If GetGadgetState(#container)=2 : subtracks.s=" -add "+Chr(34)+dest.s+"vts.idx"+Chr(34)+" " : EndIf writelog("Choosed Subtitle Track: "+GetGadgetText(#subtracks1)) If GetGadgetState(#subtracks2)<>0 : writelog("Choosed Subtitle Track: "+GetGadgetText(#subtracks2)) : EndIf Else subtracks.s="" EndIf If GetGadgetState(#clean)=1 del.s=dest.s+"resmovie.avi" DeleteFile(del.s) del.s=dest.s+"avsopt.bat" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.avs" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.mp4" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.mp4" DeleteFile(del.s) del.s=dest.s+"ff_interlace.log" DeleteFile(del.s) del.s=dest.s+"movielenght.mp4" DeleteFile(del.s) EndIf Select GetGadgetState(#container) Case 0 writelog("Starting AVI muxing") If GetGadgetText(#audiotracks1)<>"NONE" If GetGadgetState(#choosecodec)=9 MessageRequester("ATTENTION!!!","No muxing in AVI") End EndIf CreateFile(18,dest.s+"muxavi") OpenFile(18,dest.s+"muxavi") WriteStringN(18,"CLEAR") WriteStringN(18,"LOAD "+dest.s+"movie.avi") WriteStringN(18,"LOAD "+dest.s+"audio.mp3") WriteStringN(18,"LOAD "+dest.s+"audio2.mp3") WriteStringN(18,"LOAD "+dest.s+"audio.ac3") WriteStringN(18,"LOAD "+dest.s+"audio2.ac3") WriteStringN(18,"SELECT FILE 1") WriteStringN(18,"ADD VIDEOSOURCE") WriteStringN(18,"SET OUTPUT OPTIONS") WriteStringN(18,"WITH SET OPTION") If sizembd.f=>(2*1024*1020*1000) WriteStringN(18,"OPENDML 1") EndIf If sizembd.f<(2*1024*1020*1000) WriteStringN(18,"OPENDML 0") EndIf WriteStringN(18,"RECLISTS 0") WriteStringN(18,"AUDIO INTERLEAVE 3 FR") WriteStringN(18,"AVI ADDJUNKBEFOREHEADERS 0") WriteStringN(18,"PRELOAD 200") WriteStringN(18,"WITH AUDIO") WriteStringN(18,"NAME 1 english") WriteStringN(18,"END WITH") WriteStringN(18,"OVERWRITEDLG 0") WriteStringN(18,"CLOSEAPP 1") WriteStringN(18,"DONEDLG 0") WriteStringN(18,"ALL AUDIO 1") WriteStringN(18,"LEGACY 0") WriteStringN(18,"RECLISTS 1") If Val(GetGadgetText(#ncd))=1 : WriteStringN(18,"NUMBERING OFF") : WriteStringN(18,"MAXFILESIZE OFF") : EndIf If Val(GetGadgetText(#ncd))>1 : WriteStringN(18,"NUMBERING ON") : WriteStringN(18,"MAXFILESIZE ON "+sizemb.s) : EndIf WriteStringN(18,"MAXFILES OFF") WriteStringN(18,"END WITH") WriteStringN(18,"START "+dest.s+"movie_full.avi") CloseFile(18) If GetGadgetState(#minimized)=1 minz.l=0 thread1mux=CreateThread(@minimized(),"avi-mux") EndIf RunProgram(pmux.s+"AVIMux_GUI.exe", " "+Chr(34)+dest.s+"muxavi"+Chr(34),"",#PB_Program_Wait) If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1mux) : EndIf If GetGadgetState(#clean)=1 del.s=dest.s+"audio.mp3" DeleteFile(del.s) del.s=dest.s+"audio2.mp3" DeleteFile(del.s) del.s=dest.s+"audio.ac3" DeleteFile(del.s) del.s=dest.s+"audio2.ac3" DeleteFile(del.s) del.s=dest.s+"muxavi" DeleteFile(del.s) EndIf writelog("Finished AVI muxing") EndIf Case 1 If GetGadgetState(#minimized)=1 minz.l=0 thread1mux=CreateThread(@minimized(),"mkv") EndIf ;mkv If GetGadgetState(#choosecodec)=0 Or GetGadgetState(#choosecodec)=1 Or GetGadgetState(#choosecodec)=2 Or GetGadgetState(#choosecodec)=3 Or GetGadgetState(#choosecodec)=4 Or GetGadgetState(#choosecodec)=11 Or GetGadgetState(#choosecodec)=12 writelog("Starting MKV muxing") writelog("MKV Muxing String: "+pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.avi"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) RunProgram(pmux.s+"mkvmerge.exe", "-o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.avi"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s,"",#PB_Program_Wait) writelog("Finished MKV muxing") EndIf If GetGadgetState(#choosecodec)=5 Or GetGadgetState(#choosecodec)=6 Or GetGadgetState(#choosecodec)=7 Or GetGadgetState(#choosecodec)=8 writelog("Starting aviraw extraction") Debug (pmux.s+"mp4box.exe -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34)) writelog("Aviraw Extraction String: "+pmux.s+"mp4box.exe -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34)) RunProgram(pmux.s+"mp4box.exe"," -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34),"",#PB_Program_Wait) writelog("Finished aviraw extraction") RunProgram("del",Chr(34)+dest.s+"movie.avi"+Chr(34),"",#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie.avi" DeleteFile(del.s) EndIf writelog("Starting mp4 creation") Debug (pexe.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) writelog("Mp4 Temp String: "+pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie_video.h264" DeleteFile(del.s) EndIf writelog("Starting MKV muxing") writelog("MKV Muxing String: "+pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) RunProgram(pmux.s+"mkvmerge.exe", "-o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s,"",#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie.mp4" DeleteFile(del.s) EndIf writelog("Finished MKV muxing") EndIf If GetGadgetState(#choosecodec)=9 writelog("Starting MKV muxing") Debug("GetGadgetState(#sarw)="+Str(GetGadgetState(#sarw))) Debug (pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie_full.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) If GetGadgetText(#AR)="AUTO" And GetGadgetState(#sarw)=0 And GetGadgetState(#sarh)=0 writelog("MKV Muxing String: "+pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) RunProgram(pmux.s+"mkvmerge.exe", "-o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s,"",#PB_Program_Wait) EndIf If GetGadgetText(#AR)<>"AUTO" Or GetGadgetState(#sarw)<>0 Or GetGadgetState(#sarh)<>0 writelog("MKV Muxing String: "+pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) RunProgram(pmux.s+"mkvmerge.exe", "-o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.mp4"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s,"",#PB_Program_Wait) EndIf If GetGadgetState(#clean)=1 del.s=dest.s+"movie.mp4" DeleteFile(del.s) EndIf writelog("Finished MKV muxing") EndIf If GetGadgetState(#choosecodec)=10 ;writelog("Starting Mp4Muxing extraction") ;RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.m4v"+Chr(34)+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) ;writelog("Finished Mp4Muxing extraction") ;del.s=dest.s+"movie.m4v" ;DeleteFile(del.s) writelog("Starting MKV muxing") writelog("MKV Muxing String: "+pmux.s+"mkvmerge.exe -o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.avi"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s) RunProgram(pmux.s+"mkvmerge.exe", "-o "+Chr(34)+dest.s+"movie.mkv"+Chr(34)+" "+timecodes.s+As.s+split.s+chap.s+Chr(34)+dest.s+"movie.avi"+Chr(34)+" "+audtrack1.s+audtrack2.s+subtracks.s,"",#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie.mp4" DeleteFile(del.s) EndIf writelog("Finished MKV muxing") EndIf If GetGadgetState(#minimized)=1 :minz.l=0 : KillThread(thread1mux) : EndIf Case 2 ;mp4 Debug (pmux.s+"mp4box.exe -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34)) Debug (pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) Debug (pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.mp4"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34)) Debug (pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) Debug (pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" "+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) Debug (pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie_video.h264:par="+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) ;SetGadgetText(#sarw,Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))) : SetGadgetText(#sarh,Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))) If GetGadgetState(#minimized)=1 minz.l=0 thread1mux=CreateThread(@minimized(),"mp4") EndIf If Val(GetGadgetText(#ncd))>1 split.s="-splits "+Str(Val(sizemb.s)*1024) Else split.s="" EndIf If GetGadgetState(#choosecodec)=0 Or GetGadgetState(#choosecodec)=1 Or GetGadgetState(#choosecodec)=2 Or GetGadgetState(#choosecodec)=3 Or GetGadgetState(#choosecodec)=4 Or GetGadgetState(#choosecodec)=11 Or GetGadgetState(#choosecodec)=12 writelog("Starting MP4 muxing") writelog("Mp4Box Muxing String: "+pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+subtracks.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) If GetGadgetText(#audiotracks1)<>"NONE" ;RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi:par="+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+subtracks.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) EndIf If GetGadgetText(#audiotracks1)="NONE" RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+subtracks.s+" "+split.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) ;RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi:par="+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+Chr(34)+chapmp4.s+" "+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) EndIf writelog("Finished MP4 muxing") EndIf If GetGadgetState(#choosecodec)=5 Or GetGadgetState(#choosecodec)=6 Or GetGadgetState(#choosecodec)=7 Or GetGadgetState(#choosecodec)=8 writelog("Starting aviraw extraction") writelog("Aviraw Extracition String: "+pmux.s+"mp4box.exe -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34)) RunProgram(pmux.s+"mp4box.exe"," -aviraw video "+Chr(34)+dest.s+"movie.avi"+Chr(34),"",#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie.avi" DeleteFile(del.s) EndIf writelog("Starting MP4 muxing") writelog("Mp4Box Muxing String: "+pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34)) RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie_video.h264"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+subtracks.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Wait) ;RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie_video.h264:par="+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" "+Chr(34)+dest.s+"movie.mp4"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If GetGadgetState(#clean)=1 del.s=dest.s+"movie_video.h264" DeleteFile(del.s) EndIf writelog("Finished MP4 muxing") EndIf If GetGadgetState(#choosecodec)=9 writelog("Starting MP4 muxing") writelog("Mp4Box Muxing String: "+pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.mp4"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34)) If GetGadgetText(#audiotracks1)<>"NONE" RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.mp4"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+subtracks.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34),"",#PB_Program_Wait) EndIf If GetGadgetText(#audiotracks1)="NONE" RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.mp4"+Chr(34)+chapmp4.s+" "+split.s+" -fps "+framer.s+subtracks.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34),"",#PB_Program_Wait) EndIf If GetGadgetState(#clean)=1 del.s=dest.s+"movie.mp4" DeleteFile(del.s) EndIf writelog("Finished MP4 muxing") EndIf If GetGadgetState(#choosecodec)=10 writelog("Starting MP4 muxing") writelog("Mp4Box Muxing String: "+pmux.s+"mp4box.exe -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34)) If GetGadgetText(#audiotracks1)<>"NONE" RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" -add "+audtrack1.s+audtrack2.s+split.s+subtracks.s+" -fps "+framer.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34),"",#PB_Program_Wait) EndIf If GetGadgetText(#audiotracks1)="NONE" RunProgram(pmux.s+"mp4box.exe"," -add "+Chr(34)+dest.s+"movie.avi"+Chr(34)+chapmp4.s+" "+split.s+" -fps "+framer.s+subtracks.s+" "+Chr(34)+dest.s+"movie_full.mp4"+Chr(34),"",#PB_Program_Wait) EndIf If GetGadgetState(#clean)=1 del.s=dest.s+"movie.mp4" DeleteFile(del.s) EndIf writelog("Finished MP4 muxing") EndIf If GetGadgetState(#minimized)=1 :minz.l=0 :KillThread(thread1mux) : EndIf EndSelect If GetGadgetState(#clean)=1 del.s=dest.s+"audio.mp3" DeleteFile(del.s) del.s=dest.s+"audio2.mp3" DeleteFile(del.s) del.s=dest.s+"audio.ac3" DeleteFile(del.s) del.s=dest.s+"audio2.ac3" DeleteFile(del.s) del.s=dest.s+"movie.avi" DeleteFile(del.s) del.s=dest.s+"muxavi" DeleteFile(del.s) del.s=dest.s+"movielenght.avi" DeleteFile(del.s) del.s=dest.s+"interlaced.log" DeleteFile(del.s) del.s=dest.s+"AutoCrop.log" DeleteFile(del.s) del.s=dest.s+"testdeint.avi" DeleteFile(del.s) del.s=dest.s+audio1tip.s DeleteFile(del.s) del.s=dest.s+audio2tip.s DeleteFile(del.s) del.s=subtracks.s DeleteFile(del.s) del.s=dest.s+audiotr1.s DeleteFile(del.s) del.s=dest.s+audiotr2.s DeleteFile(del.s) del.s=dest.s+"interlaced.log" DeleteFile(del.s) del.s=dest.s+"x264cmdq.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_pass1.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_pass2.bat" DeleteFile(del.s) del.s=dest.s+".stats" DeleteFile(del.s) del.s=audtrack1.s DeleteFile(del.s) del.s=audtrack2.s DeleteFile(del.s) del.s=dest.s+"testdeint.bat" DeleteFile(del.s) del.s=dest.s+"testdeint.m4v" DeleteFile(del.s) del.s=dest.s+"movie_video.h264" DeleteFile(del.s) del.s=dest.s+"resmovie.mp4" DeleteFile(del.s) del.s=dest.s+"samplemovie.avs" DeleteFile(del.s) del.s=dest.s+"x264cmd_Sample_pass1.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_Sample_pass2.bat" DeleteFile(del.s) del.s=dest.s+"xvidcmptest.bat" DeleteFile(del.s) del.s=dest.s+"xvidfirstpass.bat" DeleteFile(del.s) del.s=dest.s+"xvidsecondpass.bat" DeleteFile(del.s) del.s=dest.s+"xvid.stats" DeleteFile(del.s) del.s=dest.s+"x264cmd_CQ.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_Sample_CQ.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_Sample_ABR.bat" DeleteFile(del.s) del.s=dest.s+"x264cmd_ABR.bat" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.avs" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.mp4" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.mp4" DeleteFile(del.s) del.s=dest.s+"ff_interlace.log" DeleteFile(del.s) del.s=dest.s+"mkvmaudio.avs" DeleteFile(del.s) del.s=dest.s+"mkvmaudio.bat" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs.bautodeint_temp.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs.bautodeint_temp.Data" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs.bautodeint_temp.Data.fieldorder" DeleteFile(del.s) del.s=dest.s+"deint.bat" DeleteFile(del.s) del.s=dest.s+"deint.log" DeleteFile(del.s) del.s=dest.s+"mkvmaudio2.bat" DeleteFile(del.s) del.s=dest.s+"mkvmaudio2.avs" DeleteFile(del.s) EndIf EndProcedure Procedure movielenght() If enco<>9 OpenFile(9,dest.s+"time.avs") WriteStringN(9,"LoadPlugin("+Chr(34)+pfilt.s+"dgdecode.dll"+Chr(34)+")") WriteStringN(9,"LoadPlugin("+Chr(34)+pfilt.s+"autocrop.dll"+Chr(34)+")") If enco=3 ; "d2v" WriteStringN(9,"movie = mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(9,"movie = avisource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(9,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(9,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf If GetGadgetState(#eavi)=0 WriteStringN(9,"movie = directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(9,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(9,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(9,"movie = mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf EndIf WriteStringN(9,"function getOrder(clip c) { ") WriteStringN(9,"order = GetParity(c) ? 1 : 0 ") WriteStringN(9,"Return order } ") WriteStringN(9,"filename="+Chr(34)+dest.s+"frame.txt"+Chr(34)) WriteStringN(9,"sep="+Chr(34)+" "+Chr(34)) WriteStringN(9,"cropclip = autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=0,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#AR)<>"Anamorphic+SAR" If ar.s="16:9" WriteStringN(9,"fixed_aspect = "+StrF(Val(d2vheight.s)/Val(d2vwidth.s)*16/9)) ElseIf ar.s="4:3" WriteStringN(9,"fixed_aspect = "+StrF(Val(d2vheight.s)/Val(d2vwidth.s)*4/3)) ElseIf ar.s<>"16:9" Or ar.s<>"4:3" Or ar.s="1:1" WriteStringN(9,"fixed_aspect = 1") EndIf EndIf If GetGadgetText(#AR)="Anamorphic+SAR" WriteStringN(9,"fixed_aspect = 1") EndIf WriteStringN(9,"c_width = width(cropclip)") WriteStringN(9,"c_height = Round(height(cropclip) / fixed_aspect)") WriteStringN(9,"input_par = float(float(c_width)/float(c_height))") WriteStringN(9,"input_par = input_par > 1.4 ? input_par : (4.0/3.0)") WriteStringN(9,"out_width = 720") WriteStringN(9,"out_height = Round(float(out_width) / input_par)") WriteStringN(9,"hmod = out_height - (floor(out_height / 16 ) * 16)") WriteStringN(9,"out_height = (hmod > 4) ? (out_height + (16 - hmod)) : (out_height - hmod)") WriteStringN(9,"new_aspect = (float(out_width) / float(out_height)) / fixed_aspect") WriteStringN(9,"autocrop(movie,mode=2,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=new_aspect,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") WriteStringN(9,"global out_width = out_width") WriteStringN(9,"global out_height = out_height") WriteStringN(9,"WriteFile(movie,filename, "+Chr(34)+"Framecount"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"Framerate"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"WIDTH"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"HEIGHT"+Chr(34)+")") WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(1)") CloseFile(9) EndIf If enco=9 CreateFile(9,dest.s+"time.avs") WriteStringN(9,"Import("+Chr(34)+inputfile.s+Chr(34)+")") WriteStringN(9,"KillAudio()") WriteStringN(9,"filename="+Chr(34)+dest.s+"frame.txt"+Chr(34)) WriteStringN(9,"sep="+Chr(34)+" "+Chr(34)) WriteStringN(9,"WriteFile(filename, "+Chr(34)+"Framecount"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"Framerate"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"WIDTH"+Chr(34)+","+Chr(34)+"sep"+Chr(34)+","+Chr(34)+"HEIGHT"+Chr(34)+")") WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(1)") CloseFile(9) EndIf RunProgram(pexe.s+"encoder\x264.exe"," --bitrate 200 --no-b-adapt --nf --subme 1 --weightb --no-chroma-me --analyse none --direct auto --me dia --sar 1:1 --progress --no-psnr --output "+Chr(34)+dest.s+"movielenght.mp4"+Chr(34)+" "+Chr(34)+dest.s+"time.avs"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) gz = OpenFile(#PB_Any,dest.s+"frame.txt") While Eof(gz) = #False gzs.s = ReadString(gz) framec.s=StringField(gzs.s,0," ") framer.s=StringField(gzs.s,2," ") twidth.s=StringField(gzs.s,3," ") theight.s=StringField(gzs.s,4," ") Debug("twidth.s="+twidth.s) Debug("theight.s="+theight.s) tsec.l=Int(Val(framec.s)/ValF(framer.s))+1 Wend CloseFile(gz) If enco<>4 If FileSize(dest.s+"frame.txt")<10 If FileSize(dest.s+"movie.d2v")<>-1 writelog("ERROR - There are some problem with movie lenght! Trying with alternate methods") If enco=1 Or enco=2 Or enco=0 Or enco=6 fh = OpenFile(#PB_Any,dest.s+"movie.d2v") EndIf If enco=3 fh = OpenFile(#PB_Any,inputfile.s) EndIf frameco.l=0 While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"Picture_Size=",1) twidth.s=Mid(StringField(line.s,1,"x"),14,4) theight.s=StringField(line.s,2,"x") Debug ("twidth.s="+twidth.s) Debug ("theight.s="+theight.s) EndIf If FindString(line.s,"Frame_Rate=",1) framer.s=StringField(line.s,2,"=") framer.s=StringField(framer.s,1," ") framer.s=StrF(ValF(framer.s)/1000) EndIf If FindString(line.s,"d00",1) frameco.l=frameco.l+12 EndIf Wend CloseFile(fh) framec.s=Str(frameco.l) tsec.l=Int(Val(framec.s)/ValF(framer.s))+1 EndIf EndIf EndIf If enco=4 And FileSize(dest.s+"frame.txt")=0 If GetGadgetState(#eavi)=1 SetGadgetState(#eavi,0) writelog("Avi engage mode not corrected, switched to DirectShowSource") EndIf If GetGadgetState(#eavi)=0 SetGadgetState(#eavi,1) writelog("Avi engage mode not corrected, switched to AviSource") EndIf DeleteFile(dest.s+"time.avs") movielenght() EndIf writelog("Number of Frames: "+framec.s) writelog("Framerate: "+framer.s) writelog("Movie lenght in Seconds: "+Str(tsec.l)) writelog("Movie Width: "+twidth.s) writelog("Movie Height: "+theight.s) fh = OpenFile(#PB_Any,dest.s+"AutoCrop.log") While Eof(fh) = #False line.s = ReadString(fh) ;Crop(0,72,720,432) acleft.s=Mid(StringField(line.s,1,","),6,5) actop.s=StringField(line.s,2,",") acwidth.s=StringField(line.s,3,",") acheight1=FindString(line.s,")",1) Debug("acheight1="+Str(acheight1)) acheight2=FindString(line.s,acwidth.s,1) Debug("acheight2="+Str(acwidth2)) acheight.s=Mid(line.s,acheight2+Len(acwidth.s)+1,Len(line.s)-acheight1+Len(acwidth.s)) Wend CloseFile(fh) EndProcedure Procedure vitualdubjob() CreateFile(99,dest.s+"job.tmp") WriteStringN(99,"// VirtualDub job list (Sylia script format)") WriteStringN(99,"// This is a program generated file -- edit at your own risk.") WriteStringN(99,"//") WriteStringN(99,"// $numjobs 1") WriteStringN(99,"//") WriteStringN(99,"") WriteStringN(99,"// $job "+Chr(34)+"1"+Chr(34)) WriteStringN(99,"// $input "+Chr(34)+dest.s+"job.avs"+Chr(34)) WriteStringN(99,"// $output "+Chr(34)+"job.avi"+Chr(34)) WriteStringN(99,"// $state 0") WriteStringN(99,"// $start_time 0 0") WriteStringN(99,"// $end_time 0 0") WriteStringN(99,"// $script") WriteStringN(99,"") WriteStringN(99,"VirtualDub.Open("+Chr(34)+"dest.s+job.avs"+Chr(34)+",0,0)"); WriteStringN(99,"VirtualDub.RemoveInputStreams();") WriteStringN(99,"VirtualDub.video.SetDepth(24,24);") WriteStringN(99,"VirtualDub.video.SetMode(1);") WriteStringN(99,"VirtualDub.video.SetFrameRate(0,1);") WriteStringN(99,"VirtualDub.video.SetIVTC(0,0,-1,0);") WriteStringN(99,"VirtualDub.video.SetRange(0,0);") WriteStringN(99,"VirtualDub.video.SetCompression(0x64697678,0,10000,0);") WriteStringN(99,"VirtualDub.video.SetCompData(3532,"+Chr(34)+"AAAAALwCAABFAwAAQzpcUHJvZ3JhbW1pXFB1cmVCYXNpY1xQcm92ZVxUZW1wXFx0bXAxLnN0YXRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAEAACh1bnJlc3RyaWN0ZWQpAABpAGMAdABlAGQAKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAEdlbmVyYWwgcHVycG9zZQBwAHUAcgBwAG8AcwBlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIERITFRcZGxESExUXGRscFBUWFxgaHB4VFhcYGhweIBYXGBocHiAjFxgaHB4gIyYZGhweICMmKRscHiAjJiktEBESExQVFhcREhMUFRYXGBITFBUWFxgZExQVFhcYGhsUFRYXGRobHBUWFxgaGxweFhcYGhscHh8XGBkbHB4fIQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABkAAAAZAAAAAAAAAADAAAABAAAAAMAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAZAAAAPQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABkAAAAZAAAAAEAAAAKAAAAAQAAABQAAAAAAAAAAAAAAAUAAAAFAAAABQAAAAAoCgAAAAAAAQAAAAEAAAAeAAAAAAAAAAIAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAEAAAAAAAAALAEAAAAAAAACAAAAHwAAAAIAAAAfAAAAAgAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+Chr(34)+");") WriteStringN(99,"VirtualDub.video.filters.Clear();") WriteStringN(99,"VirtualDub.subset.Delete();") WriteStringN(99,"VirtualDub.SaveAVI("+Chr(34)+"job.avi"+Chr(34)+");") WriteStringN(99,"VirtualDub.Close();") WriteStringN(99,"") WriteStringN(99,"// $endjob") WriteStringN(99,"//") WriteStringN(99,"//--------------------------------------------------") WriteStringN(99,"// $done") CloseFile(99) RunProgram(pexe.s+"\Vdubmod\VirtualDubMod.exe"," /c /log"+Chr(34)+dest.s+"output.log"+Chr(34)+" /nowrite /s\job.tmp /x","",#PB_Program_Wait) EndProcedure Procedure testdeint() ;A BIG THANKS to BERRINAM !!! For his great source of inspiration. writelog("Advanced Deinterlace Routines") If GetGadgetState(#minimized)=1 : minz.l=0 : thread1mux=CreateThread(@minimized(),"xvid") : EndIf CreateFile(14,dest.s+"createautodeintmovie.avs") OpenFile(14,dest.s+"createautodeintmovie.avs") WriteStringN(14,"LoadPlugin("+Chr(34)+pfilt.s+"dgdecode.dll"+Chr(34)+")") WriteStringN(14,"LoadPlugin("+Chr(34)+pfilt.s+"decomb.dll"+Chr(34)+")") WriteStringN(14,"LoadPlugin("+Chr(34)+pfilt.s+"TIVTC.dll"+Chr(34)+")") If enco=3 ; "d2v" WriteStringN(14,"movie=mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(14,"movie = avisource("+Chr(34)+inputfile.s+Chr(34)+").KillAudio()") WriteStringN(14,"movie = isRGB(movie) ? ConvertToYUY2(movie) : movie") WriteStringN(14,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf If GetGadgetState(#eavi)=0 WriteStringN(14,"movie = directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(14,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(14,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(14,"movie = mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf If enco=9 WriteStringN(14,"movie = Import("+Chr(34)+inputfile.s+Chr(34)+")") EndIf EndIf WriteStringN(14,"return movie") CloseFile(14) CreateFile(888,dest.s+"deint.bat") WriteStringN(888,Chr(34)+pexe.s+"encoder\BAutoDeint.exe"+Chr(34)+" --input "+Chr(34)+dest.s+"createautodeintmovie.avs"+Chr(34)+" >"+Chr(34)+dest.s+Chr(34)+"deint.log") CloseFile(888) RunProgram(dest.s+"deint.bat","",dest.s,1) If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1mux) : EndIf OpenFile(888,dest.s+"deint.log") While Eof(888)=0 line.s=ReadString(888) If FindString(line.s,"determined to be",0) If FindString(line.s,"unknown",0) : deint.s="9" : writelog(line.s) : EndIf If FindString(line.s,"progressive",0) : deint.s="0" : writelog(line.s) : EndIf If FindString(line.s,"interlaced",0) : deint.s="1" : writelog(line.s) : EndIf ; LeakKernelDeint(order=order.s) If FindString(line.s,"decimating",0) : deint.s="2" : writelog(line.s) : EndIf ;tfm(d2v="c:\programmi\purebasic4\prove\_telecine.d2v").tdecimate() If FindString(line.s,"partly film",0) : deint.s="3" : writelog(line.s) : EndIf ; tfm(d2v="c:\oursource.d2v") tdecimate(hybrid=1) If FindString(line.s,"partly interlaced",0) : deint.s="4" : writelog(line.s) : EndIf ; If FindString(line.s,"film",0) : deint.s="5" : writelog(line.s) : EndIf ; EndIf If FindString(line.s,"`bff'",0) bff.s=Trim(StringField(line.s,3,":")) Debug("bff="+bff.s) EndIf If FindString(line.s,"`tff'",0) tff.s=Trim(StringField(line.s,3,":")) Debug("tff="+tff.s) EndIf If FindString(line.s,"Field order is tff.",0) fieldOrder.l=1 EndIf If FindString(line.s,"Field order is bff.",0) fieldOrder.l=0 EndIf Wend CloseFile(888) order.s="1" ;If Val(bff.s)>Val(tff.s) : fieldOrder.l=1 : EndIf ;If Val(tff.s)>Val(bff.s) : fieldOrder.l=0 : EndIf writelog("BFF: "+bff.s) writelog("TFF: "+tff.s) writelog("Order: "+Str(fieldOrder.l)) EndProcedure Procedure dvdfcod() If GetGadgetText(#container)="ES Audio" : cleandvd() : ProcedureReturn : EndIf sizembd.f=(Val(Dimb.s)*1024*1024) Debug ("audiosz1="+Str(audiosz1)) Debug ("audiosz2="+Str(audiosz2)) Debug ("subssize1="+Str(subssize1)) Debug ("tsec.l="+Str(tsec.l)) bitrate.s=Str(Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*0.995)/(tsec.l)*8)/1000)) If GetGadgetText(#bitdvd)<>"AUTO" : bitrate.s=GetGadgetText(#bitdvd) : EndIf Debug("bitrate.s="+bitrate.s) writelog("Bitrate calculated: "+bitrate.s) Select GetGadgetText(#field) Case "AUTO" ff.s="TFF" Case "TFF" ff.s="TFF" Case "BFF" ff.s="BFF" EndSelect Select GetGadgetText(#hq) Case "Yes" Profile.s="best" hq.s="extreme" trell.s="trell" hqq.s="hq" trec.s="0" Case "No" Profile.s="fast" hq.s="noextreme" trell.s="notrell" hqq.s="nohq" trec.s="2" Case "Normal" Profile.s="normal" trell.s="notrell" hq.s="noextreme" hqq.s="hq" trec.s="1" EndSelect Debug("trell="+trell.s) Debug("hq.s="+hq.s) Debug("hqq.s="+hqq.s) Debug("trec.s="+trec.s) Select GetGadgetText(#interlaced) Case "AUTO" interlaced.s="interlaced" Case "Yes" interlaced.s="interlaced" Case "No" interlaced.s="nointerlaced" EndSelect Select GetGadgetText(#gop) Case "AUTO" gop.s="autogop" Case "15" gop.s="15 2" Case "12" gop.s="12 2" EndSelect If GetGadgetState(#ardvd)=3 And GetGadgetState(#choosecodec)=1 : ardvd.s="2:21" : EndIf If GetGadgetState(#choosecodec)=2 If GetGadgetState(#ardvd)=0 If ar.s="4:3" ardvd.s="2" EndIf If ar.s="1:1" ardvd.s="1" EndIf If ar.s="16:9" ardvd.s="3" EndIf If ar.s="" ardvd.s="2" EndIf EndIf Debug("ardvd.s="+ardvd.s) Debug("ar.s="+ar.s) If GetGadgetText(#ardvd)="4:3" ardvd.s="2" EndIf If GetGadgetText(#ardvd)="16:9" ardvd.s="3" EndIf If GetGadgetText(#ardvd)="2.21:1" ardvd.s="3" EndIf If GetGadgetText(#ardvd)="1:1" ardvd.s="1" EndIf EndIf If GetGadgetState(#gop)=0 And GetGadgetState(#choosecodec)=0 : gop.s="AUTOGOP" : EndIf If GetGadgetState(#gop)=1 And GetGadgetState(#choosecodec)=0 : gop.s="15 3" : EndIf If GetGadgetState(#gop)=2 And GetGadgetState(#choosecodec)=0 : gop.s="12 2" : EndIf If GetGadgetState(#gop)=0 And GetGadgetState(#choosecodec)=1 : gop.s="15" : EndIf If GetGadgetState(#gop)=1 And GetGadgetState(#choosecodec)=1 : gop.s="15" : EndIf If GetGadgetState(#gop)=2 And GetGadgetState(#choosecodec)=1 : gop.s="12" : EndIf If GetGadgetState(#gop)=0 And GetGadgetState(#choosecodec)=2 : gop.s="12" : EndIf If GetGadgetState(#gop)=1 And GetGadgetState(#choosecodec)=2 : gop.s="15" : EndIf If GetGadgetState(#gop)=2 And GetGadgetState(#choosecodec)=2 : gop.s="12" : EndIf Debug("gops.s="+gop.s) Debug("ardvd.s="+ardvd.s) If GetGadgetState(#choosecodec)=0 ; HCenc If GetGadgetState(#minimized)=1 :minz.l=0: thread1hc=CreateThread(@minimized(),"HCenc") : EndIf bitrate.s=Str(Int(Val(bitrate.s)*1.024)) Select GetGadgetText(#pass) Case "2 PASS" ; 2 pass CreateFile(0,dest.s+"mkvmagic_hc.ini") WriteStringN(0,"*infile "+dest.s+"movie.avs") WriteStringN(0,"*outfile "+dest.s+"movie.mpv") If GetGadgetText(#bitdvd)="AUTO" : WriteStringN(0,"*bitrate "+bitrate.s) : EndIf If GetGadgetText(#bitdvd)<>"AUTO" : WriteStringN(0,"*bitrate "+GetGadgetText(#bitdvd)) : EndIf If GetGadgetText(#maxbit)<>"AUTO" : WriteStringN(0,"*maxbitrate "+GetGadgetText(#maxbit)) : EndIf If GetGadgetText(#maxbit)="AUTO" : WriteStringN(0,"*maxbitrate 9000") : EndIf WriteStringN(0,"*logfile "+dest.s+"hc_mkvmagic.log") WriteStringN(0,"*matrix mpeg") WriteStringN(0,"*profile "+Profile.s) WriteStringN(0,"*aspect "+ardvd.s) WriteStringN(0,"*"+interlaced.s) WriteStringN(0,"*"+ff.s) WriteStringN(0,"*dc_prec "+GetGadgetText(#dc)) WriteStringN(0,"*bias 35") If GetGadgetState(#gop)<>0 : WriteStringN(0,"*gop "+gop.s) : EndIf WriteStringN(0,"*wait 3") CloseFile(0) RunProgram(pexe.s+"mpeg2\hcbatch.exe"," -ini "+Chr(34)+dest.s+"mkvmagic_hc.ini"+Chr(34),"",1) del.s=pexe.s+"mpeg2\hc.dbs" DeleteFile(del.s) Case "CQ Mode" ; cq mode CreateFile(0,dest.s+"mkvmagic_hc.ini") WriteStringN(0,"*infile "+dest.s+"movie.avs") WriteStringN(0,"*outfile "+dest.s+"movie.mpv") If GetGadgetText(#cq)<>"NONE" : WriteStringN(0,"*cq_maxbitrate "+GetGadgetText(#cq)) : EndIf If GetGadgetText(#cq)="NONE" : WriteStringN(0,"*bitrate "+bitrate.s) : EndIf If GetGadgetText(#maxbit)<>"AUTO" : WriteStringN(0,"*maxbitrate "+GetGadgetText(#maxbit)) : EndIf If GetGadgetText(#maxbit)="AUTO" : WriteStringN(0,"*maxbitrate 9000") : EndIf WriteStringN(0,"*logfile "+dest.s+"hc_mkvmagic.log") WriteStringN(0,"*matrix mpeg") WriteStringN(0,"*profile "+Profile.s) WriteStringN(0,"*aspect "+ardvd.s) WriteStringN(0,"*"+interlaced.s) WriteStringN(0,"*"+ff.s) WriteStringN(0,"*dc_prec "+GetGadgetText(#dc)) WriteStringN(0,"*bias 35") If GetGadgetState(#gop)<>0 : WriteStringN(0,"*gop "+gop.s) : EndIf WriteStringN(0,"*wait 3") CloseFile(0) RunProgram(pexe.s+"mpeg2\hcbatch.exe"," -ini "+Chr(34)+dest.s+"mkvmagic_hc.ini"+Chr(34),"",1) del.s=pexe.s+"mpeg2\hc.dbs" DeleteFile(del.s) Case "CQ AUTO" ; cq auto CreateFile(0,dest.s+"mkvmagic_hc.ini") WriteStringN(0,"*infile "+dest.s+"movie.avs") WriteStringN(0,"*outfile "+dest.s+"movie.mpv") WriteStringN(0,"*cq_maxbitrate 2") WriteStringN(0,"*maxbitrate "+bitrate.s) WriteStringN(0,"*logfile "+dest.s+"hc_mkvmagic.log") WriteStringN(0,"*matrix mpeg") WriteStringN(0,"*profile "+Profile.s) WriteStringN(0,"*aspect "+ardvd.s) WriteStringN(0,"*"+interlaced.s) WriteStringN(0,"*"+ff.s) WriteStringN(0,"*dc_prec "+GetGadgetText(#dc)) WriteStringN(0,"*bias 35") If GetGadgetState(#gop)<>0 : WriteStringN(0,"*gop "+gop.s) : EndIf WriteStringN(0,"*wait 3") CloseFile(0) RunProgram(pexe.s+"mpeg2\hcbatch.exe"," -ini "+Chr(34)+dest.s+"mkvmagic_hc.ini"+Chr(34),"",1) del.s=pexe.s+"mpeg2\hc.dbs" DeleteFile(del.s) EndSelect hclogn=OpenFile(#PB_Any,dest.s+"hc_mkvmagic.log") While Eof(hclogn) = #False line.s=ReadString(hclogn)+Chr(13) writelog(line.s) Wend CloseFile(hclogn) DeleteFile(dest.s+"hc_mkvmagic.log") If GetGadgetState(#minimized)=1 : KillThread(thread1hc) : EndIf EndIf If GetGadgetState(#choosecodec)=1 ; QuEnc If GetGadgetText(#maxbit)<>"AUTO" : maxbit.s=GetGadgetText(#maxbit) : EndIf If GetGadgetText(#maxbit)="AUTO" : maxbit.s="0" : EndIf If GetGadgetState(#minimized)=1 :minz.l=0: thread1q=CreateThread(@minimized(),"Quenc") : EndIf Select GetGadgetText(#pass) Case "1 Pass CBR" ;1 pass cbr RunProgram(pexe.s+"mpeg2\quenc.exe"," -i "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -1 -b "+bitrate.s+" -maxbframes 2 -maxbitrate "+maxbit.s+" -priority 5 -scene -aspectratio "+ardvd.s+" -"+trell.s+" -gopsize "+gop.s+" -nocgop -auto -close -"+ff.s+" -"+hqq.s+" -"+hq.s+" -novbr -"+interlaced.s+" -mpeg2mux noaudio -silent -dc "+GetGadgetText(#dc),"",1) Case "1 Pass VBR" ;1 pass vbr RunProgram(pexe.s+"mpeg2\quenc.exe"," -i "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -1 -b "+bitrate.s+" -maxbframes 2 -maxbitrate "+maxbit.s+" -priority 5 -scene -aspectratio "+ardvd.s+" -"+trell.s+" -gopsize "+gop.s+" -nocgop -auto -close -"+ff.s+" -"+hqq.s+" -"+hq.s+" -vbr -"+interlaced.s+" -mpeg2mux noaudio -silent -dc "+GetGadgetText(#dc),"",1) Case "2 PASS" ;2 pass RunProgram(pexe.s+"mpeg2\quenc.exe"," -i "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -2 -b "+bitrate.s+" -maxbframes 2 -maxbitrate "+maxbit.s+" -priority 5 -scene -aspectratio "+ardvd.s+" -"+trell.s+" -gopsize "+gop.s+" -nocgop -auto -close -"+ff.s+" -"+hqq.s+" -"+hq.s+" -vbr -"+interlaced.s+" -mpeg2mux noaudio -silent -dc "+GetGadgetText(#dc),"",1) EndSelect If GetGadgetState(#minimized)=1 : KillThread(thread1q) : EndIf EndIf If GetGadgetState(#choosecodec)=2 ; AutoQMatEnc If GetGadgetState(#minimized)=1 :minz.l=0: thread1a=CreateThread(@minimized(),pexe.s) : EndIf Select GetGadgetText(#pass) Case "2 PASS" ;2 pass CreateFile(0,dest.s+"mkvmagic_aqe2p.ecl") WriteStringN(0,"title=movie.avs") WriteStringN(0,"video_type=4") WriteStringN(0,"vid_file0="+dest.s+"movie.mpv") WriteStringN(0,"vid_file1="+dest.s+"movie.mpv") WriteStringN(0,"vaf_file="+dest.s+"movie.vaf") WriteStringN(0,"tc_rec_frm="+trec.s) WriteStringN(0,"cbr_brate="+bitrate.s) WriteStringN(0,"seq_encode=1") WriteStringN(0,"width="+width.s) WriteStringN(0,"height="+height.s) If GetGadgetText(#bitdvd)="AUTO" : WriteStringN(0,"vbr_brate_avg="+bitrate.s) : EndIf If GetGadgetText(#bitdvd)<>"AUTO" : WriteStringN(0,"vbr_brate_avg="+GetGadgetText(#bitdvd)) : EndIf WriteStringN(0,"vbr_brate_min="+Str(Int(ValF(bitrate.s)/3))) If GetGadgetText(#maxbit)<>"AUTO" : WriteStringN(0,"vbr_brate_max="+GetGadgetText(#maxbit)) : EndIf If GetGadgetText(#maxbit)="AUTO" : WriteStringN(0,"vbr_brate_max=9000") : EndIf WriteStringN(0,"vbr_pass=1") WriteStringN(0,"aspect_ratio="+ardvd.s) WriteStringN(0,"quality_prec=16") WriteStringN(0,"mpeg1=0") If GetGadgetText(#ntsc)="23.976" : WriteStringN(0,"frame_rate_idx=1") : EndIf If GetGadgetText(#ntsc)="24" : WriteStringN(0,"frame_rate_idx=2") : EndIf If GetGadgetText(#ntsc)="25" : WriteStringN(0,"frame_rate_idx=3") : EndIf If GetGadgetText(#ntsc)="29.97" : WriteStringN(0,"frame_rate_idx=4") : EndIf If GetGadgetText(#ntsc)="30" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="50" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="59.94" : WriteStringN(0,"frame_rate_idx=6") : EndIf If GetGadgetText(#ntsc)="60" : WriteStringN(0,"frame_rate_idx=7") : EndIf If GetGadgetText(#dc)="10" : WriteStringN(0,"intra_dc_prec=2") : EndIf If GetGadgetText(#dc)="9" : WriteStringN(0,"intra_dc_prec=1") : EndIf If GetGadgetText(#dc)="8" : WriteStringN(0,"intra_dc_prec=0") : EndIf If GetGadgetText(#interlaced)="AUTO" Or GetGadgetText(#interlaced)="Yes" : WriteStringN(0,"alternate_scan=1") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=0") : EndIf If GetGadgetText(#interlaced)="No" : WriteStringN(0,"alternate_scan=0") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=1") : EndIf If GetGadgetText(#gop)="AUTO" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf If GetGadgetText(#gop)="15" : WriteStringN(0,"gop_m=5") : WriteStringN(0,"gop_hdr=15") : EndIf If GetGadgetText(#gop)="12" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf WriteStringN(0,"all_closed_gop=0") If GetGadgetText(#interlaced)="Yes" And GetGadgetText(#field)="BFF" : WriteStringN(0,"offset_line=1") : EndIf If GetGadgetText(#interlaced)="AUTO" And GetGadgetText(#field)<>"BFF" : WriteStringN(0,"offset_line=0") : EndIf WriteStringN(0,"packet_size=2048") WriteStringN(0,"adjust_q_matrix=1") WriteStringN(0,"name="+dest.s+"movie.avs") WriteStringN(0,"encode_last="+framec.s) CloseFile(0) RunProgram(pexe.s+"mpeg2\autoqmatenc.exe"," -ecl "+Chr(34)+dest.s+"mkvmagic_aqe2p.ecl"+Chr(34),"",1) Case "CQ Mode" ;cq pass CreateFile(0,dest.s+"mkvmagic_aqecq.ecl") WriteStringN(0,"title=movie.avs") If GetGadgetText(#cq)="NONE" : WriteStringN(0,"video_type=4") : EndIf If GetGadgetText(#cq)<>"NONE" : WriteStringN(0,"video_type=2") : EndIf WriteStringN(0,"vid_file0="+dest.s+"movie.mpv") WriteStringN(0,"vid_file1="+dest.s+"movie.mpv") WriteStringN(0,"vaf_file="+dest.s+"movie.vaf") WriteStringN(0,"tc_rec_frm="+trec.s) WriteStringN(0,"seq_encode=1") WriteStringN(0,"width="+width.s) WriteStringN(0,"height="+height.s) If GetGadgetText(#cq)="NONE" : WriteStringN(0,"cbr_brate="+bitrate.s) : EndIf If GetGadgetText(#cq)="NONE" : WriteStringN(0,"vbr_brate_avg="+bitrate.s) : EndIf If GetGadgetText(#cq)="NONE" : WriteStringN(0,"vbr_brate_min="+Str(Int(ValF(bitrate.s)/3))) : EndIf If GetGadgetText(#maxbit)<>"AUTO" : WriteStringN(0,"vbr_brate_max="+GetGadgetText(#maxbit)) : EndIf If GetGadgetText(#maxbit)<>"AUTO" : WriteStringN(0,"opv_brate_max="+GetGadgetText(#maxbit)) : EndIf If GetGadgetText(#maxbit)="AUTO" : WriteStringN(0,"opv_brate_max=9000") : EndIf If GetGadgetText(#cq)<>"NONE" : WriteStringN(0,"opv_q_factor="+GetGadgetText(#cq)) : EndIf WriteStringN(0,"opv_brate_min=900") WriteStringN(0,"vbr_pass=2") WriteStringN(0,"aspect_ratio="+ardvd.s) WriteStringN(0,"quality_prec=16") WriteStringN(0,"mpeg1=0") If GetGadgetText(#ntsc)="23.976" : WriteStringN(0,"frame_rate_idx=1") : EndIf If GetGadgetText(#ntsc)="24" : WriteStringN(0,"frame_rate_idx=2") : EndIf If GetGadgetText(#ntsc)="25" : WriteStringN(0,"frame_rate_idx=3") : EndIf If GetGadgetText(#ntsc)="29.97" : WriteStringN(0,"frame_rate_idx=4") : EndIf If GetGadgetText(#ntsc)="30" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="50" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="59.94" : WriteStringN(0,"frame_rate_idx=6") : EndIf If GetGadgetText(#ntsc)="60" : WriteStringN(0,"frame_rate_idx=7") : EndIf If GetGadgetText(#dc)="10" : WriteStringN(0,"intra_dc_prec=2") : EndIf If GetGadgetText(#dc)="9" : WriteStringN(0,"intra_dc_prec=1") : EndIf If GetGadgetText(#dc)="8" : WriteStringN(0,"intra_dc_prec=0") : EndIf If GetGadgetText(#interlaced)="AUTO" Or GetGadgetText(#interlaced)="Yes" : WriteStringN(0,"alternate_scan=1") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=0") : EndIf If GetGadgetText(#interlaced)="No" : WriteStringN(0,"alternate_scan=0") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=1") : EndIf If GetGadgetText(#gop)="AUTO" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf If GetGadgetText(#gop)="15" : WriteStringN(0,"gop_m=5") : WriteStringN(0,"gop_hdr=15") : EndIf If GetGadgetText(#gop)="12" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf WriteStringN(0,"all_closed_gop=0") If GetGadgetText(#interlaced)="Yes" And GetGadgetText(#field)="BFF" : WriteStringN(0,"offset_line=1") : EndIf If GetGadgetText(#interlaced)="AUTO" And GetGadgetText(#field)<>"BFF" : WriteStringN(0,"offset_line=0") : EndIf WriteStringN(0,"packet_size=2048") WriteStringN(0,"adjust_q_matrix=1") WriteStringN(0,"name="+dest.s+"movie.avs") WriteStringN(0,"encode_last="+framec.s) CloseFile(0) RunProgram(pexe.s+"mpeg2\autoqmatenc.exe"," -ecl "+Chr(34)+dest.s+"mkvmagic_aqecq.ecl"+Chr(34),"",1) Case "CQ AUTO" ;cq pass auto CreateFile(0,dest.s+"mkvmagic_aqecqa.ecl") WriteStringN(0,"title=movie.avs") WriteStringN(0,"video_type=2") WriteStringN(0,"vid_file0="+dest.s+"movie.mpv") WriteStringN(0,"vid_file1="+dest.s+"movie.mpv") WriteStringN(0,"vaf_file="+dest.s+"movie.vaf") WriteStringN(0,"tc_rec_frm="+trec.s) WriteStringN(0,"opv_brate_max="+bitrate.s) WriteStringN(0,"opv_q_factor=2") WriteStringN(0,"opv_brate_min=900") WriteStringN(0,"vbr_pass=2") WriteStringN(0,"aspect_ratio="+ardvd.s) WriteStringN(0,"quality_prec=16") WriteStringN(0,"seq_encode=1") WriteStringN(0,"width="+width.s) WriteStringN(0,"height="+height.s) WriteStringN(0,"mpeg1=0") If GetGadgetText(#ntsc)="23.976" : WriteStringN(0,"frame_rate_idx=1") : EndIf If GetGadgetText(#ntsc)="24" : WriteStringN(0,"frame_rate_idx=2") : EndIf If GetGadgetText(#ntsc)="25" : WriteStringN(0,"frame_rate_idx=3") : EndIf If GetGadgetText(#ntsc)="29.97" : WriteStringN(0,"frame_rate_idx=4") : EndIf If GetGadgetText(#ntsc)="30" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="50" : WriteStringN(0,"frame_rate_idx=5") : EndIf If GetGadgetText(#ntsc)="59.94" : WriteStringN(0,"frame_rate_idx=6") : EndIf If GetGadgetText(#ntsc)="60" : WriteStringN(0,"frame_rate_idx=7") : EndIf If GetGadgetText(#dc)="10" : WriteStringN(0,"intra_dc_prec=2") : EndIf If GetGadgetText(#dc)="9" : WriteStringN(0,"intra_dc_prec=1") : EndIf If GetGadgetText(#dc)="8" : WriteStringN(0,"intra_dc_prec=0") : EndIf If GetGadgetText(#interlaced)="AUTO" Or GetGadgetText(#interlaced)="Yes" : WriteStringN(0,"alternate_scan=1") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=0") : EndIf If GetGadgetText(#interlaced)="No" : WriteStringN(0,"alternate_scan=0") : WriteStringN(0,"non_linear=1") : WriteStringN(0,"progressive=1") : EndIf If GetGadgetText(#gop)="AUTO" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf If GetGadgetText(#gop)="15" : WriteStringN(0,"gop_m=5") : WriteStringN(0,"gop_hdr=15") : EndIf If GetGadgetText(#gop)="12" : WriteStringN(0,"gop_m=3") : WriteStringN(0,"gop_hdr=12") : EndIf WriteStringN(0,"all_closed_gop=0") If GetGadgetText(#interlaced)="Yes" And GetGadgetText(#field)="BFF" : WriteStringN(0,"offset_line=1") : EndIf If GetGadgetText(#interlaced)="AUTO" And GetGadgetText(#field)<>"BFF" : WriteStringN(0,"offset_line=0") : EndIf WriteStringN(0,"packet_size=2048") WriteStringN(0,"adjust_q_matrix=1") WriteStringN(0,"name="+dest.s+"movie.avs") WriteStringN(0,"encode_last="+framec.s) CloseFile(0) RunProgram(pexe.s+"mpeg2\autoqmatenc.exe"," -ecl "+Chr(34)+dest.s+"mkvmagic_aqecqa.ecl"+Chr(34),"",1) EndSelect If GetGadgetState(#minimized)=1 : KillThread(thread1a) : EndIf EndIf If GetGadgetState(#choosecodec)=3 ; ReJig If GetGadgetState(#minimized)=1 :minz.l=0: thread1rj=CreateThread(@minimized(),"ReJig") : EndIf If enco=1 And exts.s<>"ifo" Debug("enco 1 exts<>ifo") fh = OpenFile(#PB_Any,dest.s+"movie.d2v") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"vob",1) listvob1.s=line.s+" + " listvob.s=listvob.s+listvob1.s EndIf Wend CloseFile(fh) If Right(listvob.s,3)=" + " : listvob.s=RSet(listvob.s,Len(listvob.s)-3) : EndIf listvob.s=Chr(34)+listvob.s+Chr(34) Debug("listvob.s="+listvob.s) RunProgram(pexe.s+"mpeg2/ReJig.exe"," -auto -close -size "+Str((Val(sizemb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)/1024/1024/1.05)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -i "+listvob.s,"",#PB_Program_Wait) EndIf If enco=1 And exts.s="ifo" Debug("sono in listvob1") fh = OpenFile(#PB_Any,dest.s+"movie.d2v") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"vob",1) listvob1.s=line.s+" + " listvob.s=listvob.s+listvob1.s EndIf Wend CloseFile(fh) If Right(listvob.s,3)=" + " : listvob.s=RSet(listvob.s,Len(listvob.s)-3) : EndIf listvob.s=Chr(34)+listvob.s+Chr(34) Debug("listvob.s="+listvob.s) If GetGadgetState(#minimized)=1 :minz.l=0: thread1r=CreateThread(@minimized(),"rejig") : EndIf RunProgram(pexe.s+"mpeg2/ReJig.exe"," -auto -close -size "+Str((Val(sizemb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)/1024/1024/1.05)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -i "+listvob.s,"",#PB_Program_Wait) EndIf minz.l=0 If enco=0 If GetGadgetState(#minimized)=1 :minz.l=0: thread1r=CreateThread(@minimized(),"rejig") : EndIf RunProgram(pexe.s+"mpeg2/ReJig.exe"," -auto -close -size "+Str((Val(sizemb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)/1024/1024/1.05)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -i "+inputfile.s,"",#PB_Program_Wait) EndIf If enco=3 Debug("enco=3") Debug("inputfile.s="+inputfile.s) fh = OpenFile(#PB_Any,inputfile.s) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"vob",1) listvob1.s=line.s+" + " listvob.s=listvob.s+listvob1.s EndIf Wend CloseFile(fh) If Right(listvob.s,3)=" + " : listvob.s=RSet(listvob.s,Len(listvob.s)-3) : EndIf listvob.s=Chr(34)+listvob.s+Chr(34) Debug("listvob.s="+listvob.s) RunProgram(pexe.s+"mpeg2/ReJig.exe"," -auto -close -size "+Str((Val(sizemb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)/1024/1024/1.05)+" -o "+Chr(34)+dest.s+"movie.mpv"+Chr(34)+" -i "+listvob.s,"",#PB_Program_Wait) EndIf If GetGadgetState(#minimized)=1 : KillThread(thread1rj) : EndIf EndIf If subs.s<>"0" : sup() :EndIf If GetGadgetText(#container)="ES A/V" : cleandvd() : ProcedureReturn : EndIf If GetGadgetText(#container)="ES Video" : cleandvd() : : ProcedureReturn : EndIf muxdvd() cleandvd() writelog("- - - - - - - - - - - - FINISHED JOBS - - - - - - - - - - -") EndProcedure Procedure sup() Debug("pos1="+Str(pos1)) Debug("pos2="+Str(pos2)) Debug("subs.s="+subs.s) If subs.s="1" RunProgram(pexe.s+"subs\vsconv.exe"," -f sup -i "+Chr(34)+dest.s+"vts.idx"+Chr(34)+" -o "+Chr(34)+dest.s+"vts1"+Chr(34)+" -id "+Str(pos1),"",1) EndIf If subs.s="2" RunProgram(pexe.s+"subs\vsconv.exe"," -f sup -i "+Chr(34)+dest.s+"vts.idx"+Chr(34)+" -o "+Chr(34)+dest.s+"vts1"+Chr(34)+" -id "+Str(pos1),"",1) RunProgram(pexe.s+"subs\vsconv.exe"," -f sup -i "+Chr(34)+dest.s+"vts.idx"+Chr(34)+" -o "+Chr(34)+dest.s+"vts2"+Chr(34)+" -id "+Str(pos2),"",1) EndIf EndProcedure Procedure muxdvd() Debug ("audio1tip.s="+audio1tip.s) Debug ("audio2tip.s="+audio2tip.s) CreateFile(0,dest.s+"dvd.mxp") WriteStringN(0,"Section=Content") WriteStringN(0,"{") WriteStringN(0,"Item=Segment") WriteStringN(0,"{") WriteStringN(0,"Name=Segment_1") If ardvd.s="16:9" : WriteStringN(0,"Display Mode=16:9") :EndIf If ardvd.s="4:3" : WriteStringN(0,"Display Mode=4:3") :EndIf If ardvd.s<>"16:9" And ardvd.s<>"4:3" : WriteStringN(0,"Display Mode=4:3") :EndIf WriteStringN(0,"Item=Video Stream") WriteStringN(0,"{") WriteStringN(0,"Coding Mode=Mpeg-2") Debug ("framer.s="+framer.s) If GetGadgetState(#pal)=0 WriteStringN(0,"Standard=PAL") EndIf If GetGadgetState(#pal)=1 WriteStringN(0,"Standard=NTSC") EndIf WriteStringN(0,"Item=Video Play") WriteStringN(0,"{") WriteStringN(0,"File="+dest.s+"movie.mpv") WriteStringN(0,"Duration=Actual") WriteStringN(0,"}") WriteStringN(0,"}") WriteStringN(0,"Item=Audio Stream") WriteStringN(0,"{") WriteStringN(0,"Stream Number=1") WriteStringN(0,"Language="+LCase(Mid(StringField(GetGadgetText(#audiotracks1),1," "),0,2))) WriteStringN(0,"Language Extension=1") WriteStringN(0,"Delay=0") WriteStringN(0,"Item=Audio Play") WriteStringN(0,"{") If GetGadgetState(#audiotracks1)<>0 : audtrack1.s=dest.s+audio1tip.s : WriteStringN(0,"File="+audtrack1.s) : EndIf WriteStringN(0,"}") WriteStringN(0,"}") If GetGadgetState(#audiotracks2)<>0 WriteStringN(0,"Item=Audio Stream") WriteStringN(0,"{") WriteStringN(0,"{") WriteStringN(0,"Stream Number=2") WriteStringN(0,"Language="+LCase(Mid(StringField(GetGadgetText(#audiotracks2),1," "),0,2))) WriteStringN(0,"Language Extension=1") WriteStringN(0,"Delay=0") WriteStringN(0,"Item=Audio Play") WriteStringN(0,"{") If GetGadgetState(#audiotracks2)<>0 : audtrack2.s=dest.s+audio2tip.s : WriteStringN(0,"File="+audtrack2.s) : EndIf WriteStringN(0,"}") WriteStringN(0,"}") EndIf If subs.s="1" startsub.s=StringField(line.s,1," ") WriteStringN(0,"Item=Sub-Picture Stream") WriteStringN(0,"{") WriteStringN(0,"Stream Number=1") WriteStringN(0,"Language="+LCase(Mid(StringField(GetGadgetText(#subtracks1),1," "),0,2))) WriteStringN(0,"Language Extension=1") WriteStringN(0,"Display Mode=Wide/Letter") WriteStringN(0,"File="+dest.s+"vts1.sup") WriteStringN(0,"}") EndIf If subs.s="2" WriteStringN(0,"Item=Sub-Picture Stream") WriteStringN(0,"{") WriteStringN(0,"Stream Number=1") WriteStringN(0,"Language="+LCase(Mid(StringField(GetGadgetText(#subtracks1),1," "),0,2))) WriteStringN(0,"Language Extension=1") WriteStringN(0,"Display Mode=Wide/Letter") WriteStringN(0,"File="+dest.s+"vts1.sup") WriteStringN(0,"}") WriteStringN(0,"Item=Sub-Picture Stream") WriteStringN(0,"{") WriteStringN(0,"Stream Number=2") WriteStringN(0,"Language="+LCase(Mid(StringField(GetGadgetText(#subtracks2),1," "),0,2))) WriteStringN(0,"Language Extension=1") WriteStringN(0,"Display Mode=Wide/Letter") WriteStringN(0,"File="+dest.s+"vts2.sup") WriteStringN(0,"}") EndIf WriteStringN(0,"Item=Scene List") WriteStringN(0,"{") WriteStringN(0,"Item=Scene") WriteStringN(0,"{") WriteStringN(0,"Name=Segment_1_scn1") WriteStringN(0,"Scene Time=00:00:00:00") WriteStringN(0,"}") WriteStringN(0,"}") WriteStringN(0,"}") WriteStringN(0,"}") CloseFile(0) dir1.s=dest.s+"BURN" dir2.s=dir1.s+"\VIDEO_TS" CreateDirectory(dir1.s) CreateDirectory(dir2.s) If GetGadgetState(#iso)=1 : dir3.s=dir1.s+"\AUDIO_TS" : CreateDirectory(dir3.s) : EndIf RunProgram(pexe.s+"dvdiso/muxman.exe"," "+Chr(34)+dest.s+"dvd.mxp"+Chr(34)+" -d "+dir2.s+" -run","",#PB_Program_Wait) If GetGadgetState(#iso)=1 : RunProgram(pexe.s+"dvdiso/mkisofs.exe"," -dvd-video -V DVDVideo -udf -o "+Chr(34)+dest.s+"\DVD.iso"+Chr(34)+" "+Chr(34)+dest.s+"BURN","",#PB_Program_Wait) : EndIf If GetGadgetState(#clean)=1 : cleandvd() : EndIf EndProcedure Procedure fcod() start=Date() Debug ("use_bvop.s="+use_bvop.s) Debug("GetGadgetState(#sample)="+Str(GetGadgetState(#sample))) Debug("GetGadgetText(#width)="+GetGadgetText(#width)) sizembd.f=ValF(Dimb.s)*1024*1024 Debug ("sizembd="+StrF(sizembd.f,0)) Debug ("audiosz1="+Str(audiosz1)) Debug ("audiosz2="+Str(audiosz2)) Debug ("subssize1="+Str(subssize1)) Debug ("tsec.l="+Str(tsec.l)) Debug ("framer.s="+framer.s) writelog("Aspect Ratio: "+ar.s) bitrate.s=Str(Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*0.997)/(tsec.l)*8)/1024)) bitrate2.s=Str(3+Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*1.010)/(tsec.l)*8)/1024)) Debug("bitrate.s="+bitrate.s) If GetGadgetState(#choosecodec)=9 And bps.l<>1 : writelog("Bitrate calculated: "+bitrate2.s) : EndIf If GetGadgetState(#choosecodec)<>9 And bps.l<>1 : writelog("Bitrate calculated: "+bitrate.s) : EndIf If GetGadgetState(#minimized)=1 : Debug("sono in minimized in fcod") : minz.l=0 : thread1avs=CreateThread(@minimized(),"exe") : EndIf If GetGadgetState(#choosecodec)=0 ; 1 Pass CBR Full Automatic XviD cod.s="1" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\cbrpass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","bitrate",bitrate.s,#REG_DWORD,"") ;reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","bitrate","5000",#REG_DWORD,"") If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf writelog("Starting Encoding Sample") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample") EndIf RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\cbrpass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","bitrate",bitrate.s,#REG_DWORD,"") If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf writelog("Starting encoding") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished encoding") EndIf If GetGadgetState(#choosecodec)=1 ; 2 Pass Full Automatic XviD cod.s="1" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\xvid_1_1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf writelog("Starting First Pass Sample - 2 Pass Full Automatic XviD") If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\xvid_1_2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","desired_size",Str(Int(videosize.f/20)),#REG_DWORD,"") writelog("Starting Second Pass - 2 Pass Full Automatic XviD") If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Second Pass Sample - 2 Pass Full Automatic XviD") EndIf RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\xvid_1_1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf writelog("Starting First Pass - 2 Pass Full Automatic XviD") If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\xvid_1_2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","3",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))=25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","1",#REG_DWORD,"") : EndIf If ar.s="16:9" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","4",#REG_DWORD,"") : EndIf If ar.s="4:3" And Int(Val(framer.s))<>25 : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","aspect_ratio","2",#REG_DWORD,"") : EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","desired_size",StrF(videosize.f,0),#REG_DWORD,"") writelog("Starting Second Pass - 2 Pass Full Automatic XviD") If use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") EndIf If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",Str(Val(GetGadgetText(#scquant))*100),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding - 2 Pass Full Automatic XviD") EndIf If GetGadgetState(#choosecodec)=2 ;1 Pass Manual XviD cod.s="1" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" writelog("Starting Sample Encoding - 1 Pass Manual XviD") RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Sample Encoding - 1 Pass Manual XviD") EndIf writelog("Starting encoding") RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished encoding - 1 Pass Manual XviD") EndIf If GetGadgetState(#choosecodec)=3 ; 2 Pass Manual XviD cod.s="1" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) writelog("Starting First Pass Sample - 2 Pass Manual XviD") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Starting Second Pass - 2 Pass Manual XviD") RunProgram("reg"," import "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding - 2 Pass Manual XviD") EndIf RunProgram("reg"," import "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) writelog("Starting First Pass - 2 Pass Manual XviD") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Starting Second Pass - 2 Pass Manual XviD") RunProgram("reg"," import "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding - 2 Pass Manual XviD") EndIf If GetGadgetState(#choosecodec)=4 ; 1 Pass Manual XviD but Automatic BITRATE cod.s="1" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","bitrate",bitrate.s,#REG_DWORD,"") writelog("Starting Encoding Sample - 1 Pass Manual XviD but Automatic BITRATE") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",GetGadgetText(#scquant),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 1 Pass Manual XviD but Automatic BITRATE") EndIf RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","bitrate",bitrate.s,#REG_DWORD,"") If GetGadgetState(#screditq)=1 Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","num_zones","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_frame",GetGadgetText(#scredit),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_mode","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_quant",GetGadgetText(#scquant),#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_greyscale","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_chroma_opt","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_bvop_threshold","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","zone0_cartoon_mode","0",#REG_DWORD,"") EndIf writelog("Starting encoding - 1 Pass Manual XviD but Automatic BITRATE") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished encoding - 1 Pass Manual XviD but Automatic BITRATE") EndIf If GetGadgetState(#choosecodec)=5 ; 2 Pass Manual X264 but AUTO BITRATE cod.s="2" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting First Pass Sample - 2 Pass Manual X264 but AUTO BITRATE") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting Second Pass Sample - 2 Pass Manual X264 but AUTO BITRATE") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 2 Pass Manual X264 but AUTO BITRATE") EndIf RunProgram("reg"," import "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting First Pass - 2 Pass Manual X264 but AUTO BITRATE") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting Second Pass - 2 Pass Manual X264 but AUTO BITRATE") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding - 2 Pass Manual X264 but AUTO BITRATE") EndIf If GetGadgetState(#choosecodec)=6 ;1 Pass Manual X264 but AUTO BITRATE cod.s="2" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf writelog("Starting Encoding Sample - 1 Pass Manual X264 but AUTO BITRATE") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bitrate",bitrate2.s,#REG_DWORD,"") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 1 Pass Manual X264 but AUTO BITRATE") EndIf RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf writelog("Starting encoding - 1 Pass Manual X264 but AUTO BITRATE") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bitrate",bitrate2.s,#REG_DWORD,"") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished encoding - 1 Pass Manual X264 but AUTO BITRATE") EndIf If GetGadgetState(#choosecodec)=7 ;2 Pass FULL Automatic X264 cod.s="2" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264_1_1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting First Pass Sample - 2 Pass FULL Automatic X264") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264_1_2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting Second Pass Sample - 2 Pass FULL Automatic X264") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 2 Pass FULL Automatic X264") EndIf RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264_1_1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting First Pass - 2 Pass FULL Automatic X264") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264_1_2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") writelog("Starting Second Pass - 2 Pass FULL Automatic X264") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding") EndIf If GetGadgetState(#choosecodec)=8 ; 1 Pass FULL Automatic X264 cod.s="2" If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264cbr.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf writelog("Starting Encoding Sample - 1 Pass FULL Automatic X264") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bitrate",bitrate2.s,#REG_DWORD,"") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 1 Pass FULL Automatic X264") EndIf RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264cbr.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ;If use_bvop.s="0" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") ;EndIf ;If use_bvop.s="1" ; Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") ;EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","12",#REG_DWORD,"") : EndIf If ar.s="16:9" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_width","16",#REG_DWORD,"") : EndIf If ar.s="4:3" : Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","sar_height","11",#REG_DWORD,"") : EndIf writelog("Starting encoding - 1 Pass FULL Automatic X264") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","passbitrate",bitrate2.s,#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bitrate",bitrate2.s,#REG_DWORD,"") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished encoding - 1 Pass FULL Automatic X264") EndIf If GetGadgetState(#choosecodec)=9 If GetGadgetState(#sample)=1 writelog("Starting Encoding Sample") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) EndIf writelog("X264 based encoding on: "+Chr(34)+GetGadgetText(#profiles)+Chr(34)) cod.s="2" If GetGadgetText(#mode)="ABR" If GetGadgetState(#sample)=1 sample.s="sample" x264cmd() CreateFile(0,dest.s+"x264cmd_Sample_ABR.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("SAMPLE Encoding: ABR encoding X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf sample.s="" passx.s="0" x264cmd() CreateFile(0,dest.s+"x264cmd_ABR.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Command Line ABR encoding X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf If GetGadgetText(#mode)="Const. Quantizer" If GetGadgetState(#sample)=1 sample.s="sample" x264cmd() CreateFile(0,dest.s+"x264cmd_Sample_CQ.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Sample Encoding Const. Quantitizer X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf sample.s="" passx.s="3" x264cmd() CreateFile(0,dest.s+"x264cmd_CQ.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Command Line Const. Quantitizer X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf If GetGadgetText(#mode)="2 Pass" If GetGadgetState(#sample)=1 sample.s="sample" passx.s="1" x264cmd() CreateFile(0,dest.s+"x264cmd_Sample_pass1.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Sample Encoding 1' Pass X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 passx.s="2" SetGadgetState(#turbo,0) x264cmd() CreateFile(0,dest.s+"x264cmd_Sample_pass2.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Sample Encoding 2' Pass X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf passx.s="1" sample.s="" x264cmd() CreateFile(0,dest.s+"x264cmd_pass1.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Command Line 1' Pass X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 passx.s="2" SetGadgetState(#turbo,0) x264cmd() CreateFile(0,dest.s+"x264cmd_pass2.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Command Line 2' Pass X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf If GetGadgetText(#mode)="Quality (crf)" If GetGadgetState(#sample)=1 sample.s="sample" x264cmd() CreateFile(0,dest.s+"x264cmd_Sample_Qual.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Sample Encoding Quality X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf sample.s="" passx.s="4" x264cmd() CreateFile(0,dest.s+"x264cmd_Qual_CRF.bat") WriteStringN(0,Chr(34)+pexe.s+"encoder\x264.exe"+Chr(34)+" "+x264.s) CloseFile(0) writelog("Command Line Quality X264: "+pexe.s+"encoder\x264.exe"+x264.s) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) minz.l=0 EndIf EndIf If GetGadgetState(#choosecodec)=10 cod.s="2" If GetGadgetText(#xpasses)="Single Pass" xvidpass="1" xvidcmd() writelog("Command Line Single Pass Encoding Xvid: "+pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) ;outputtest=RunProgram(dest.s+"xvidsingle.bat","","",#PB_Program_Open|#PB_Program_Error|#PB_Program_Read) ;minz.l=0 ;dataora() ;If outputtest ; While ProgramRunning(outputtest) ; line.s= ReadProgramString(outputtest) ; If FindString(line.s,"Tot: enctime(ms)",0) : WriteStringN(999,oraminuti.s+" "+line.s) : EndIf ; If FindString(line.s,"Avg: enctime(ms)",0) : WriteStringN(999,oraminuti.s+" "+line.s) : EndIf ; If FindString(line.s,"frames",0) : WriteStringN(999,oraminuti.s+" "+line.s) : EndIf ; Wend ;EndIf ;WaitProgram(outputtest) RunProgram(dest.s+"xvidsingle.bat","","",#PB_Program_Wait) minz.l=0 EndIf If GetGadgetText(#xpasses)="2 Pass" xvidpass="2" xvidcmd() writelog("Command Line 2 Pass Encoding with XviD FIRST PASS: "+pexe.s+"encoder\xvid_encraw.exe"+xvidcmd.s) writelog("Starting First Pass") RunProgram(dest.s+"xvidfirstpass.bat","","",#PB_Program_Wait) minz.l=0 xvidpass="3" xvidcmd() writelog("Command Line 2 Pass Encoding with XviD: "+pexe.s+"encoder\xvid_encraw.exe"+xvidcmd.s) writelog("Starting Second Pass") RunProgram(dest.s+"xvidsecondpass.bat","","",#PB_Program_Wait) minz.l=0 EndIf If GetGadgetText(#xpasses)="Quality" xvidpass.s="4" xvidcmd() writelog("Command Line Constant Quality: "+pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) RunProgram(dest.s+"xvidcq.bat","","",#PB_Program_Wait) minz.l=0 EndIf del.s=pexe.s+"stats" DeleteFile(del.s) EndIf If GetGadgetState(#choosecodec)=11 ;2 Pass Manual VFW Codec cod.s="2" If FileSize(dest.s+"conf1.pass")=-1 MessageRequester("Information","For your information: average bitrate computed is "+bitrate.s,#PB_MessageRequester_Ok) EndIf If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" writelog("Starting First Pass Sample - 2 Pass Manual VFW Codec") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) If FileSize(dest.s+"conf1.pass")=-1 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -p 0 -P 2","",#PB_Program_Wait) EndIf If FileSize(dest.s+"conf1.pass")>2 writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34),"",#PB_Program_Wait) EndIf writelog("Finished Encoding Sample - 2 Pass Manual VFW Codec") EndIf writelog("Starting First Pass - 2 Pass Manual VFW Codec") If FileSize(dest.s+"conf1.pass")=-1 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -p 0 -P 2","",#PB_Program_Wait) EndIf If FileSize(dest.s+"conf1.pass")>2 writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34),"",#PB_Program_Wait) EndIf minz.l=0 writelog("Finished Encoding") EndIf If GetGadgetState(#choosecodec)=12 ; 1 Pass Manual VFW Codec cod.s="2" If FileSize(dest.s+"conf1.pass")=-1 MessageRequester("Information","For your information: average bitrate computed is "+bitrate.s,#PB_MessageRequester_Ok) EndIf If GetGadgetState(#sample)=1 And GetGadgetText(#width)="Automatic" writelog("Starting Encoding Sample - 1 Pass Manual VFW Codec") OpenFile(9,dest.s+"samplemovie.avs") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest(2)") CloseFile(2) CloseFile(9) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"samplemovie.avi"+Chr(34)+" -w -c -p 0","",#PB_Program_Wait) minz.l=0 writelog("Finished Encoding Sample - 1 Pass Manual VFW Codec") EndIf writelog("Starting encoding - 1 Pass Manual VFW Codec") If FileSize(dest.s+"conf1.pass")=-1 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -p 0","",#PB_Program_Wait) EndIf If FileSize(dest.s+"conf1.pass")>2 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" "+Chr(34)+dest.s+"movie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Wait) EndIf minz.l=0 writelog("Finished encoding - 1 Pass Manual VFW Codec") EndIf If GetGadgetState(#minimized)=1 : KillThread(thread1avs) : EndIf start2=Date() writelog("Average encoding FPS: "+StrF(Val(framec.s)/(start2-start))) mux() writelog(" ") writelog("Script AutoCrop.log") writelog(" ") OpenFile(2,dest.s+"AutoCrop.log") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) writelog(" ") writelog("Script Resmovie.avs") writelog(" ") OpenFile(2,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) writelog(" ") writelog("Script movie.avs") writelog(" ") OpenFile(2,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) writelog(" ") writelog("Script mkvmaudio.avs") writelog(" ") OpenFile(2,dest.s+"mkvmaudio.avs") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) writelog(" ") writelog("Script mkvmaudio.bat") writelog(" ") OpenFile(2,dest.s+"mkvmaudio.bat") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) writelog(" ") writelog("- - - - - - - - - - - - FINISHED JOBS - - - - - - - - - - - -") If GetGadgetState(#clean)=1 del.s=dest.s+"movie.avs" DeleteFile(del.s) del.s=dest.s+"movie.d2v" DeleteFile(del.s) del.s=dest.s+"frame.txt" DeleteFile(del.s) del.s=dest.s+"time.avs" DeleteFile(del.s) del.s=dest.s+"checkmedia.txt" DeleteFile(del.s) del.s=dest.s+"testdeint.avs" DeleteFile(del.s) del.s=dest.s+"testdeint.bat" DeleteFile(del.s) del.s=dest.s+"testdeint.m4v" DeleteFile(del.s) EndIf If GetGadgetState(#shut)=1 ExitWindowsEx_(EWX_POWEROFF,0) EndIf ;End ; rem when compiling exe!!! EndProcedure Procedure dvdscript() If GetGadgetText(#container)="ES Audio" : cleandvd() : ProcedureReturn : EndIf OpenFile(2,pfilt.s+"Default.avs") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,"LoadPlugin("+Chr(34)+pfilt.s+line.s+Chr(34)+")") Wend CloseFile(2) If avs1.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs1.s+Chr(34)+")") : EndIf If avs2.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs2.s+Chr(34)+")") : EndIf If avs3.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs3.s+Chr(34)+")") : EndIf If avs4.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs4.s+Chr(34)+")") : EndIf If avs5.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs5.s+Chr(34)+")") : EndIf If avs6.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs6.s+Chr(34)+")") : EndIf If avs7.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs7.s+Chr(34)+")") : EndIf If iavs1.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs1.s+Chr(34)+")") : EndIf If iavs2.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs2.s+Chr(34)+")") : EndIf If iavs3.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs3.s+Chr(34)+")") : EndIf If iavs4.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs4.s+Chr(34)+")") : EndIf If iavs5.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs5.s+Chr(34)+")") : EndIf If iavs6.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs6.s+Chr(34)+")") : EndIf If iavs7.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs7.s+Chr(34)+")") : EndIf WriteStringN(3,"Import("+Chr(34)+pfilt.s+"HybridFuPP.avsi"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"LimitedSharpen.avs"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"MultiSwar.avs"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"resize.avsi"+Chr(34)+")") If Int(Val(GetGadgetText(#ntsc)))<>Int(Val(framer.s)) WriteStringN(3,"Import("+Chr(34)+pfilt.s+"MotionProtectedFPS.avsi"+Chr(34)+")") EndIf If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If GetGadgetText(#loadfilter)<>"NONE" : WriteStringN(3,GetGadgetText(#loadfilter)) :EndIf If enco=3 ; "d2v" WriteStringN(3,"mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(3,"avisource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"converttoyv12(interlaced=true)") EndIf If GetGadgetState(#eavi)=0 WriteStringN(3,"directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"converttoyv12(interlaced=true)") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(3,"mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf EndIf WriteStringN(3,"function getOrder(clip c) { ") WriteStringN(3,"order = GetParity(c) ? 1 : 0 ") WriteStringN(3,"Return order } ") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : qmf() : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : qmf() : EndIf Debug("framer.s="+framer.s) If Int(Val(GetGadgetText(#ntsc)))<>Int(Val(framer.s)) WriteStringN(3,"motionprotectedfps("+GetGadgetText(#ntsc)+")") EndIf width.s=StringField(GetGadgetText(#width),1,"/") height.s=StringField(GetGadgetText(#width),2,"/") Debug("width.s="+width.s) Debug("height.s="+height.s) writelog("Width: "+width.s) writelog("Height: "+height.s) OpenFile(3,dest.s+"movie.avs") If GetGadgetText(#ardvd)<>"AUTO" ardvd.s=GetGadgetText(#ardvd) Debug("ardvd<>auto="+GetGadgetText(#ardvd)) EndIf If GetGadgetText(#ardvd)="AUTO" If ar.s="16:9" ardvd.s="16:9" ElseIf ar.s="4:3" ardvd.s="4:3" ElseIf ar.s<>"16:9" Or ar.s<>"4:3" ardvd.s="4:3" EndIf EndIf Debug("ardvd.s="+ardvd.s) writelog("Aspect Ratio: "+ardvd.s) writelog("Final Size: "+sizemb.s+"*"+GetGadgetText(#ncd)) If GetGadgetText(#deint)<>"AUTO" : writelog("Loaded Deinterlacer: "+GetGadgetText(#deint)) : EndIf OpenFile(3,dest.s+"movie.avs") If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" WriteStringN(3,GetGadgetText(#deint)) EndIf If GetGadgetState(#pcrop)=1 WriteStringN(3,"crop("+GetGadgetText(#cleft)+","+GetGadgetText(#ctop)+",-"+GetGadgetText(#cright)+",-"+GetGadgetText(#cbottom)+")") EndIf If GetGadgetState(#greyscale)=1 : WriteStringN(3,"Greyscale()") : EndIf If GetGadgetText(#bres1)<>"" : WriteStringN(3,GetGadgetText(#bres1)) : EndIf If GetGadgetText(#bres2)<>"" : WriteStringN(3,GetGadgetText(#bres2)) : EndIf If GetGadgetText(#bres3)<>"" : WriteStringN(3,GetGadgetText(#bres3)) : EndIf If GetGadgetText(#bres4)<>"" : WriteStringN(3,GetGadgetText(#bres4)) : EndIf If GetGadgetText(#bres5)<>"" : WriteStringN(3,GetGadgetText(#bres5)) : EndIf If GetGadgetText(#bres6)<>"" : WriteStringN(3,GetGadgetText(#bres6)) : EndIf If GetGadgetText(#bres7)<>"" : WriteStringN(3,GetGadgetText(#bres7)) : EndIf Debug("#resizer="+Str(GetGadgetState(#resizer))) If GetGadgetState(#pcrop)=0 WriteStringN(3,"global out_width = "+width.s) WriteStringN(3,"global out_height = "+height.s) Else WriteStringN(3,"global out_width = "+GetGadgetText(#cwidth)) WriteStringN(3,"global out_height = "+GetGadgetText(#cheight)) EndIf If enco<>4 WriteStringN(3,"WIDESCREEN=0") WriteStringN(3,"Overscan=0") If ardvd.s="16:9" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="1.85" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.00" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.21" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.35" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="4:3" : WriteStringN(3,"source_widescreen=0") :EndIf If ardvd.s="1.66" : WriteStringN(3,"source_widescreen=0") :EndIf WriteStringN(3,"WIDTH=out_width") WriteStringN(3,"HEIGHT=out_height") WriteStringN(3,"INTERLACED=true") If GetGadgetState(#pcrop)=0 WriteStringN(3,"SimpleDVDCrop(interlaced)") WriteStringN(3,"SimpleDVDResize(WIDTH, HEIGHT, source_widescreen, WIDESCREEN)") If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize(WIDTH,HEIGHT)") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP(WIDTH,HEIGHT,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf WriteStringN(3,"SimpleAddBorders()") ElseIf GetGadgetState(#pcrop)=1 If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf WriteStringN(3,"addborders("+GetGadgetText(#addl)+","+GetGadgetText(#addt)+","+GetGadgetText(#addr)+","+GetGadgetText(#addb)+")") EndIf EndIf If enco=4 WriteStringN(3,"WIDESCREEN=0") WriteStringN(3,"Overscan=0") If ardvd.s="16:9" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="1.85" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.00" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.21" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="2.35" : WriteStringN(3,"source_widescreen=1") :EndIf If ardvd.s="4:3" : WriteStringN(3,"source_widescreen=0") :EndIf If ardvd.s="1.66" : WriteStringN(3,"source_widescreen=0") :EndIf WriteStringN(3,"WIDTH=out_width") WriteStringN(3,"HEIGHT=out_height") WriteStringN(3,"INTERLACED=true") If GetGadgetText(#ntsc)="NONE" : WriteStringN(3,"converttoyv12(interlaced=true)") : EndIf If GetGadgetState(#pcrop)=0 WriteStringN(3,"DivXResize(WIDTH, HEIGHT, 0, "+Chr(34)+"LanczosResize"+Chr(34)+",WIDESCREEN)") If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf WriteStringN(3,"DivXBorders(HEIGHT,OVERSCAN)") ElseIf GetGadgetState(#pcrop)=1 If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf WriteStringN(3,"addborders("+GetGadgetText(#addl)+","+GetGadgetText(#addt)+","+GetGadgetText(#addr)+","+GetGadgetText(#addb)+")") EndIf EndIf If GetGadgetText(#pres1)<>"" : WriteStringN(3,GetGadgetText(#pres1)) : EndIf If GetGadgetText(#pres2)<>"" : WriteStringN(3,GetGadgetText(#pres2)) : EndIf If GetGadgetText(#pres3)<>"" : WriteStringN(3,GetGadgetText(#pres3)) : EndIf If GetGadgetText(#pres4)<>"" : WriteStringN(3,GetGadgetText(#pres4)) : EndIf If GetGadgetText(#pres5)<>"" : WriteStringN(3,GetGadgetText(#pres5)) : EndIf If GetGadgetText(#pres6)<>"" : WriteStringN(3,GetGadgetText(#pres6)) : EndIf If GetGadgetText(#pres7)<>"" : WriteStringN(3,GetGadgetText(#pres7)) : EndIf If GetGadgetText(#filter1)<>"NONE" If LCase(Mid(GetGadgetText(#filter1),0,3))<>"qmf" If GetGadgetText(#filter1)<>"clean" WriteStringN(3,GetGadgetText(#filter1)) EndIf EndIf EndIf If GetGadgetText(#filter2)<>"NONE" If LCase(Mid(GetGadgetText(#filter2),0,3))<>"qmf" If GetGadgetText(#filter2)<>"clean" WriteStringN(3,GetGadgetText(#filter2)) EndIf EndIf EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" WriteStringN(3,GetGadgetText(#filter3)) EndIf OpenFile(3,dest.s+"movie.avs") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : WriteStringN(3,"QMF()") : writelog("Loaded: QMF"): EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : WriteStringN(3,"QMF()") : writelog("Loaded: QMF"): EndIf If GetGadgetText(#filter1)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter2)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetState(#credit)=1 : WriteStringN(3,"Trim(0,"+Str(Val(GetGadgetText(#scredit))-1)+")") : EndIf CloseFile(3) If enco=9 CreateFile(9,dest.s+"movie.avs") WriteStringN(9,"Import("+Chr(34)+inputfile.s+Chr(34)+")") WriteStringN(9,"#@") WriteStringN(9,"#@") CloseFile(9) EndIf If GetGadgetText(#filter1)<>"NONE" : writelog("Loaded filter: "+GetGadgetText(#filter1)) : EndIf If GetGadgetText(#filter2)<>"NONE" : writelog("Loaded filter: "+GetGadgetText(#filter2)) : EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" : writelog("Loaded filter: "+GetGadgetText(#filter3)) : EndIf If GetGadgetText(#filter1)="NONE" And GetGadgetText(#filter2)="NONE" And GetGadgetText(#filter3)="Write your filter configuration" : writelog("NO filter loaded") : EndIf EndProcedure Procedure script() If GetGadgetState(#avsopt)=1 avsoptimizer() EndIf If GetGadgetText(#width)="Automatic" If GetGadgetText(#cheight)="AUTO" If GetGadgetText(#resizer)<>"NONE" If GetGadgetState(#compcheck)=0 autosize() EndIf EndIf EndIf EndIf If GetGadgetState(#compcheck)=1 autosize() EndIf OpenFile(2,pfilt.s+"Default.avs") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,"LoadPlugin("+Chr(34)+pfilt.s+line.s+Chr(34)+")") Wend CloseFile(2) If avs1.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs1.s+Chr(34)+")") : EndIf If avs2.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs2.s+Chr(34)+")") : EndIf If avs3.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs3.s+Chr(34)+")") : EndIf If avs4.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs4.s+Chr(34)+")") : EndIf If avs5.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs5.s+Chr(34)+")") : EndIf If avs6.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs6.s+Chr(34)+")") : EndIf If avs7.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs7.s+Chr(34)+")") : EndIf If iavs1.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs1.s+Chr(34)+")") : EndIf If iavs2.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs2.s+Chr(34)+")") : EndIf If iavs3.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs3.s+Chr(34)+")") : EndIf If iavs4.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs4.s+Chr(34)+")") : EndIf If iavs5.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs5.s+Chr(34)+")") : EndIf If iavs6.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs6.s+Chr(34)+")") : EndIf If iavs7.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs7.s+Chr(34)+")") : EndIf WriteStringN(3,"Import("+Chr(34)+pfilt.s+"HybridFuPP.avsi"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"LimitedSharpen.avs"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"MultiSwar.avs"+Chr(34)+")") If LCase(Mid(GetGadgetText(#deint),0,5))="mvbob" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"mvbob.avs"+Chr(34)+")") EndIf WriteStringN(3,"Import("+Chr(34)+pfilt.s+"spresso.avs"+Chr(34)+")") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If GetGadgetText(#loadfilter)<>"NONE" : WriteStringN(3,GetGadgetText(#loadfilter)) :EndIf If enco=3 ; "d2v" WriteStringN(3,"movie = mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(3,"movie = avisource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(3,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf If GetGadgetState(#eavi)=0 WriteStringN(3,"movie = directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(3,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(3,"movie = mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" If LCase(Mid(GetGadgetText(#deint),0,5))="mvbob" WriteStringN(3,"movie = "+GetGadgetText(#deint)) EndIf EndIf WriteStringN(3,"function getOrder(clip c) { ") WriteStringN(3,"order = GetParity(c) ? 1 : 0 ") WriteStringN(3,"Return order } ") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : qmf() : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : qmf() : EndIf WriteStringN(3,"cropclip = autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=0,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#width)<>"Automatic" width.s=GetGadgetText(#width) EndIf If GetGadgetText(#cwidth)<>"AUTO" : width.s=GetGadgetText(#cwidth) : EndIf OpenFile(3,dest.s+"movie.avs") If GetGadgetText(#AR)<>"Anamorphic+SAR" If ar.s="16:9" WriteStringN(3,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*16/9)) ElseIf ar.s="4:3" WriteStringN(3,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*4/3)) ElseIf ar.s<>"16:9" Or ar.s<>"4:3" Or ar.s="1:1" WriteStringN(3,"fixed_aspect = 1") EndIf EndIf If GetGadgetText(#AR)="Anamorphic+SAR" WriteStringN(3,"fixed_aspect = 1") EndIf writelog("Final Size: "+sizemb.s+"MB * "+GetGadgetText(#ncd)) If GetGadgetText(#deint)<>"AUTO" : writelog("Loaded Deinterlacer: "+GetGadgetText(#deint)) : EndIf OpenFile(3,dest.s+"movie.avs") Debug("ar.s script="+ar.s) Debug("width="+GetGadgetText(#width)) If GetGadgetText(#widthctest)="AUTO" : WriteStringN(3,"c_width = width(cropclip)") : EndIf If GetGadgetText(#widthctest)<>"AUTO" : WriteStringN(3,"c_width = "+GetGadgetText(#widthctest)) : EndIf If GetGadgetText(#resizer)="NONE" : width.s="720" : EndIf WriteStringN(3,"c_height = Round(height(cropclip) / fixed_aspect)") WriteStringN(3,"input_par = float(float(c_width)/float(c_height))") WriteStringN(3,"input_par = input_par > 1.4 ? input_par : (4.0/3.0)") WriteStringN(3,"out_width = "+width.s) WriteStringN(3,"out_height = Round(float(out_width) / input_par)") WriteStringN(3,"hmod = out_height - (floor(out_height / 16 ) * 16)") WriteStringN(3,"out_height = (hmod > 4) ? (out_height + (16 - hmod)) : (out_height - hmod)") WriteStringN(3,"new_aspect = (float(out_width) / float(out_height)) / fixed_aspect") WriteStringN(3,"autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=new_aspect,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#cwidth)="AUTO" : WriteStringN(3,"global out_width = out_width") : EndIf If GetGadgetText(#cwidth)="AUTO" : WriteStringN(3,"global out_height = out_height") : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(3,"global out_width = "+GetGadgetText(#cwidth)) : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(3,"global out_height = "+GetGadgetText(#cheight)) : EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" WriteStringN(3,GetGadgetText(#deint)) EndIf If GetGadgetText(#deint)="AUTO" If enco=1 Or enco=2 Or enco=0 Or enco=6 If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(3,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(3,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf If enco=3 ; "d2v" If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(3,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(3,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf EndIf If GetGadgetState(#pcrop)=1 WriteStringN(3,"crop(movie,"+GetGadgetText(#cleft)+","+GetGadgetText(#ctop)+",-"+GetGadgetText(#cright)+",-"+GetGadgetText(#cbottom)+")") EndIf If GetGadgetText(#bres1)<>"" : WriteStringN(3,GetGadgetText(#bres1)) : EndIf If GetGadgetText(#bres2)<>"" : WriteStringN(3,GetGadgetText(#bres2)) : EndIf If GetGadgetText(#bres3)<>"" : WriteStringN(3,GetGadgetText(#bres3)) : EndIf If GetGadgetText(#bres4)<>"" : WriteStringN(3,GetGadgetText(#bres4)) : EndIf If GetGadgetText(#bres5)<>"" : WriteStringN(3,GetGadgetText(#bres5)) : EndIf If GetGadgetText(#bres6)<>"" : WriteStringN(3,GetGadgetText(#bres6)) : EndIf If GetGadgetText(#bres7)<>"" : WriteStringN(3,GetGadgetText(#bres7)) : EndIf If GetGadgetState(#greyscale)=1 : WriteStringN(3,"Greyscale()") : EndIf Debug("#resizer="+Str(GetGadgetState(#resizer))) WriteStringN(3,"#@") If GetGadgetState(#avsopt)<>1 If GetGadgetText(#cheight)="AUTO" If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=18 : WriteStringN(3,"MultiSWAR(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=-1 If GetGadgetText(#resizer)<>"NONE" WriteStringN(3,GetGadgetText(#resizer)) EndIf EndIf ElseIf GetGadgetText(#cheight)<>"AUTO" If GetGadgetState(#resizer)=0 : WriteStringN(3,"PointResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(3,"BicubicResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(3,"SimpleResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(3,"BilinearResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(3,"Lanczos4Resize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(3,"LanczosResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(3,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(3,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=18 : WriteStringN(3,"MultiSWAR("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=-1 If GetGadgetText(#resizer)<>"NONE" WriteStringN(3,GetGadgetText(#resizer)) EndIf EndIf WriteStringN(3,"addborders("+GetGadgetText(#addl)+","+GetGadgetText(#addt)+","+GetGadgetText(#addr)+","+GetGadgetText(#addb)+")") EndIf EndIf If GetGadgetText(#resizer)="NONE" WriteStringN(3,"last=movie") WriteStringN(3,"function AddAudio(clip v1) { ") WriteStringN(3,"v2 = Blankclip() ") WriteStringN(3,"v1 = AudioDub(v1,v2) ") WriteStringN(3,"Return v1 ") WriteStringN(3,"}") WriteStringN(3,"addaudio()") EndIf WriteStringN(3,"#@") If GetGadgetText(#pres1)<>"" : WriteStringN(3,GetGadgetText(#pres1)) : EndIf If GetGadgetText(#pres2)<>"" : WriteStringN(3,GetGadgetText(#pres2)) : EndIf If GetGadgetText(#pres3)<>"" : WriteStringN(3,GetGadgetText(#pres3)) : EndIf If GetGadgetText(#pres4)<>"" : WriteStringN(3,GetGadgetText(#pres4)) : EndIf If GetGadgetText(#pres5)<>"" : WriteStringN(3,GetGadgetText(#pres5)) : EndIf If GetGadgetText(#pres6)<>"" : WriteStringN(3,GetGadgetText(#pres6)) : EndIf If GetGadgetText(#pres7)<>"" : WriteStringN(3,GetGadgetText(#pres7)) : EndIf If GetGadgetText(#filter1)<>"NONE" If LCase(Mid(GetGadgetText(#filter1),0,3))<>"qmf" If GetGadgetText(#filter1)<>"clean" If LCase(Mid(GetGadgetText(#filter1),0,4))<>"def-" WriteStringN(3,GetGadgetText(#filter1)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter2)<>"NONE" If LCase(Mid(GetGadgetText(#filter2),0,3))<>"qmf" If GetGadgetText(#filter2)<>"clean" If LCase(Mid(GetGadgetText(#filter2),0,4))<>"def-" WriteStringN(3,GetGadgetText(#filter2)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" WriteStringN(3,GetGadgetText(#filter3)) EndIf OpenFile(3,dest.s+"movie.avs") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : WriteStringN(3,"QMF()") : writelog("Loaded: QMF"): EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : WriteStringN(3,"QMF()") : writelog("Loaded: QMF"): EndIf If LCase(Mid(GetGadgetText(#filter1),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter1)) OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If LCase(Mid(GetGadgetText(#filter2),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter2)) OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter1)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter2)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"movie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetState(#credit)=1 : WriteStringN(3,"Trim(0,"+Str(Val(GetGadgetText(#scredit))-1)+")") : EndIf CloseFile(3) If enco=9 CreateFile(9,dest.s+"movie.avs") WriteStringN(9,"Import("+Chr(34)+inputfile.s+Chr(34)+")") WriteStringN(9,"#@") WriteStringN(9,"#@") CloseFile(9) EndIf If GetGadgetState(#avsopt)=1 CreateFile(3,dest.s+"par.txt") WriteStringN(3,"LOGFILE <"+dest.s+"output.log>") WriteStringN(3,"KSTD <"+GetGadgetText(#kstd)+">") WriteStringN(3,"MIN <"+GetGadgetText(#MINn)+">") WriteStringN(3,"SENS <"+GetGadgetText(#sens)+">") WriteStringN(3,"NUMZONES <7>");"+GetGadgetText(#numzones)+">") If GetGadgetText(#filterzone1)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone1)+"."+GetGadgetText(#filterzone1)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone1)+">") EndIf If GetGadgetText(#filterzone2)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone2)+"."+GetGadgetText(#filterzone2)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone2)+">") EndIf If GetGadgetText(#filterzone3)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone3)+"."+GetGadgetText(#filterzone3)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone3)+">") EndIf If GetGadgetText(#filterzone4)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone4)+"."+GetGadgetText(#filterzone4)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone4)+">") EndIf If GetGadgetText(#filterzone5)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone5)+"."+GetGadgetText(#filterzone5)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone5)+">") EndIf If GetGadgetText(#filterzone6)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone6)+"."+GetGadgetText(#filterzone6)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone6)+">") EndIf If GetGadgetText(#filterzone7)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone7)+"."+GetGadgetText(#filterzone7)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone7)+">") EndIf WriteStringN(3,"VIRTUALDUBMODPATH <"+pexe.s+"VDubMod\VirtualDubMod.exe>") CloseFile(3) writelog(pexe.s+"encoder\HGAVSOptimizer.exe "+dest.s+"par.txt "+dest.s+"movie.avs "+dest.s+"okmovie.avs") CreateDirectory(dest.s+"temp") CreateFile(4,dest.s+"avsopt.bat") WriteStringN(4,Chr(34)+pexe.s+"encoder\HGAVSOptimizer.exe"+Chr(34)+" "+dest.s+"par.txt "+dest.s+"movie.avs "+dest.s+"okmovie.avs") CloseFile(4) minz.l=0 If GetGadgetState(#minimized)=1 :minz.l=0: thread1vdm=CreateThread(@minimized(),"virtual") : EndIf RunProgram(dest.s+"avsopt.bat","","",#PB_Program_Wait) If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1vdm) : EndIf del.s=dest.s+"movie.avs" DeleteFile(del.s) IN.s=dest.s+"okmovie.avs" OUT.s=dest.s+"movie.avs" CopyFile(IN.s,OUT.s) del.s=dest.s+"okmovie.avs" DeleteFile(del.s) EndIf If GetGadgetText(#filter1)<>"NONE" : writelog("Loaded filter: "+GetGadgetText(#filter1)) : EndIf If GetGadgetText(#filter2)<>"NONE" : writelog("Loaded filter: "+GetGadgetText(#filter2)) : EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" : writelog("Loaded filter: "+GetGadgetText(#filter3)) : EndIf If GetGadgetText(#filter1)="NONE" And GetGadgetText(#filter2)="NONE" And GetGadgetText(#filter3)="Write your filter configuration" : writelog("NO filter loaded") : EndIf EndProcedure Procedure autosize() If framer.s="" : framer.s="25.00000" : EndIf If GetGadgetState(#avsopt)=1 writelog("Start AutoSize Optimized Resolution Test") OpenFile(2,dest.s+"output.avs") OpenFile(3,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) WriteStringN(3,"function Comptest(clip c, float percent)") WriteStringN(3,"{") WriteStringN(3,"frange=floor(14./(percent/100.))") WriteStringN(3,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(3,"}") WriteStringN(3,"Comptest("+GetGadgetText(#compper)+")") CloseFile(3) EndIf If GetGadgetState(#avsopt)=0 OpenFile(2,pfilt.s+"Default.avs") OpenFile(9,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,"LoadPlugin("+Chr(34)+pfilt.s+line.s+Chr(34)+")") Wend CloseFile(2) If avs1.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs1.s+Chr(34)+")") : EndIf If avs2.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs2.s+Chr(34)+")") : EndIf If avs3.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs3.s+Chr(34)+")") : EndIf If avs4.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs4.s+Chr(34)+")") : EndIf If avs5.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs5.s+Chr(34)+")") : EndIf If avs6.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs6.s+Chr(34)+")") : EndIf If avs7.s<>"" : WriteStringN(9,"LoadPlugin("+Chr(34)+avs7.s+Chr(34)+")") : EndIf If iavs1.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs1.s+Chr(34)+")") : EndIf If iavs2.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs2.s+Chr(34)+")") : EndIf If iavs3.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs3.s+Chr(34)+")") : EndIf If iavs4.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs4.s+Chr(34)+")") : EndIf If iavs5.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs5.s+Chr(34)+")") : EndIf If iavs6.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs6.s+Chr(34)+")") : EndIf If iavs7.s<>"" : WriteStringN(9,"Import("+Chr(34)+iavs7.s+Chr(34)+")") : EndIf WriteStringN(9,"Import("+Chr(34)+pfilt.s+"HybridFuPP.avsi"+Chr(34)+")") WriteStringN(9,"Import("+Chr(34)+pfilt.s+"LimitedSharpen.avs"+Chr(34)+")") WriteStringN(9,"Import("+Chr(34)+pfilt.s+"MultiSwar.avs"+Chr(34)+")") If LCase(Mid(GetGadgetText(#deint),0,5))="mvbob" WriteStringN(9,"Import("+Chr(34)+pfilt.s+"mvbob.avs"+Chr(34)+")") EndIf If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" WriteStringN(9,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf WriteStringN(9,"Import("+Chr(34)+pfilt.s+"spresso.avs"+Chr(34)+")") If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" WriteStringN(9,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If GetGadgetText(#loadfilter)<>"NONE" : WriteStringN(9,GetGadgetText(#loadfilter)) :EndIf If enco=3 ; "d2v" WriteStringN(9,"movie = mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(9,"movie = avisource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(9,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(9,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf If GetGadgetState(#eavi)=0 WriteStringN(9,"movie = directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(9,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(9,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(9,"movie = mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" If LCase(Mid(GetGadgetText(#deint),0,5))="mvbob" WriteStringN(9,"movie = "+GetGadgetText(#deint)) EndIf EndIf WriteStringN(9,"function getOrder(clip c) { ") WriteStringN(9,"order = GetParity(c) ? 1 : 0 ") WriteStringN(9,"Return order } ") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : qmf1() : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : qmf1() : EndIf WriteStringN(9,"cropclip = autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=0,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#AR)<>"Anamorphic+SAR" If ar.s="16:9" WriteStringN(9,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*16/9)) ElseIf ar.s="4:3" WriteStringN(9,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*4/3)) ElseIf ar.s<>"16:9" Or ar.s<>"4:3" Or ar.s="1:1" WriteStringN(9,"fixed_aspect = 1") EndIf EndIf If GetGadgetText(#AR)="Anamorphic+SAR" WriteStringN(9,"fixed_aspect = 1") EndIf Debug("ar.s autosize="+ar.s) Debug("width="+GetGadgetText(#width)) WriteStringN(9,"c_width = width(cropclip)") WriteStringN(9,"c_height = Round(height(cropclip) / fixed_aspect)") WriteStringN(9,"input_par = float(float(c_width)/float(c_height))") WriteStringN(9,"input_par = input_par > 1.4 ? input_par : (4.0/3.0)") If GetGadgetText(#widthctest)="AUTO" : WriteStringN(9,"out_width = "+twidth.s) : EndIf If GetGadgetText(#widthctest)<>"AUTO" : WriteStringN(9,"out_width = "+GetGadgetText(#widthctest)) : EndIf WriteStringN(9,"out_height = Round(float(out_width) / input_par)") WriteStringN(9,"hmod = out_height - (floor(out_height / 16 ) * 16)") WriteStringN(9,"out_height = (hmod > 4) ? (out_height + (16 - hmod)) : (out_height - hmod)") WriteStringN(9,"new_aspect = (float(out_width) / float(out_height)) / fixed_aspect") WriteStringN(9,"autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=new_aspect,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#cwidth)="AUTO" : WriteStringN(9,"global out_width = out_width") : EndIf If GetGadgetText(#cwidth)="AUTO" : WriteStringN(9,"global out_height = out_height") : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(9,"global out_width = "+GetGadgetText(#cwidth)) : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(9,"global out_height = "+GetGadgetText(#cheight)) : EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" WriteStringN(9,GetGadgetText(#deint)) EndIf If GetGadgetText(#deint)="AUTO" If enco=1 Or enco=2 Or enco=0 Or enco=6 If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(9,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(9,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf If enco=3 ; "d2v" If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(9,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(9,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf EndIf If GetGadgetState(#pcrop)=1 WriteStringN(9,"crop(movie,"+GetGadgetText(#cleft)+","+GetGadgetText(#ctop)+",-"+GetGadgetText(#cright)+",-"+GetGadgetText(#cbottom)+")") EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 If telecine.l=1 : WriteStringN(9,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf EndIf If enco=3 ; "d2v" If telecine.l=1 : WriteStringN(9,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf EndIf If GetGadgetText(#bres1)<>"" : WriteStringN(9,GetGadgetText(#bres1)) : EndIf If GetGadgetText(#bres2)<>"" : WriteStringN(9,GetGadgetText(#bres2)) : EndIf If GetGadgetText(#bres3)<>"" : WriteStringN(9,GetGadgetText(#bres3)) : EndIf If GetGadgetText(#bres4)<>"" : WriteStringN(9,GetGadgetText(#bres4)) : EndIf If GetGadgetText(#bres5)<>"" : WriteStringN(9,GetGadgetText(#bres5)) : EndIf If GetGadgetText(#bres6)<>"" : WriteStringN(9,GetGadgetText(#bres6)) : EndIf If GetGadgetText(#bres7)<>"" : WriteStringN(9,GetGadgetText(#bres7)) : EndIf If GetGadgetState(#greyscale)=1 : WriteStringN(9,"Greyscale()") : EndIf If GetGadgetText(#cheight)="AUTO" If GetGadgetState(#resizer)=0 : WriteStringN(9,"PointResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(9,"BicubicResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(9,"SimpleResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(9,"BilinearResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(9,"Lanczos4Resize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(9,"LanczosResize(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(9,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(9,"HybridFuPP(out_width,out_height,preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=18 : WriteStringN(9,"MultiSWAR(out_width,out_height)") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(9,GetGadgetText(#resizer)) : EndIf ElseIf GetGadgetText(#cheight)<>"AUTO" If GetGadgetState(#resizer)=0 : WriteStringN(9,"PointResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=1 : WriteStringN(9,"BicubicResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=2 : WriteStringN(9,"SimpleResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=3 : WriteStringN(9,"BilinearResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=4 : WriteStringN(9,"Lanczos4Resize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=5 : WriteStringN(9,"LanczosResize("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=6 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=7 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"low"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=8 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"medium"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=9 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=10 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=11 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"HybridQ"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=12 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime1"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=13 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"anime2"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=14 : WriteStringN(9,GetGadgetText(#resizer)) : EndIf If GetGadgetState(#resizer)=15 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=2)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=16 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=25)"+Chr(34)+",M="+Chr(34)+"fft3dfilter(sigma=0.5, sharpen=0.5)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=17 : WriteStringN(9,"HybridFuPP("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+",preset="+Chr(34)+"very high"+Chr(34)+",N2="+Chr(34)+"RemoveGrain(mode=3)"+Chr(34)+",M="+Chr(34)+"RemoveGrain(mode=17)"+Chr(34)+")") : EndIf If GetGadgetState(#resizer)=19 : WriteStringN(9,"MultiSWAR("+GetGadgetText(#cwidth)+","+GetGadgetText(#cheight)+")") : EndIf If GetGadgetState(#resizer)=-1 : WriteStringN(9,GetGadgetText(#resizer)) : EndIf WriteStringN(9,"addborders("+GetGadgetText(#addl)+","+GetGadgetText(#addt)+","+GetGadgetText(#addr)+","+GetGadgetText(#addb)+")") EndIf Debug ("filter1="+GetGadgetText(#filter1)) Debug ("filter2="+GetGadgetText(#filter2)) If GetGadgetText(#pres1)<>"" : WriteStringN(9,GetGadgetText(#pres1)) : EndIf If GetGadgetText(#pres2)<>"" : WriteStringN(9,GetGadgetText(#pres2)) : EndIf If GetGadgetText(#pres3)<>"" : WriteStringN(9,GetGadgetText(#pres3)) : EndIf If GetGadgetText(#pres4)<>"" : WriteStringN(9,GetGadgetText(#pres4)) : EndIf If GetGadgetText(#pres5)<>"" : WriteStringN(9,GetGadgetText(#pres5)) : EndIf If GetGadgetText(#pres6)<>"" : WriteStringN(9,GetGadgetText(#pres6)) : EndIf If GetGadgetText(#pres7)<>"" : WriteStringN(9,GetGadgetText(#pres7)) : EndIf If GetGadgetText(#filter1)<>"NONE" If LCase(Mid(GetGadgetText(#filter1),0,3))<>"qmf" If GetGadgetText(#filter1)<>"clean" If LCase(Mid(GetGadgetText(#filter1),0,4))<>"def-" WriteStringN(9,GetGadgetText(#filter1)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter2)<>"NONE" If LCase(Mid(GetGadgetText(#filter2),0,3))<>"qmf" If GetGadgetText(#filter2)<>"clean" If LCase(Mid(GetGadgetText(#filter2),0,4))<>"def-" WriteStringN(9,GetGadgetText(#filter2)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" WriteStringN(9,GetGadgetText(#filter3)) EndIf If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : WriteStringN(9,"QMF()") : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : WriteStringN(9,"QMF()") : EndIf If LCase(Mid(GetGadgetText(#filter1),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter1)) OpenFile(9,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend CloseFile(2) EndIf If LCase(Mid(GetGadgetText(#filter2),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter2)) OpenFile(9,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter1)="clean" OpenFile(2,pscript.s+"clean") OpenFile(9,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter2)="clean" OpenFile(2,pscript.s+"clean") OpenFile(9,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(9,line.s) Wend CloseFile(2) EndIf If GetGadgetState(#credit)=1 : WriteStringN(9,"Trim(0,"+Str(Val(GetGadgetText(#scredit))-1)+")") : EndIf WriteStringN(9,"function Comptest(clip c, float percent)") WriteStringN(9,"{") WriteStringN(9,"frange=floor(14./(percent/100.))") WriteStringN(9,"Return SelectRangeEvery(c, frange, 14)") WriteStringN(9,"}") WriteStringN(9,"Comptest("+GetGadgetText(#compper)+")") CloseFile(9) EndIf If enco=9 CreateFile(9,dest.s+"resmovie.avs") WriteStringN(9,"version()") CloseFile(9) writelog("Fake AutoResize Routines") EndIf Debug ("choosecodec="+Str(GetGadgetState(#choosecodec))) If GetGadgetState(#minimized)=1 : minz.l=0 : thread1avs=CreateThread(@minimized(),pexe.s) : EndIf Select GetGadgetState(#choosecodec) Case 5 RunProgram("reg"," import "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","encoding_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","quantizer",GetGadgetText(#x264dqbit),#REG_DWORD,"") writelog("Starting Autosize procedure") writelog("Compression Test Quant.: "+GetGadgetText(#x264dqbit)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0") writelog("Finished Autosize procedure") Case 6 RunProgram("reg"," import "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","encoding_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","quantizer",GetGadgetText(#x264dqbit),#REG_DWORD,"") writelog("Starting Autosize procedure") writelog("Compression Test Quant.: "+GetGadgetText(#x264dqbit)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0") writelog("Finished Autosize procedure") Case 7 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264res.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) writelog("Starting Autosize procedure") writelog("Compression Test Quant.: "+GetGadgetText(#x264dqbit)) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","encoding_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","quantizer",GetGadgetText(#x264dqbit),#REG_DWORD,"") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0") writelog("Finished Autosize procedure") Case 8 RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\x264res.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) writelog("Starting Autosize procedure") writelog("Compression Test Quant.: "+GetGadgetText(#x264dqbit)) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","encoding_type","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","quantizer",GetGadgetText(#x264dqbit),#REG_DWORD,"") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c x264 -p 0") writelog("Finished Autosize procedure") Case 9 writelog("Starting Autosize procedure") writelog("Compression Test CRF: "+GetGadgetText(#x264dqbit)) x264cmdq() CreateFile(0,dest.s+"x264cmdq.bat") WriteStringN(0,pexe.s+"encoder\x264.exe"+x264.s) CloseFile(0) RunProgram(pexe.s+"encoder\x264.exe ",x264.s,"",#PB_Program_Wait) writelog("Finished Autosize procedure") Case 10 sizembd.f=ValF(Dimb.s)*1024*1024 bitrate.s=Str(Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*0.995)/(tsec.l)*8)/1024)) writelog("Starting Autosize procedure") writelog("Compression Test Bitrate: "+bitrate.s) xvidcmdq() RunProgram(dest.s+"xvidcmptest.bat","","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"xvidcmd.s") writelog("Finished Autosize procedure") Case 11 sizembd.f=ValF(Dimb.s)*1024*1024 bitrate.s=Str(Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*0.995)/(tsec.l)*8)/1024)) If FileSize(dest.s+"conf1.pass")=-1 MessageRequester("AutoResize Encoding Pass","For your information: average bitrate computed is "+bitrate.s,#PB_MessageRequester_Ok) EndIf writelog("Starting Autosize procedure") writelog("Compression Test 2 Pass Manual VFW Codec") If FileSize(dest.s+"conf1.pass")=-1 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0 -P 2","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -P 2") EndIf If FileSize(dest.s+"conf1.pass")>2 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34)) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34),"",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c -p 0 -l "+Chr(34)+dest.s+"conf2.pass"+Chr(34)) EndIf writelog("Finished Autosize procedure") Case 12 sizembd.f=ValF(Dimb.s)*1024*1024 bitrate.s=Str(Int((((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)*0.995)/(tsec.l)*8)/1024)) If FileSize(dest.s+"conf1.pass")=-1 MessageRequester("AutoResize Encoding Pass","For your information: average bitrate computed is "+bitrate.s,#PB_MessageRequester_Ok) EndIf writelog("Starting Autosize procedure") writelog("Compression Test 1 Pass Manual VFW Codec") If FileSize(dest.s+"conf1.pass")=-1 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0","",#PB_Program_Wait) EndIf If FileSize(dest.s+"conf1.pass")>2 RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -p 0 -l "+Chr(34)+dest.s+"conf1.pass"+Chr(34)) EndIf writelog("Finished Autosize procedure") Default writelog("Starting Autosize procedure") writelog("Making a Compression Test against Quantitizer of: "+StrF(ValF(GetGadgetText(#xvidqbit)),1)) RunProgram("reg"," import "+Chr(34)+pexe.s+"xvidreg\rescheck.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","desired_quant",StrF(ValF(GetGadgetText(#xvidqbit))*100,0),#REG_DWORD,"") RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c xvid -p 0","",#PB_Program_Wait) writelog("Testing String "+pexe.s+"encoder\avs2avi.exe "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" "+Chr(34)+dest.s+"resmovie.avi"+Chr(34)+" -w -c xvid -p 0") writelog("Finished Autosize procedure") EndSelect resmoviesize.l=FileSize(dest.s+"resmovie.avi") If GetGadgetState(#choosecodec)=9 resmoviesize.l=FileSize(dest.s+"resmovie.mp4") EndIf Debug ("resmoviesize.l="+Str(resmoviesize.l)) If bps.l=1 : Dimb.s="5000" : EndIf If GetGadgetState(#compcheck)=1 If GetGadgetText(#audiobit1)="96" : audiosz1.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit1)="112" : audiosz1.l=tsec.l*1024*112/8 : EndIf If GetGadgetText(#audiobit1)="128" : audiosz1.l=tsec.l*1024*128/8 : EndIf If GetGadgetText(#audiobit1)="144" : audiosz1.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit1)="160" : audiosz1.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit1)="176" : audiosz1.l=tsec.l*1024*176/8 : EndIf If GetGadgetText(#audiobit1)="192" : audiosz1.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiobit1)="208" : audiosz1.l=tsec.l*1024*208/8 : EndIf If GetGadgetText(#audiobit1)="224" : audiosz1.l=tsec.l*1024*224/8 : EndIf If GetGadgetText(#audiobit1)="Quality 0" : audiosz1.l=tsec.l*1024*16/8 : EndIf If GetGadgetText(#audiobit1)="Quality 1" : audiosz1.l=tsec.l*1024*32/8 : EndIf If GetGadgetText(#audiobit1)="Quality 2" : audiosz1.l=tsec.l*1024*64/8 : EndIf If GetGadgetText(#audiobit1)="Quality 3" : audiosz1.l=tsec.l*1024*80/8 : EndIf If GetGadgetText(#audiobit1)="Quality 4" : audiosz1.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit1)="Quality 5" : audiosz1.l=tsec.l*1024*128/8 : EndIf If GetGadgetText(#audiobit1)="Quality 6" : audiosz1.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit1)="Quality 7" : audiosz1.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit1)="Quality 8" : audiosz1.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiobit1)="Quality 9" : audiosz1.l=tsec.l*1024*208/8 : EndIf If GetGadgetText(#audiobit1)="Quality 10" : audiosz1.l=tsec.l*1024*224/8 : EndIf If GetGadgetText(#audiobit1)="Tape" : audiosz1.l=tsec.l*1024*16/8 : EndIf If GetGadgetText(#audiobit1)="Radio" : audiosz1.l=tsec.l*1024*32/8 : EndIf If GetGadgetText(#audiobit1)="Internet" : audiosz1.l=tsec.l*1024*48/8 : EndIf If GetGadgetText(#audiobit1)="Streaming" : audiosz1.l=tsec.l*1024*64/8 : EndIf If GetGadgetText(#audiobit1)="Normal" : audiosz1.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit1)="Extreme" : audiosz1.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit1)="Audiophile" : audiosz1.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit1)="Transcoding" : audiosz1.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiocodec1)="Copy Original" : audiosz1.l=tsec.l*1024*360/8 : EndIf If GetGadgetText(#audiobit2)="96" : audiosz2.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit2)="112" : audiosz2.l=tsec.l*1024*112/8 : EndIf If GetGadgetText(#audiobit2)="128" : audiosz2.l=tsec.l*1024*128/8: EndIf If GetGadgetText(#audiobit2)="144" : audiosz2.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit2)="160" : audiosz2.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit2)="176" : audiosz2.l=tsec.l*1024*176/8 : EndIf If GetGadgetText(#audiobit2)="192" : audiosz2.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiobit2)="208" : audiosz2.l=tsec.l*1024*208/8 : EndIf If GetGadgetText(#audiobit2)="224" : audiosz2.l=tsec.l*1024*224/8 : EndIf If GetGadgetText(#audiobit2)="Quality 0" : audiosz2.l=tsec.l*1024*16/8 : EndIf If GetGadgetText(#audiobit2)="Quality 1" : audiosz2.l=tsec.l*1024*32/8 : EndIf If GetGadgetText(#audiobit2)="Quality 2" : audiosz2.l=tsec.l*1024*64/8 : EndIf If GetGadgetText(#audiobit2)="Quality 3" : audiosz2.l=tsec.l*1024*80/8 : EndIf If GetGadgetText(#audiobit2)="Quality 4" : audiosz2.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit2)="Quality 5" : audiosz2.l=tsec.l*1024*128/8 : EndIf If GetGadgetText(#audiobit2)="Quality 6" : audiosz2.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit2)="Quality 7" : audiosz2.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit2)="Quality 8" : audiosz2.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiobit2)="Quality 9" : audiosz2.l=tsec.l*1024*208/8 : EndIf If GetGadgetText(#audiobit2)="Quality 10" : audiosz2.l=tsec.l*1024*224/8 : EndIf If GetGadgetText(#audiobit2)="Tape" : audiosz2.l=tsec.l*1024*16/8 : EndIf If GetGadgetText(#audiobit2)="Radio" : audiosz2.l=tsec.l*1024*32/8 : EndIf If GetGadgetText(#audiobit2)="Internet" : audiosz2.l=tsec.l*1024*48/8 : EndIf If GetGadgetText(#audiobit2)="Streaming" : audiosz2.l=tsec.l*1024*64/8 : EndIf If GetGadgetText(#audiobit2)="Normal" : audiosz2.l=tsec.l*1024*96/8 : EndIf If GetGadgetText(#audiobit2)="Extreme" : audiosz2.l=tsec.l*1024*144/8 : EndIf If GetGadgetText(#audiobit2)="Audiophile" : audiosz2.l=tsec.l*1024*160/8 : EndIf If GetGadgetText(#audiobit2)="Transcoding" : audiosz2.l=tsec.l*1024*192/8 : EndIf If GetGadgetText(#audiocodec2)="Copy Original" : audiosz2.l=tsec.l*1024*360/8 : EndIf EndIf res0.f=ValF(twidth.s) res1.f=ValF(Dimb.s)*1024*1024 res2.f=audiosz1.l+audiosz2.l+subssize1.l/2+1 res3.f=(resmoviesize.l*13.2)/(ValF(GetGadgetText(#compper))/5) ;writelog("res0.f="+StrF(res0.f)+" : res1.f="+StrF(res1.f)+" : res2.f="+StrF(res2.f)+" : res3.f="+StrF(res3.f)) res.f=res0.f*(((res1.f-res2.f)/0.99)/(res3.f)) ;res.f=ValF(twidth.s)*(((ValF(Dimb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)/0.99)/(resmoviesize.l*13/(ValF(GetGadgetText(#compper))/5))) If GetGadgetState(#avsopt)=1 res.f=res0.f*(((res1.f-res2.f)/0.99)/(res3.f*0.85)) ;res.f=ValF(twidth.s)*(((ValF(Dimb.s)*1024*1024-audiosz1.l-audiosz2.l-subssize1.l/2)*0.99)/(resmoviesize.l*11/(ValF(GetGadgetText(#compper))/5))) EndIf Debug ("res="+StrF(res.f)) Debug("audiosz2.l="+Str(audiosz2.l)) width.s=Str(Int((res.f+16)/16)*16) If GetGadgetState(#compcheck)=1 ;If you write here 0 only the CT is done regardless of any CT results. ;If you write here 101 the CT is accepted regardless of any CT results compcheck.f=Val(width.s)*0.95/Val(GetGadgetText(#widthctest))*100 writelog(" ") writelog("Script Resmovie.avs ") writelog(" ") OpenFile(2,dest.s+"resmovie.avs") While Eof(2) = 0 line.s = ReadString(2) writelog(line.s) Wend CloseFile(2) If GetGadgetText(#compthre)="0" writelog(" ") writelog("Compression Test Only results: "+StrF(compcheck.f)) writelog("Break due to CT") End EndIf If GetGadgetText(#compthre)="101" writelog(" ") writelog("Compression Test Only results: "+StrF(compcheck.f)+" accept always") SetGadgetState(#compcheck,0) SetGadgetText(#width,width.s) If progressive.l=1 : SetGadgetText(#deint,"NONE") : EndIf writelog("---- Restarting Encoding ----") lancia() EndIf If Val(GetGadgetText(#compthre))<=compcheck.f And GetGadgetText(#compthre)<>"101" writelog(" ") writelog("Compression Test Only results: "+StrF(compcheck.f)+" accepted") SetGadgetState(#compcheck,0) SetGadgetText(#width,GetGadgetText(#widthctest)) If progressive.l=1 : SetGadgetText(#deint,"NONE") : EndIf writelog("---- Restarting Encoding ----") lancia() EndIf If Val(GetGadgetText(#compthre))>compcheck.f And GetGadgetText(#compthre)<>"101" writelog(" ") writelog("Compression Test Only results: "+StrF(compcheck.f)+" rejected") writelog("Break due to CT failed") End EndIf EndIf If GetGadgetText(#widthctest)="AUTO" : writelog("Make a test against Width: "+twidth.s) : EndIf If GetGadgetText(#widthctest)<>"AUTO" writelog("Make a test against a Width: "+GetGadgetText(#widthctest)) twidth1.s=GetGadgetText(#widthctest) EndIf writelog("Tested total movie: "+GetGadgetText(#compper)+"%") writelog("Movie Width Computed: "+width.s) If GetGadgetState(#avsopt)<>1 writelog("Resolution Formula: "+twidth.s+"*((("+Dimb.s+"*1024*1024-"+Str(audiosz1.l)+"-"+Str(audiosz2.l)+"-"+Str(subssize1.l)+"/2)*0.99)/("+Str(resmoviesize.l)+"*13/("+GetGadgetText(#compper)+"/5)))") Else writelog("Resolution Formula: "+twidth.s+"*((("+Dimb.s+"*1024*1024-"+Str(audiosz1.l)+"-"+Str(audiosz2.l)+"-"+Str(subssize1.l)+"/2)*0.99)/("+Str(resmoviesize.l)+"*11/("+GetGadgetText(#compper)+"/5)))") EndIf Debug("width.s="+width.s) If ValF(width.s) >Val(twidth.s)*1.3 use_bvop.s="0" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","0",#REG_DWORD,"") SetGadgetText(#xmax_bframes,"0") If GetGadgetState(#choosecodec)<>9 : writelog("B-Frames: turned off") : EndIf width.s=twidth.s writelog("Movie Width resized to: "+width.s) EndIf If ValF(width.s) >Val(twidth1.s) And ValF(width.s)<=Val(twidth1.s)*1.3 width.s=twidth.s use_bvop.s="1" Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","use_bvop","1",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","vhq_bframe","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\XviD","packed","0",#REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER,"Software\GNU\x264","bmax","1",#REG_DWORD,"") SetGadgetText(#xmax_bframes,"1") If GetGadgetState(#choosecodec)<>9 : writelog("Turned Max #B Frames in row to 1") : EndIf EndIf If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1avs) : EndIf If Val(width.s)<16 writelog("Warning !!! - Too low resolution. Set witdh to "+Str((Val(twidth.s)/3))) width.s=Str(Int(Int(Val(twidth.s)/3)/16)*16) EndIf If Val(width.s) < Val(GetGadgetText(#minres)) writelog("Computed resolution less than minimum. Setting Width to "+GetGadgetText(#minres)) width.s=GetGadgetText(#minres) EndIf If Val(width.s) > Val(GetGadgetText(#maxres)) If Val(GetGadgetText(#width)) < Val(GetGadgetText(#maxres)) writelog("Computed resolution bigger than maximum. Setting Width to "+GetGadgetText(#maxres)) width.s=GetGadgetText(#maxres) EndIf EndIf EndProcedure Procedure qmf1() If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter1)) OpenFile(9,dest.s+"resmovie.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(9,line.s) Wend CloseFile(4) EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter2)) OpenFile(9,dest.s+"resmovie.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(9,line.s) Wend CloseFile(4) EndIf EndProcedure Procedure qmf2() If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter1)) OpenFile(9,dest.s+"avsopt.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(9,line.s) Wend CloseFile(4) EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter2)) OpenFile(3,dest.s+"avsopt.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(3,line.s) Wend CloseFile(4) EndIf EndProcedure Procedure qmf() If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter1)) OpenFile(3,dest.s+"movie.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(3,line.s) Wend CloseFile(4) EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" OpenFile(4,pscript.s+GetGadgetText(#filter2)) OpenFile(3,dest.s+"movie.avs") While Eof(4) = 0 line.s = ReadString(4) WriteStringN(3,line.s) Wend CloseFile(4) EndIf EndProcedure Procedure fixd2v() Debug("sono in fixd2v") Debug("audio1d2v="+audio1d2v.s) Debug("audio2d2v="+audio2d2v.s) If audio1d2v.s<>"" writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1."+GetExtensionPart(audio1d2v.s)+Chr(34)+" "+Chr(34)+audio1d2v.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1."+GetExtensionPart(audio1d2v.s)+Chr(34)+" "+Chr(34)+audio1d2v.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1."+GetExtensionPart(audio1d2v.s) EndIf If audio2d2v.s<>"" writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2."+GetExtensionPart(audio2d2v.s)+Chr(34)+" "+Chr(34)+audio2d2v.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2."+GetExtensionPart(audio2d2v.s)+Chr(34)+" "+Chr(34)+audio2d2v.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2."+GetExtensionPart(audio2d2v.s) EndIf Debug("audiotr1.s="+audiotr1.s) Debug("audiotr2.s="+audiotr2.s) If GetGadgetState(#compcheck)=0 normalize1() normalize2() If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() :EndIf If GetGadgetText(#audiotracks2)<>"NONE" : audio2encode() :EndIf EndIf EndProcedure Procedure findelay() If ExamineDirectory(0,dest.s,"*.*") Repeat type=NextDirectoryEntry(0) If type=1 ; File. a$=dir$+LCase(DirectoryEntryName(0)) Debug("a$="+a$) If FindString(a$,"delay",1) If FindString(a$,"delay -",1) pos=FindString(a$,"delay -",1) pos1=FindString(a$,"ms.",1) del1.s=Mid(a$,pos+6,pos1-pos-6) Debug("del1.s="+del1.s) Else pos2=FindString(a$,"delay ",1) pos3=FindString(a$,"ms.",1) Debug("pos2="+Str(pos2)) Debug("pos3="+Str(pos3)) del3.s=Mid(a$,pos2+6,pos3-pos2-6) Debug("del3.s="+del3.s) EndIf EndIf EndIf Until type=0 EndIf EndProcedure Procedure fix() audiostate1.l=GetGadgetState(#audiotracks1) audiostate2.l=GetGadgetState(#audiotracks2) writelog("Starting fixing audio delay on track number "+Str(audiostate1.l)) If FileSize(dest.s+"movie T0"+Str(audiostate1.l)+"*.*")=-1 audiostate1.l=GetGadgetState(#audiotracks1)+1 writelog("No audio found at track number "+Str(GetGadgetState(#audiotracks1))+" switch to track "+Str(audiostate1.l)) EndIf Debug("file.s="+file.s) ExamineDirectory(0,dest.s,"*.*") Repeat type=NextDirectoryEntry(0) If type=1 ; File. file.s=DirectoryEntryName(0) If GetExtensionPart(file.s)="dts" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" If FindString(file.s,"movie T0"+Str(audiostate1.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.dts" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s dts-1="+file.s) EndIf If FindString(file.s,"movie T0"+Str(audiostate2.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.dts" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s dts-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="ac3" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" If FindString(file.s,"movie T0"+Str(audiostate1.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.ac3" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s ac3-1="+file.s) EndIf If FindString(file.s,"movie T0"+Str(audiostate2.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.ac3" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s ac3-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="mpa" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" If FindString(file.s,"movie T0"+Str(audiostate1.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.mpa" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s mpa-1="+file.s) EndIf If FindString(file.s,"movie T0"+Str(audiostate2.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.mpa" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s mpa-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="mp2" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" If FindString(file.s,"movie T0"+Str(audiostate1.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.mp2" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s mp2-1="+file.s) EndIf If FindString(file.s,"movie T0"+Str(audiostate2.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.mp2" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s mp2-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="wav" If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" If FindString(file.s,"movie T0"+Str(audiostate1.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.wav" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s wav-1="+file.s) EndIf If FindString(file.s,"movie T0"+Str(audiostate2.l),1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.wav" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf If GetGadgetState(#clean)=1 : del.s=dest.s+Mid(file.s,0,Len(file.s)-4)+"_log.txt" : DeleteFile(del.s) : EndIf Debug ("file.s wav-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="dts" If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" Or LCase(GetExtensionPart(inputfile.s))="mpeg" Or LCase(GetExtensionPart(inputfile.s))="mpg" If FindString(file.s,au0.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.dts" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS dts-1="+file.s) EndIf If FindString(file.s,au2.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.dts"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.dts" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS ac3-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="ac3" If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" Or LCase(GetExtensionPart(inputfile.s))="mpeg" Or LCase(GetExtensionPart(inputfile.s))="mpg" If FindString(file.s,au0.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.ac3" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS ac3-1="+file.s) EndIf If FindString(file.s,au2.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.ac3" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS ac3-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="mpa" If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" Or LCase(GetExtensionPart(inputfile.s))="mpeg" Or LCase(GetExtensionPart(inputfile.s))="mpg" If FindString(file.s,au0.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.mpa" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS mpa-1="+file.s) EndIf If FindString(file.s,au2.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.mpa"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.mpa" del.s=dest.s+file.s : DeleteFile(del.s) If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS mpa-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="mp2" If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" Or LCase(GetExtensionPart(inputfile.s))="mpeg" Or LCase(GetExtensionPart(inputfile.s))="mpg" If FindString(file.s,au0.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.mp2" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS mp2-1="+file.s) EndIf If FindString(file.s,au2.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.mp2"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.mp2" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS mp2-2="+file.s) EndIf EndIf EndIf If GetExtensionPart(file.s)="wav" If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" Or LCase(GetExtensionPart(inputfile.s))="mpeg" Or LCase(GetExtensionPart(inputfile.s))="mpg" If FindString(file.s,au0.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed1.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr1.s="fixed1.wav" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS wav-1="+file.s) EndIf If FindString(file.s,au2.s,1) writelog("DelayCut CMD: "+pexe.s+"dgindex\Delaycut.exe -auto -out "+Chr(34)+dest.s+"fixed2.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34)) RunProgram(pexe.s+"dgindex\Delaycut.exe"," -auto -out "+Chr(34)+dest.s+"fixed2.wav"+Chr(34)+" "+Chr(34)+dest.s+file.s+Chr(34),"",#PB_Program_Wait) audiotr2.s="fixed2.wav" If GetGadgetState(#clean)=1 : del.s=dest.s+file.s : DeleteFile(del.s) : EndIf Debug ("file.s TS wav-2="+file.s) EndIf EndIf EndIf EndIf Until type=0 Debug("audiotr1="+audiotr1) Debug("audiotr2="+audiotr2) writelog("Finished fixing audio delay") writelog("Original Audio Size: "+Str(FileSize(dest.s+audiotr1.s))+" "+Str(FileSize(dest.s+audiotr2.s))) EndProcedure Procedure audio1encode() If GetGadgetState(#minimized)=1 :minz.l=0: thread1audio=CreateThread(@minimized(),pexe.s) : EndIf If GetGadgetState(#mp3cbr)=0 : abr.s="--abr " : EndIf If GetGadgetState(#mp3cbr)=1 : abr.s="-b " : EndIf If GetGadgetState(#mp3cbr)=2 : abr.s="-V " : EndIf If GetGadgetState(#container)=3 Or GetGadgetState(#container)=4 Or GetGadgetState(#container)=5 Or GetGadgetState(#container)=6 Or GetGadgetState(#container)=7 SetGadgetState(#freq48,1) EndIf Debug ("sono in audioencode1") CreateFile(1,dest.s+"mkvmaudio.avs") ;enco=0 If LCase(GetExtensionPart(inputfile.s))<>"ts" And LCase(GetExtensionPart(inputfile.s))<>"tp" And LCase(GetExtensionPart(inputfile.s))<>"trp" And LCase(GetExtensionPart(inputfile.s))<>"m2t" ;enco=1 If inputfile.s="NONE" Or exts.s="ifo" ;enco=2 If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" ;enco=3 If LCase(exts.s)="d2v" ;enco=6 If LCase(exts.s)="m2v" ;enco=4 If LCase(exts.s)="avi" Or LCase(exts.s)="mkv" Or LCase(exts.s)="ogm" Or LCase(exts.s)="wmv" ;enco=5 If LCase(exts.s)="wav" Or LCase(exts.s)="ac3" Or LCase(exts.s)="mp2" Or LCase(exts.s)="mp3" Or LCase(exts.s)="ogg" Or LCase(exts.s)="mpa" Or LCase(exts.s)="aac" ;enco=9 If LCase(exts.s)="avs" If enco<>4 WriteStringN(1,"LoadPlugin("+Chr(34)+pfilt.s+"NicAudio.dll"+Chr(34)+")") If LCase(GetExtensionPart(audiotr1.s))="ac3" : WriteStringN(1,"NicAC3Source("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="dts" : WriteStringN(1,"NicDTSSource("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="mpa" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="mp2" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="m2a" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="mp3" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="lpcm": WriteStringN(1,"NicLPCMSource("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr1.s))="wav" : WriteStringN(1,"WavSource("+Chr(34)+dest.s+audiotr1.s+Chr(34)+")") : EndIf EndIf If enco=4 If GetGadgetState(#eavi)=1 WriteStringN(1,"avisource("+Chr(34)+inputfile.s+Chr(34)+")") EndIf If GetGadgetState(#eavi)=0 WriteStringN(1,"directshowsource("+Chr(34)+inputfile.s+Chr(34)+")") EndIf WriteStringN(1,"getchannel(1,2)") EndIf If enco=5 Select LCase(GetExtensionPart(inputfile.s)) Case "ac3" WriteStringN(1,"NicAC3Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "dts" WriteStringN(1,"NicDTSSource("+Chr(34)+inputfile.s+Chr(34)+")") Case "mpa" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "mp2" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "m2a" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "mp3" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "lpcm" WriteStringN(1,"NicLPCMSource("+Chr(34)+inputfile.s+Chr(34)+")") Case "wav" WriteStringN(1,"WavSource("+Chr(34)+dest.s+inputfile.s+Chr(34)+")") Default WriteStringN(1,"DirectShowSource("+Chr(34)+inputfile.s+Chr(34)+")") EndSelect EndIf If GetGadgetText(#freq48)<>"AUTO" : WriteStringN(1,"SSRC("+GetGadgetText(#freq48)+")") : EndIf If GetGadgetText(#tempo)<>"NONE" : WriteStringN(1,"TimeStretch(tempo="+GetGadgetText(#tempo)+")") : EndIf If GetGadgetText(#pitch)<>"NONE" : WriteStringN(1,"TimeStretch(pitch="+GetGadgetText(#pitch)+")") : EndIf If GetGadgetText(#freeau)<>"" : WriteStringN(1,GetGadgetText(#freeau)) : EndIf WriteStringN(1,"EnsureVBRMP3Sync()") Select GetGadgetText(#audiocodec1) Case "MP3" WriteStringN(1,"ConvertAudioTo16bit()") Case "OGG" WriteStringN(1,"ConvertAudioToFloat()") Case "AAC" If GetGadgetState(#aacengine)=1 : WriteStringN(1,"ConvertAudioTo16bit()") : EndIf If GetGadgetState(#aacengine)=0 : WriteStringN(1,"ConvertAudioToFloat()") : EndIf Case "MP2" WriteStringN(1,"ConvertAudioTo16bit()") Case "QuEnc AC3" If GetGadgetText(#freq48)="AUTO" : WriteStringN(1,"SSRC(48000)") : EndIf WriteStringN(1,"ConvertAudioTo16bit()") WriteStringN(1,"converttoyv12()") Case "Aften AC3" WriteStringN(1,"SSRC(48000)") WriteStringN(1,"ConvertAudioToFloat()") Case "MP3 5.1 Aud-X" WriteStringN(1,"ConvertAudioToFloat()") WriteStringN(1,"6==AudioChannels(last)?last:GetChannel(last,1,1,1,1,1,1)") Default WriteStringN(1,"ConvertAudioTo16bit()") EndSelect audiodownup(GetGadgetText(#aacch1)) CloseFile(1) Select GetGadgetText(#audiocodec1) Case "MP3" aucod.s="mp3" writelog("Starting audio conversion to Mp3 with "+GetGadgetText(#audiobit1)+" bitrate") CreateFile(2,dest.s+"mkvmaudio.bat") If GetGadgetState(#mp3cbr)=0 ; ABR BePipe.exe --script "import(^test.avs^)"|lame.exe --abr 128 - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" --abr "+GetGadgetText(#audiobit1)+" - "+Chr(34)+dest.s+"audio.mp3"+Chr(34)) EndIf If GetGadgetState(#mp3cbr)=1 ; CBR BePipe.exe --script "import(^test.avs^)"|lame.exe -b 128 --cbr - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" -b "+GetGadgetText(#audiobit1)+" --cbr - "+Chr(34)+dest.s+"audio.mp3"+Chr(34)) EndIf If GetGadgetState(#mp3cbr)=2 ; -V BePipe.exe --script "import(^test.avs^)"|lame.exe -V 2 - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" -v --vbr-new -h -S -V "+GetGadgetText(#audiobit1)+" - "+Chr(34)+dest.s+"audio.mp3"+Chr(34)) EndIf CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) writelog("Finished conversion to Mp3 with "+GetGadgetText(#audiobit1)+" bitrate") Debug ("case 0, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio.mp3" Case "OGG" aucod.s="ogg" writelog("Starting audio conversion to Ogg with "+GetGadgetText(#audiobit1)+" quality") CreateFile(2,dest.s+"mkvmaudio.bat") ;BePipe.exe --script "import(^test.avs^)" | oggenc2.exe -q 1 - -o aaa.ogg WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\oggenc2.exe"+Chr(34)+" -q "+Str(GetGadgetState(#audiobit1))+" - -o "+Chr(34)+dest.s+"audio.ogg"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) writelog("Finished conversion to Ogg with "+GetGadgetText(#audiobit1)+" quality") Debug ("case 1, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio.ogg" Case "AAC" aucod.s="mp4" writelog("Starting audio conversion to AAC with "+GetGadgetText(#audiobit1)+" quality") If GetGadgetState(#aacengine)=0 ; If GetGadgetState(#aacfor)=0 : aacfor.s="" : EndIf If GetGadgetState(#aacfor)=1 : aacfor.s=" -lc " : EndIf If GetGadgetState(#aacfor)=2 : aacfor.s=" -he " : EndIf If GetGadgetState(#aacfor)=3 : aacfor.s=" -hev2 " : EndIf If GetGadgetState(#aacpass)=0 : aacpass.s="" : EndIf If GetGadgetState(#aacpass)=1 : aacpass.s=" -2pass " : EndIf CreateFile(2,dest.s+"mkvmaudio.bat") If GetGadgetState(#aacencmode)=0 ;ABR BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -br 128 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -ignorelength -br "+Str(Val(GetGadgetText(#audiobit1))*1000)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio.mp4"+Chr(34)) EndIf If GetGadgetState(#aacencmode)=1 ;CBR BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -cbr 128 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -ignorelength -cbr "+Str(Val(GetGadgetText(#audiobit1))*1000)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio.mp4"+Chr(34)) EndIf If GetGadgetState(#aacencmode)=2 ;Q BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -q 0.4 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -ignorelength -q "+GetGadgetText(#audiobit1)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio.mp4"+Chr(34)) EndIf CloseFile(2) EndIf If GetGadgetState(#aacengine)=1 ; BePipe.exe --script "import(^test.avs^)" | enc_aacPlus.exe - aaa.aac --cbr 96000 If GetGadgetState(#aacfor)=0 : aacfor.s="" : EndIf If GetGadgetState(#aacfor)=1 : aacfor.s=" --lc " : EndIf If GetGadgetState(#aacfor)=2 : aacfor.s=" --high " : EndIf If GetGadgetState(#aacfor)=0 If Val(GetGadgetText(#audiobit1))=>145 aacfor.s=" --lc " EndIf EndIf CreateFile(2,dest.s+"mkvmaudio.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\enc_aacPlus.exe"+Chr(34)+" - "+Chr(34)+dest.s+"audio.aac"+Chr(34)+" "+aacfor.s+" --cbr "+Str(Val(GetGadgetText(#audiobit1))*1000)) CloseFile(2) EndIf RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) If GetGadgetState(#aacengine)=1 : RunProgram(pmux.s+"mp4box.exe"," "+Chr(34)+dest.s+"audio.mp4"+Chr(34)+" -add "+Chr(34)+dest.s+"audio.aac"+Chr(34),"",#PB_Program_Wait) : EndIf writelog("Finished conversion to AAC with "+GetGadgetText(#audiobit1)+" setting") audio1tip.s="audio.mp4" Case "MP3 5.1 Aud-X" aucod.s="mp3" writelog("Starting audio conversion to Mp3 5.1 [Aud-X] with "+StringField(GetGadgetText(#audiobit1),2," ")+" Quality preset") If enco<>5 RunProgram(pbee.s+"audx.exe"," "+StringField(GetGadgetText(#audiobit1),2," ")+" "+Chr(34)+dest.s+audiotr1.s+Chr(34),"",#PB_Program_Wait) old.s=dest.s+"fixed1 - AudX-"+StringField(GetGadgetText(#audiobit1),2," ")+".mp3" new.s=dest.s+"audio.mp3" RenameFile(old.s,new.s) audio1tip.s="audio.mp3" EndIf If enco=5 RunProgram(pbee.s+"audx.exe"," "+StringField(GetGadgetText(#audiobit1),2," ")+" "+Chr(34)+inputfile.s+Chr(34),"",#PB_Program_Wait) old.s=Mid(GetFilePart(inputfile.s),0,Len(GetFilePart(inputfile.s))-4)+" - AudX-"+StringField(GetGadgetText(#audiobit1),2," ")+".mp3" Debug(old.s) ;aaa.ac3 - AudX-STDQ.mp3 audio1tip.s=old.s EndIf writelog("Finished conversion to Mp3 5.1 [Aud-X] with "+GetGadgetText(#audiobit1)+" Preset quality") Case "MP2" aucod.s="mp3" writelog("Starting audio conversion to Mp2 with "+GetGadgetText(#audiobit1)+" bitrate") CreateFile(2,dest.s+"mkvmaudio.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\twolame.exe"+Chr(34)+" -b "+GetGadgetText(#audiobit1)+" - "+Chr(34)+dest.s+"audio.mpa"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) writelog("Finished conversion to Mp2 with "+GetGadgetText(#audiobit1)+" bitrate") Debug ("case 0, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio.mpa" Case "QuEnc AC3" ; QuEnc.exe -i test.avs -o aaa_2_192.ac3 -audiocodec ac3 -audiobitrate 192 -auto -silent -close aucod.s="mp3" writelog("Starting audio conversion to AC3 2ch with "+GetGadgetText(#audiobit1)+" bitrate") CreateFile(2,dest.s+"mkvmaudio.bat") WriteStringN(2,Chr(34)+pexe.s+"mpeg2\quenc.exe"+Chr(34)+" -i "+Chr(34)+dest.s+"mkvmaudio.avs"+Chr(34)+" -o "+Chr(34)+dest.s+"audio.ac3"+Chr(34)+" -audiocodec ac3 -audiobitrate "+GetGadgetText(#audiobit1)+" -auto -silent -close") CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) writelog("Finished conversion to Ac3 2ch with "+GetGadgetText(#audiobit1)+" bitrate") Debug ("case 4, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio.ac3" Case "Aften AC3" ; QuEnc.exe -i test.avs -o aaa_2_192.ac3 -audiocodec ac3 -audiobitrate 192 -auto -silent -close aucod.s="mp3" writelog("Starting audio conversion to AC3 2ch with "+GetGadgetText(#audiobit1)+" bitrate") CreateFile(2,dest.s+"mkvmaudio.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\aften.exe"+Chr(34)+" -b "+Str(Val(GetGadgetText(#audiobit1))*1000)+" - "+Chr(34)+dest.s+"audio.ac3"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) writelog("Finished conversion to Ac3 2ch with "+GetGadgetText(#audiobit1)+" bitrate") Debug ("case 4, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio.ac3" Case "Copy Original" If enco<>4 aucod.s="mp3" audiotr1exr.s=GetExtensionPart(dest.s+audiotr1.s) newaudio.s="audio."+audiotr1exr.s RenameFile(dest.s+audiotr1.s, dest.s+newaudio.s) writelog("Renamed file "+audiotr1.s+" to audio."+audiotr1exr.s) Debug ("case 7, audiobit1="+GetGadgetText(#audiobit1)) audio1tip.s="audio."+audiotr1exr.s EndIf If enco=4 aucod.s="mp3" CreateFile(2,dest.s+"mkvmaudio.bat") If GetGadgetState(#mp3cbr)=0 ; ABR BePipe.exe --script "import(^test.avs^)"|lame.exe --abr 128 - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" -b "+GetGadgetText(#audiobit1)+" --cbr - "+Chr(34)+dest.s+"audio.mp3"+Chr(34)) EndIf CloseFile(2) RunProgram(dest.s+"mkvmaudio.bat","",dest.s,1) audio1tip.s="audio.mp3" EndIf EndSelect If GetGadgetState(#clean)=1 del.s=dest.s+"fixed1.wav" DeleteFile(del.s) EndIf If FileSize(dest.s+audio1tip.s)<1000 audioloop1.l=audioloop1.l+1 If audioloop1.l=2 writelog("Audio Tracks 1 loop, quitting") SetGadgetState(#audiotracks1,0) ProcedureReturn EndIf writelog("No audio create, retry without apply "+GetGadgetText(#aacch1)) SetGadgetState(#aacch1,0) audio1encode() EndIf If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread1audio) : EndIf EndProcedure Procedure audio2encode() If GetGadgetState(#minimized)=1 : minz.l=0: thread2audio=CreateThread(@minimized(),"besweet") : EndIf If GetGadgetState(#mp3cbr)=0 : abr.s="--abr " : EndIf If GetGadgetState(#mp3cbr)=1 : abr.s="-b " : EndIf If GetGadgetState(#mp3cbr)=2 : abr.s="-V " : EndIf If GetGadgetState(#container)=3 Or GetGadgetState(#container)=4 Or GetGadgetState(#container)=5 Or GetGadgetState(#container)=6 Or GetGadgetState(#container)=7 SetGadgetState(#freq48,1) EndIf Debug ("sono in audioencode2") CreateFile(1,dest.s+"mkvmaudio2.avs") If enco<>4 WriteStringN(1,"LoadPlugin("+Chr(34)+pfilt.s+"NicAudio.dll"+Chr(34)+")") If LCase(GetExtensionPart(audiotr2.s))="ac3" : WriteStringN(1,"NicAC3Source("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="dts" : WriteStringN(1,"NicDTSSource("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="mpa" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="mp2" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="m2a" : WriteStringN(1,"NicMPG123Source("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="lpcm": WriteStringN(1,"NicLPCMSource("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf If LCase(GetExtensionPart(audiotr2.s))="wav" : WriteStringN(1,"WavSource("+Chr(34)+dest.s+audiotr2.s+Chr(34)+")") : EndIf EndIf If enco=4 WriteStringN(1,"video=DirectShowSource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(1,"audio=DirectShowSource("+Chr(34)+inputfile.s+Chr(34)+",video=false)") WriteStringN(1,"stereo=getchannel(audio,1,2)") WriteStringN(1,"Return AudioDub(video, stereo)") EndIf If enco=5 Select LCase(GetExtensionPart(inputfile.s)) Case "ac3" WriteStringN(1,"NicAC3Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "dts" WriteStringN(1,"NicDTSSource("+Chr(34)+inputfile.s+Chr(34)+")") Case "mpa" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "mp2" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "m2a" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "mp3" WriteStringN(1,"NicMPG123Source("+Chr(34)+inputfile.s+Chr(34)+")") Case "lpcm" WriteStringN(1,"NicLPCMSource("+Chr(34)+inputfile.s+Chr(34)+")") Case "wav" WriteStringN(1,"WavSource("+Chr(34)+dest.s+inputfile.s+Chr(34)+")") Default WriteStringN(1,"DirectShowSource("+Chr(34)+inputfile.s+Chr(34)+")") EndSelect EndIf If GetGadgetText(#freq48)<>"AUTO" : WriteStringN(1,"SSRC("+GetGadgetText(#freq48)+")") : EndIf If GetGadgetText(#tempo)<>"NONE" : WriteStringN(1,"TimeStretch(tempo="+GetGadgetText(#tempo)+")") : EndIf If GetGadgetText(#pitch)<>"NONE" : WriteStringN(1,"TimeStretch(pitch="+GetGadgetText(#pitch)+")") : EndIf If GetGadgetText(#freeau)<>"" : WriteStringN(1,GetGadgetText(#freeau)) : EndIf WriteStringN(1,"EnsureVBRMP3Sync()") Select GetGadgetText(#audiocodec2) Case "MP3" WriteStringN(1,"ConvertAudioTo16bit()") Case "OGG" WriteStringN(1,"ConvertAudioToFloat()") Case "AAC" If GetGadgetState(#aacengine)=1 : WriteStringN(1,"ConvertAudioTo16bit()") : EndIf If GetGadgetState(#aacengine)=0 : WriteStringN(1,"ConvertAudioToFloat()") : EndIf Case "MP2" WriteStringN(1,"ConvertAudioTo16bit()") Case "QuEnc AC3" If GetGadgetText(#freq48)="AUTO" : WriteStringN(1,"SSRC(48000)") : EndIf WriteStringN(1,"ConvertAudioTo16Bit()") WriteStringN(1,"converttoyv12()") Case "Aften AC3" WriteStringN(1,"SSRC(48000)") WriteStringN(1,"ConvertAudioToFloat()") Case "MP3 5.1 Aud-X" WriteStringN(1,"ConvertAudioToFloat()") WriteStringN(1,"6==AudioChannels(last)?last:GetChannel(last,1,1,1,1,1,1)") Default WriteStringN(1,"ConvertAudioTo16bit()") EndSelect audiodownup(GetGadgetText(#aacch2)) CloseFile(1) Select GetGadgetText(#audiocodec2) Case "MP3" aucod2.s="mp3" writelog("Starting "+dest.s+audiotr2.s+" to Mp3 with "+GetGadgetText(#audiobit2)+" bitrate") CreateFile(2,dest.s+"mkvmaudio2.bat") If GetGadgetState(#mp3cbr)=0 ; ABR BePipe.exe --script "import(^test.avs^)"|lame.exe --abr 128 - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" --abr "+GetGadgetText(#audiobit2)+" - "+Chr(34)+dest.s+"audio2.mp3"+Chr(34)) EndIf If GetGadgetState(#mp3cbr)=1 ; CBR BePipe.exe --script "import(^test.avs^)"|lame.exe -b 128 --cbr - aaa.mp3 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe --script "+Chr(34)+"import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" -b "+GetGadgetText(#audiobit2)+" --cbr - "+Chr(34)+dest.s+"audio2.mp3"+Chr(34)) EndIf If GetGadgetState(#mp3cbr)=2 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe --script "+Chr(34)+"import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\lame.exe"+Chr(34)+" -v --vbr-new -h -S -V "+GetGadgetText(#audiobit2)+" - "+Chr(34)+dest.s+"audio2.mp3"+Chr(34)) EndIf CloseFile(2) RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) writelog("Finished "+dest.s+audiotr2.s+" to Mp3 with "+GetGadgetText(#audiobit2)+" bitrate") Debug ("case 0, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2.mp3" Case "OGG" ;BePipe.exe --script "import(^test.avs^)" | oggenc2.exe -q 1 - -o aaa.ogg aucod2.s="ogg" writelog("Starting "+dest.s+audiotr2.s+" to Ogg with "+GetGadgetText(#audiobit2)+" quality") CreateFile(2,dest.s+"mkvmaudio2.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\oggenc2.exe"+Chr(34)+" -q "+Str(GetGadgetState(#audiobit2))+" - -o "+Chr(34)+dest.s+"audio2.ogg"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) writelog("Finished "+dest.s+audiotr2.s+" to Ogg with "+GetGadgetText(#audiobit2)+" quality") Debug ("case 1, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2.ogg" Case "AAC" aucod2.s="mp4" If GetGadgetState(#aacengine)=0 ; If GetGadgetState(#aacfor)=0 : aacfor.s="" : EndIf If GetGadgetState(#aacfor)=1 : aacfor.s=" -lc " : EndIf If GetGadgetState(#aacfor)=2 : aacfor.s=" -he " : EndIf If GetGadgetState(#aacfor)=3 : aacfor.s=" -hev2 " : EndIf If GetGadgetState(#aacpass)=0 : aacpass.s="" : EndIf If GetGadgetState(#aacpass)=1 : aacpass.s=" -2pass " : EndIf CreateFile(2,dest.s+"mkvmaudio2.bat") If GetGadgetState(#aacencmode)=0 ;ABR BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -br 128 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -br "+Str(Val(GetGadgetText(#audiobit2))*1000)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio2.mp4"+Chr(34)) EndIf If GetGadgetState(#aacencmode)=1 ;CBR BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -cbr 128 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -cbr "+Str(Val(GetGadgetText(#audiobit2))*1000)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio2.mp4"+Chr(34)) EndIf If GetGadgetState(#aacencmode)=2 ;Q BePipe.exe --script "import(^test.avs^)" | neroAacEnc.exe -q 0.4 -if - -of aaa.mp4 WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\neroaacenc.exe"+Chr(34)+" -q "+GetGadgetText(#audiobit2)+aacfor.s+aacpass.s+" -if - -of "+Chr(34)+dest.s+"audio2.mp4"+Chr(34)) EndIf CloseFile(2) EndIf If GetGadgetState(#aacengine)=1 ; BePipe.exe --script "import(^test.avs^)" | enc_aacPlus.exe - aaa.aac --cbr 96000 If GetGadgetState(#aacfor)=0 : aacfor.s="" : EndIf If GetGadgetState(#aacfor)=1 : aacfor.s=" --lc " : EndIf If GetGadgetState(#aacfor)=2 : aacfor.s=" --high " : EndIf If GetGadgetState(#aacfor)=0 If Val(GetGadgetText(#audiobit2))=>145 aacfor.s=" --lc " EndIf EndIf CreateFile(2,dest.s+"mkvmaudio2.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\enc_aacPlus.exe"+Chr(34)+" - "+Chr(34)+dest.s+"audio2.aac"+Chr(34)+" "+aacfor.s+" --cbr "+Str(Val(GetGadgetText(#audiobit2))*1000)) CloseFile(2) EndIf RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) If GetGadgetState(#aacengine)=1 : RunProgram(pmux.s+"mp4box.exe"," "+Chr(34)+dest.s+"audio2.mp4"+Chr(34)+" -add "+Chr(34)+dest.s+"audio2.aac"+Chr(34),"",#PB_Program_Wait) : EndIf writelog("Finished "+dest.s+audiotr2.s+" to AAC with "+GetGadgetText(#audiobit2)+" setting") audio2tip.s="audio2.mp4" Case "MP3 5.1 Aud-X" aucod2.s="mp3" writelog("Starting "+dest.s+audiotr2.s+" to Mp3 5.1 [Aud-X] with "+StringField(GetGadgetText(#audiobit2),2," ")+" Quality preset") If enco<>5 RunProgram(pbee.s+"audx.exe"," "+StringField(GetGadgetText(#audiobit2),2," ")+" "+Chr(34)+dest.s+audiotr2.s+Chr(34),"",#PB_Program_Wait) EndIf If enco=5 RunProgram(pbee.s+"audx.exe"," "+StringField(GetGadgetText(#audiobit2),2," ")+" "+Chr(34)+inputfile.s+Chr(34),"",#PB_Program_Wait) EndIf old.s=dest.s+"fixed2 - AudX-"+StringField(GetGadgetText(#audiobit2),2," ")+".mp3" new.s=dest.s+"audio2.mp3" RenameFile(old.s,new.s) writelog("Finished "+dest.s+audiotr2.s+" to Mp3 5.1 [Aud-X] with "+GetGadgetText(#audiobit2)+" Preset quality") audio2tip.s="audio2.mp3" Case "MP2" aucod2.s="mp3" writelog("Starting "+dest.s+audiotr2.s+" to Mp2 with "+GetGadgetText(#audiobit2)+" bitrate") CreateFile(2,dest.s+"mkvmaudio2.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\twolame.exe"+Chr(34)+" -b "+GetGadgetText(#audiobit2)+" - "+Chr(34)+dest.s+"audio2.mpa"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) writelog("Finished "+dest.s+audiotr2.s+" to Mp2 with "+GetGadgetText(#audiobit2)+" bitrate") Debug ("case 0, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2.mpa" Case "QuEnc AC3" ; QuEnc.exe -i test.avs -o aaa_2_192.ac3 -audiocodec ac3 -audiobitrate 192 -auto -silent -close aucod2.s="mp3" writelog("Starting "+dest.s+audiotr2.s+" to AC3 with "+GetGadgetText(#audiobit2)+" bitrate") CreateFile(2,dest.s+"mkvmaudio2.bat") WriteStringN(2,Chr(34)+pexe.s+"mpeg2\quenc.exe"+Chr(34)+" -i "+Chr(34)+dest.s+"mkvmaudio2.avs"+Chr(34)+" -o "+Chr(34)+dest.s+"audio2.ac3"+Chr(34)+" -audiocodec ac3 -audiobitrate "+GetGadgetText(#audiobit2)+" -auto -silent -close") CloseFile(2) RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) writelog("Finished "+dest.s+audiotr2.s+" to Ac3 with "+GetGadgetText(#audiobit2)+" quality") Debug ("case 4, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2.ac3" Case "Aften AC3" ; QuEnc.exe -i test.avs -o aaa_2_192.ac3 -audiocodec ac3 -audiobitrate 192 -auto -silent -close aucod2.s="mp3" writelog("Starting "+dest.s+audiotr2.s+" to AC3 with "+GetGadgetText(#audiobit2)+" bitrate") CreateFile(2,dest.s+"mkvmaudio2.bat") WriteStringN(2,Chr(34)+pexe.s+"besweet\bepipe.exe"+Chr(34)+" --script "+Chr(34)+"Import(^"+dest.s+"mkvmaudio2.avs^)"+Chr(34)+" | "+Chr(34)+pexe.s+"besweet\aften.exe"+Chr(34)+" -b "+Str(Val(GetGadgetText(#audiobit2))*1000)+" - "+Chr(34)+dest.s+"audio2.ac3"+Chr(34)) CloseFile(2) RunProgram(dest.s+"mkvmaudio2.bat","",dest.s,1) writelog("Finished "+dest.s+audiotr2.s+" to Ac3 with "+GetGadgetText(#audiobit2)+" bitrate") Debug ("case 4, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2.ac3" Case "Copy Original" aucod2.s="mp3" audiotr2exr.s=GetExtensionPart(dest.s+audiotr2.s) newaudio.s="audio."+audiotr2exr.s RenameFile(dest.s+audiotr2.s, dest.s+newaudio.s) writelog("Renamed file "+audiotr2.s+" to audio."+audiotr2exr.s) Debug ("case 7, audiobit2="+GetGadgetText(#audiobit2)) audio2tip.s="audio2."+audiotr2exr.s EndSelect If GetGadgetState(#clean)=1 del.s=dest.s+"fixed2.wav" DeleteFile(del.s) EndIf If FileSize(dest.s+audio2tip.s)<1000 audioloop2.l=audioloop2.l+1 If audioloop2.l=2 writelog("Audio Tracks 2 loop, quitting") SetGadgetState(#audiotracks2,0) ProcedureReturn EndIf writelog("No audio create, retry without apply "+GetGadgetText(#aacch2)) SetGadgetState(#aacch2,0) audio2encode() EndIf If GetGadgetState(#minimized)=1 :minz.l=0: KillThread(thread2audio) : EndIf EndProcedure Procedure audiodownup(mode.s) WriteStringN(1,"#Applyed "+mode.s+" downmixing routines") If mode.s="Original" If GetGadgetState(#Normalize)=1 WriteStringN(1,"Normalize()") EndIf EndIf If mode.s="Stereo" WriteStringN(1,"a = last") WriteStringN(1,"fl = GetChannel(a, 1)") WriteStringN(1,"fr = GetChannel(a, 2)") WriteStringN(1,"c = GetChannel(a, 3)") WriteStringN(1,"lfe = GetChannel(a, 4)") WriteStringN(1,"sl = GetChannel(a, 5)") WriteStringN(1,"sr = GetChannel(a, 6)") WriteStringN(1,"l_sl = MixAudio(fl, sl, 0.2929, 0.2929)") WriteStringN(1,"c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)") WriteStringN(1,"r_sr = MixAudio(fr, sr, 0.2929, 0.2929)") WriteStringN(1,"l = MixAudio(l_sl, c_lfe, 1.0, 1.0)") WriteStringN(1,"r = MixAudio(r_sr, c_lfe, 1.0, 1.0)") WriteStringN(1,"Return MergeChannels(l, r)") If GetGadgetState(#Normalize)=1 WriteStringN(1,"Normalize()") EndIf EndIf If mode.s="DLP" WriteStringN(1,"a = last") WriteStringN(1,"fl = GetChannel(a, 1)") WriteStringN(1,"fr = GetChannel(a, 2)") WriteStringN(1,"c = GetChannel(a, 3)") WriteStringN(1,"sl = GetChannel(a, 5)") WriteStringN(1,"sr = GetChannel(a, 6)") WriteStringN(1,"ssr = MixAudio(sl, sr, 0.2222, 0.2222)") WriteStringN(1,"ssl = Amplify(ssr, -1.0)") WriteStringN(1,"fl_c = MixAudio(fl, c, 0.3254, 0.2301)") WriteStringN(1,"fr_c = MixAudio(fr, c, 0.3254, 0.2301)") WriteStringN(1,"l = MixAudio(ssl, fl_c, 1.0, 1.0)") WriteStringN(1,"r = MixAudio(ssr, fr_c, 1.0, 1.0)") WriteStringN(1,"Return MergeChannels(l, r)") If GetGadgetState(#Normalize)=1 WriteStringN(1,"Normalize()") EndIf EndIf If mode.s="DLP II" WriteStringN(1,"a = last") WriteStringN(1,"fl = GetChannel(a, 1)") WriteStringN(1,"fr = GetChannel(a, 2)") WriteStringN(1,"c = GetChannel(a, 3)") WriteStringN(1,"sl = GetChannel(a, 5)") WriteStringN(1,"sr = GetChannel(a, 6)") WriteStringN(1,"ssl = MixAudio(sl, sr, 0.2818, 0.1627).Amplify(-1.0)") WriteStringN(1,"fl_c = MixAudio(fl, c, 0.3254, 0.2301)") WriteStringN(1,"ssr = MixAudio(sl, sr, 0.1627, 0.2818)") WriteStringN(1,"fr_c = MixAudio(fr, c, 0.3254, 0.2301)") WriteStringN(1,"l = MixAudio(ssl, fl_c, 1.0, 1.0)") WriteStringN(1,"r = MixAudio(ssr, fr_c, 1.0, 1.0)") WriteStringN(1,"Return MergeChannels(l, r)") If GetGadgetState(#Normalize)=1 WriteStringN(1,"Normalize()") EndIf EndIf If mode.s="Mono" WriteStringN(1,"ConvertToMono()") If GetGadgetState(#Normalize)=1 WriteStringN(1,"Normalize()") EndIf EndIf ;If mode.s="2to5.1 SuperEQ" ; WriteStringN("a = last") ; WriteStringN("m = ConvertToMono(a))") ; WriteStringN("f = SuperEQ(a,""" + tmp + @"front.feq"")") ; WriteStringN("s = SuperEQ(a,""" + tmp + @"back.feq"") ") ; WriteStringN("c = SuperEQ(m,""" + tmp + @"center.feq"") ") ; WriteStringN("lfe = SuperEQ(m,""" + tmp + @"lfe.feq"") ") ; WriteStringN("Return MergeChannels( f.getleftchannel, f.getrightchannel , c, lfe, s.getleftchannel, s.getrightchannel).Normalize()") ;EndIf ;If mode.s="2to5.1 Sox" ; WriteStringN("a = last") ; WriteStringN("Front = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.45,0.25),0.50,1)") ;WriteStringN("Back = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.35,0.15),0.40,1)") ;WriteStringN("fl = GetLeftChannel(Front)") ;WriteStringN("fr = GetRightChannel(Front)") ;WriteStringN("cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")") ;WriteStringN("lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")") ;WriteStringN("sl = GetLeftChannel(Back)") ;WriteStringN("sr = GetRightChannel(Back)") ;WriteStringN("sl = DelayAudio(sl,0.02)") ;WriteStringN("sr = DelayAudio(sr,0.02)") ;WriteStringN("Return MergeChannels(fl,fr,cc,lfe,sl,sr).Normalize()") ; EndIf ;If mode.s="2to5.1 Center ch. dialog" ; WriteStringN("a = last") ; WriteStringN("left = stereo.GetLeftChannel()") ;WriteStringN("right = stereo.GetRightChannel()") ;WriteStringN("fl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.6,-0.5)") ;WriteStringN("fr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.6,-0.5)") ;WriteStringN("cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")") ;WriteStringN("lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")") ;WriteStringN("sl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.5,-0.4)") ;WriteStringN("sr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.5,-0.4)") ;WriteStringN("sl = DelayAudio(sl,0.02)") ;WriteStringN("sr = DelayAudio(sr,0.02)") ;WriteStringN("Return MergeChannels(fl,fr,cc,lfe,sl,sr).Normalize()") ; EndIf EndProcedure Procedure normalize1() If GetGadgetText(#audiocodec1)="Copy Original" : ProcedureReturn : EndIf Debug ("sono in normalize1") Debug ("chs.s="+chs.s) If GetGadgetText(#audiotracks1)<>"NONE" ;beSweet.exe -core( -input "C:\Programmi\PureBasic\Prove\exe\zaaa.ac3" -output "C:\Programmi\PureBasic\Prove\exe\aaa.mp4" -logfile "C:\Programmi\PureBasic\Prove\exe\zaaa.log" ) -azid( -c normal) -bsn( -6chnew -vbr_normal -aacprofile_he ) ; If GetExtensionPart(audiotr1.s)="ac3" And chs.s<>"5" ; RunProgram(pexe.s+"azid.exe"," -n true -s dplii -c normal "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+"fixed1.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.ac3" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr1.s)="ac3" And chs.s="5" ; RunProgram(pexe.s+"azid.exe"," -n true -c normal -p 6ch "+Chr(34)+dest.s+"fixed1.ac3"+Chr(34)+" "+Chr(34)+dest.s+"fixed1.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.ac3" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr1.s)="mpa" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed1.mpa"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed1.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mpa" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr1.s)="mp2" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed1.mp2"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed1.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mp2" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr1.s)="mp3" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed1.mp3"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed1.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mp3" ; DeleteFile(del.s) ; EndIf ;EndIf ; RunProgram(pexe.s+"normalize.exe"," "+Chr(34)+dest.s+"fixed1.wav"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ; writelog("Finished nomalizing (azid/madplay+normalize)") EndIf EndProcedure Procedure normalize2() If GetGadgetText(#audiocodec2)="Copy Original" : ProcedureReturn : EndIf Debug ("sono in normalize2") Debug ("chs.s="+chs.s) If GetGadgetText(#audiotracks2)<>"NONE" Debug ("chs2.s="+chs2.s) ; If GetExtensionPart(audiotr2.s)="ac3" And chs2.s<>"5" ; RunProgram(pexe.s+"azid.exe"," -n true -s dplii -c normal "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+"fixed2.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.ac3" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr2.s)="ac3" And chs2.s="5" ; RunProgram(pexe.s+"azid.exe"," -n true -c normal -p 6ch "+Chr(34)+dest.s+"fixed2.ac3"+Chr(34)+" "+Chr(34)+dest.s+"fixed2.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.ac3" ; DeleteFile(del.s) ; EndIf ; EndIf ; If GetExtensionPart(audiotr2.s)="mpa" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed2.mpa"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed2.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mpa" ; DeleteFile(del.s) ; EndIf ; EndIf ; ; If GetExtensionPart(audiotr2.s)="mp2" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed2.mp2"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed2.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mp2" ; DeleteFile(del.s) ; EndIf ; EndIf ; ; If GetExtensionPart(audiotr2.s)="mp3" ; RunProgram(pexe.s+"madplay.exe"," "+Chr(34)+dest.s+"fixed2.mp3"+Chr(34)+" -G --output=wave:"+Chr(34)+dest.s+"fixed2.wav","",#PB_Program_Hide|#PB_Program_Wait) ; If GetGadgetState(#clean)=1 ; del.s=dest.s+"fixed1.mp3" ; DeleteFile(del.s) ; EndIf ; EndIf ; ; RunProgram(pexe.s+"normalize.exe"," "+Chr(34)+dest.s+"fixed2.wav"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) ; writelog("Finished nomalizing (azid/madplay+normalize)") EndIf EndProcedure Procedure audioonly() Debug("sono in audioonly") Debug ("1="+Str(GetGadgetState(#audiotracks1))) Debug ("2="+Str(GetGadgetState(#audiotracks2))) If GetGadgetState(#audiotracks1) <>0 And GetGadgetState(#audiotracks2)=0 If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" pid1=FindString(GetGadgetText(#audiotracks1)," ",1) pid11=FindString(GetGadgetText(#audiotracks1),",",1) au0.s=Mid(GetGadgetText(#audiotracks1),pid1+2,pid11-pid1-2) writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -AP="+au0.s+" -VP="+av0.s+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -AP="+au0.s+" -VP="+av0.s+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf EndIf If GetGadgetState(#audiotracks2) <>0 And GetGadgetState(#audiotracks1) <>0 If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" pid1=FindString(GetGadgetText(#audiotracks1)," ",1) pid11=FindString(GetGadgetText(#audiotracks1),",",1) au0.s=Mid(GetGadgetText(#audiotracks1),pid1+2,pid11-pid1-2) pid2=FindString(GetGadgetText(#audiotracks2)," ",1) pid22=FindString(GetGadgetText(#audiotracks2),",",1) au2.s=Mid(GetGadgetText(#audiotracks2),pid2+2,pid22-pid2-2) writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -AP="+au0.s+","+au2.s+" -VP="+av0.s+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -AP="+au0.s+","+au2.s+" -VP="+av0.s+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf EndIf If GetGadgetState(#audiotracks1)=0 And GetGadgetState(#audiotracks2)=0 writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=0 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=0 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf If GetGadgetState(#audiotracks1)<>0 And GetGadgetState(#audiotracks2)=0 If LCase(GetExtensionPart(inputfile.s))="vob" Or LCase(GetExtensionPart(inputfile.s))="mpg" Or LCase(GetExtensionPart(inputfile.s))="mpeg" writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=1 -TN="+Str(GetGadgetState(#audiotracks1))+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf EndIf If GetGadgetState(#audiotracks2)<>0 And GetGadgetState(#audiotracks1)<>0 If LCase(GetExtensionPart(inputfile.s))="vob" Or LCase(GetExtensionPart(inputfile.s))="mpg" Or LCase(GetExtensionPart(inputfile.s))="mpeg" writelog("Dgindex CMD: "+pexe.s+"dgindex\dgindex.exe -FO=0 -OM=2 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=2 -TN="+Str(GetGadgetState(#audiotracks1))+","+Str(GetGadgetState(#audiotracks2))+" -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf EndIf If FileSize(dest.s+"movie *.*")=-1 If LCase(GetExtensionPart(inputfile.s))="vob" Or LCase(GetExtensionPart(inputfile.s))="mpg" Or LCase(GetExtensionPart(inputfile.s))="mpeg" If GetGadgetText(#audiotracks1)<>"NONE" writelog("On choosed settings Dgindex isn't able to demux any audio tracks, now rerunning dgindex in demux all tracks mode") RunProgram(pexe.s+"dgindex\dgindex.exe","-FO=0 -OM=2 -YR=2 -If=["+inputfile.s+"] -OF=["+dest.s+"movie] -exit -MINIMIZE","",#PB_Program_Hide|#PB_Program_Wait) EndIf EndIf EndIf If FileSize(dest.s+"movie *.*")=-1 If FileSize(pexe.s+"encoder\mplayer.exe")<>-1 If LCase(GetExtensionPart(inputfile.s))="ts" Or LCase(GetExtensionPart(inputfile.s))="tp" Or LCase(GetExtensionPart(inputfile.s))="trp" Or LCase(GetExtensionPart(inputfile.s))="m2t" writelog("On choosed settings Dgindex isn't able to demux any audio tracks") writelog("Trying with Mplayer.exe to extract audio track") RunProgram(pexe.s+"encoder\mplayer.exe"," "+Chr(34)+inputfile.s+Chr(34)+" -ao pcm:file=fixed1.wav -vc dummy -vo null",dest.s,1) audiotr1.s="fixed1.wav" SetGadgetState(#audiocodec1,5) : SetGadgetState(#audiobit1,6) EndIf EndIf EndIf Debug ("audiotracks1="+GetGadgetText(#audiotracks1)) Debug ("av0="+av0.s) Debug ("au0="+au0.s) Debug ("au2="+au2.s) If GetGadgetText(#container)<>"ES Video" If GetGadgetState(#compcheck)=0 fix() normalize1() normalize2() If GetGadgetText(#audiotracks1)<>"NONE" : audio1encode() :EndIf If GetGadgetText(#audiotracks2)<>"NONE" : audio2encode() :EndIf EndIf EndIf EndProcedure Procedure acodec1() Debug ("sono in acodec1") Debug ("#audiocodec1="+GetGadgetText(#audiocodec1)) If GetGadgetText(#audiocodec1)="OGG" ClearGadgetItemList(#audiobit1) hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #True, 0) AddGadgetItem(#audiobit1,-1,"Quality 0") AddGadgetItem(#audiobit1,-1,"Quality 1") AddGadgetItem(#audiobit1,-1,"Quality 2") AddGadgetItem(#audiobit1,-1,"Quality 3") AddGadgetItem(#audiobit1,-1,"Quality 4") AddGadgetItem(#audiobit1,-1,"Quality 5") AddGadgetItem(#audiobit1,-1,"Quality 6") AddGadgetItem(#audiobit1,-1,"Quality 7") AddGadgetItem(#audiobit1,-1,"Quality 8") AddGadgetItem(#audiobit1,-1,"Quality 9") AddGadgetItem(#audiobit1,-1,"Quality 10") SetGadgetState(#audiobit1,4) ElseIf GetGadgetText(#audiocodec1)="AAC" hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) If GetGadgetState(#aacencmode)<>2 ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"48") AddGadgetItem(#audiobit1,-1,"64") AddGadgetItem(#audiobit1,-1,"80") AddGadgetItem(#audiobit1,-1,"96") AddGadgetItem(#audiobit1,-1,"112") AddGadgetItem(#audiobit1,-1,"128") AddGadgetItem(#audiobit1,-1,"144") AddGadgetItem(#audiobit1,-1,"160") SetGadgetState(#audiobit1,3) EndIf If GetGadgetState(#aacencmode)=2 ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"0.1") AddGadgetItem(#audiobit1,-1,"0.2") AddGadgetItem(#audiobit1,-1,"0.3") AddGadgetItem(#audiobit1,-1,"0.4") AddGadgetItem(#audiobit1,-1,"0.5") AddGadgetItem(#audiobit1,-1,"0.6") AddGadgetItem(#audiobit1,-1,"0.7") AddGadgetItem(#audiobit1,-1,"0.8") AddGadgetItem(#audiobit1,-1,"0.9") AddGadgetItem(#audiobit1,-1,"1") SetGadgetState(#audiobit1,2) EndIf ElseIf GetGadgetText(#audiocodec1)="MP3 5.1 Aud-X" hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #True, 0) ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"80 STRQ") AddGadgetItem(#audiobit1,-1,"128 STDQ") AddGadgetItem(#audiobit1,-1,"192 HGHQ") AddGadgetItem(#audiobit1,-1,"192 SPBQ") SetGadgetState(#audiobit1,1) ElseIf GetGadgetText(#mp3cbr)="-V" If GetGadgetText(#audiocodec1)="MP3" hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"9") AddGadgetItem(#audiobit1,-1,"8") AddGadgetItem(#audiobit1,-1,"7") AddGadgetItem(#audiobit1,-1,"6") AddGadgetItem(#audiobit1,-1,"5") AddGadgetItem(#audiobit1,-1,"4") AddGadgetItem(#audiobit1,-1,"3") AddGadgetItem(#audiobit1,-1,"2") AddGadgetItem(#audiobit1,-1,"1") SetGadgetState(#audiobit1,4) EndIf ElseIf GetGadgetText(#audiocodec1)="Aften AC3" hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"192") AddGadgetItem(#audiobit1,-1,"224") AddGadgetItem(#audiobit1,-1,"256") AddGadgetItem(#audiobit1,-1,"384") SetGadgetState(#audiobit1,4) ElseIf GetGadgetText(#audiocodec1)="QuEnc AC3" hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"192") AddGadgetItem(#audiobit1,-1,"224") AddGadgetItem(#audiobit1,-1,"256") AddGadgetItem(#audiobit1,-1,"384") SetGadgetState(#audiobit1,1) Else hComboEdit = FindWindowEx_(GadgetID(#audiobit1), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit1) AddGadgetItem(#audiobit1,-1,"96") AddGadgetItem(#audiobit1,-1,"112") AddGadgetItem(#audiobit1,-1,"128") AddGadgetItem(#audiobit1,-1,"144") AddGadgetItem(#audiobit1,-1,"160") AddGadgetItem(#audiobit1,-1,"176") AddGadgetItem(#audiobit1,-1,"192") AddGadgetItem(#audiobit1,-1,"208") SetGadgetState(#audiobit1,2) EndIf If GetGadgetText(#aacch1)="5.1" chs.s="5" EndIf If GetGadgetText(#audiocodec1)="Copy Original" DisableGadget(#audiobit1,1) Else DisableGadget(#audiobit1,0) EndIf If GetGadgetState(#aacengine)=0 DisableGadget(#aacpass,1) DisableGadget(#aacencmode,0) ClearGadgetItemList(#aacfor) AddGadgetItem(#aacfor,-1,"AUTO") AddGadgetItem(#aacfor,-1,"LC") AddGadgetItem(#aacfor,-1,"HE") AddGadgetItem(#aacfor,-1,"HEV2") SetGadgetState(#aacfor,0) EndIf If GetGadgetState(#aacengine)=1 DisableGadget(#aacpass,1) DisableGadget(#aacencmode,1) ClearGadgetItemList(#aacfor) AddGadgetItem(#aacfor,-1,"AAC+") AddGadgetItem(#aacfor,-1,"LC") AddGadgetItem(#aacfor,-1,"High") SetGadgetState(#aacfor,0) EndIf If GetGadgetText(#audiocodec1)="MP3 5.1 Aud-X" SetGadgetState(#aacch1,0) EndIf If GetGadgetText(#audiocodec1)="MP3" Or GetGadgetText(#audiocodec1)="MP2" SetGadgetState(#aacch1,1) EndIf EndProcedure Procedure container() Debug ("sono in container") Debug ("#container="+GetGadgetText(#container)) Debug ("#container number="+Str(GetGadgetState(#container))) If GetGadgetText(#container)="ES Video" Or GetGadgetText(#container)="ES A/V" Or GetGadgetText(#container)="DVD" Or GetGadgetText(#container)="ES Audio" ClearGadgetItemList(#choosecodec) AddGadgetItem(#choosecodec, -1, "HCenc by Hank315") AddGadgetItem(#choosecodec, -1, "QuEnc") AddGadgetItem(#choosecodec, -1, "AutoQMatEnc") AddGadgetItem(#choosecodec, -1, "ReJig") SetGadgetState(#choosecodec,0) SetGadgetState(#setcodec,0) dvd.s="1" SetGadgetState(#resizer,1) ClearGadgetItemList(#width) If GetGadgetText(#ntsc)="25" AddGadgetItem(#width, -1, "720/576") AddGadgetItem(#width, -1, "704/576") AddGadgetItem(#width, -1, "480/576") AddGadgetItem(#width, -1, "352/576") AddGadgetItem(#width, -1, "352/288") EndIf If GetGadgetText(#ntsc)<>"25" AddGadgetItem(#width, -1, "720/480") AddGadgetItem(#width, -1, "704/480") AddGadgetItem(#width, -1, "352/480") AddGadgetItem(#width, -1, "352/240") EndIf SetGadgetState(#width,0) DisableGadget(#AR,1) DisableGadget(#sample,1) DisableGadget(#setcodec,1) DisableGadget(#dc,0) DisableGadget(#ardvd,0) DisableGadget(#bitdvd,0) DisableGadget(#hq,0) DisableGadget(#gop,0) DisableGadget(#interlaced,0) DisableGadget(#field,0) DisableGadget(#maxbit,0) DisableGadget(#cq,0) DisableGadget(#pass,0) DisableGadget(#avsopt,1) If GetGadgetText(#container)="DVD" : DisableGadget(#iso,0) : EndIf EndIf If GetGadgetText(#container)="ES Video" Or GetGadgetText(#container)="ES A/V" Or GetGadgetText(#container)="DVD" Or GetGadgetText(#container)="ES Audio" ClearGadgetItemList(#audiocodec1) AddGadgetItem(#audiocodec1,-1,"MP2") AddGadgetItem(#audiocodec1,-1,"AC3") AddGadgetItem(#audiocodec1,-1,"Copy Original") SetGadgetState(#audiocodec1,0) SetGadgetState(#audiobit1,4) ClearGadgetItemList(#audiocodec2) AddGadgetItem(#audiocodec2,-1,"MP2") AddGadgetItem(#audiocodec2,-1,"AC3") AddGadgetItem(#audiocodec2,-1,"Copy Original") SetGadgetState(#audiocodec2,0) SetGadgetState(#audiobit2,4) EndIf If GetGadgetText(#container)="AVI" Or GetGadgetText(#container)="MKV" Or GetGadgetText(#container)="MP4" ClearGadgetItemList(#choosecodec) AddGadgetItem(#choosecodec,-1,"1 Pass CBR Full Automatic XviD") AddGadgetItem(#choosecodec,-1,"2 Pass Full Automatic XviD") AddGadgetItem(#choosecodec,-1,"1 Pass Manual XviD") AddGadgetItem(#choosecodec,-1,"2 Pass Manual XviD") AddGadgetItem(#choosecodec,-1,"1 Pass Manual XviD but Automatic BITRATE") AddGadgetItem(#choosecodec,-1,"2 Pass Manual X264 but AUTO BITRATE VFW") AddGadgetItem(#choosecodec,-1,"1 Pass Manual X264 but AUTO BITRATE VFW") AddGadgetItem(#choosecodec,-1,"2 Pass FULL Automatic X264 VFW") AddGadgetItem(#choosecodec,-1,"1 Pass FULL Automatic X264 VFW") AddGadgetItem(#choosecodec,-1,"X264.exe Command Line") AddGadgetItem(#choosecodec,-1,"XviD Command Line") AddGadgetItem(#choosecodec,-1,"2 Pass Manual VFW Codec") AddGadgetItem(#choosecodec,-1,"1 Pass Manual VFW Codec") SetGadgetState(#choosecodec,1) SetGadgetState(#audiocodec1,0) SetGadgetState(#audiocodec2,0) SetGadgetState(#resizer,10) ClearGadgetItemList(#width) AddGadgetItem(#width, -1, "Automatic") AddGadgetItem(#width, -1, "720") AddGadgetItem(#width, -1, "704") AddGadgetItem(#width, -1, "688") AddGadgetItem(#width, -1, "672") AddGadgetItem(#width, -1, "656") AddGadgetItem(#width, -1, "640") AddGadgetItem(#width, -1, "624") AddGadgetItem(#width, -1, "592") AddGadgetItem(#width, -1, "576") SetGadgetState(#width,0) DisableGadget(#AR,0) DisableGadget(#sample,0) DisableGadget(#setcodec,0) SetGadgetState(#audiocodec1,0) SetGadgetState(#audiobit1,3) SetGadgetState(#audiocodec2,0) SetGadgetState(#audiobit2,3) DisableGadget(#iso,1) DisableGadget(#dc,1) DisableGadget(#ardvd,1) DisableGadget(#bitdvd,1) DisableGadget(#hq,1) DisableGadget(#gop,1) DisableGadget(#interlaced,1) DisableGadget(#field,1) DisableGadget(#maxbit,1) DisableGadget(#cq,1) DisableGadget(#pass,1) DisableGadget(#resizer,0) DisableGadget(#avsopt,0) EndIf If GetGadgetText(#container)="AVI" ClearGadgetItemList(#audiocodec1) AddGadgetItem(#audiocodec1,-1,"MP3") AddGadgetItem(#audiocodec1,-1,"Copy Original") SetGadgetState(#audiocodec1,0) ClearGadgetItemList(#audiocodec2) AddGadgetItem(#audiocodec2,-1,"MP3") AddGadgetItem(#audiocodec2,-1,"Copy Original") SetGadgetState(#audiocodec2,0) EndIf If GetGadgetText(#container)="MKV" ClearGadgetItemList(#audiocodec1) AddGadgetItem(#audiocodec1,-1,"MP3") AddGadgetItem(#audiocodec1,-1,"AAC") AddGadgetItem(#audiocodec1,-1,"OGG") AddGadgetItem(#audiocodec1,-1,"MP2") AddGadgetItem(#audiocodec1,-1,"AC3") AddGadgetItem(#audiocodec1,-1,"Copy Original") SetGadgetState(#audiocodec1,0) ClearGadgetItemList(#audiocodec2) AddGadgetItem(#audiocodec2,-1,"MP3") AddGadgetItem(#audiocodec2,-1,"LC") AddGadgetItem(#audiocodec2,-1,"OGG") AddGadgetItem(#audiocodec2,-1,"MP2") AddGadgetItem(#audiocodec2,-1,"AC3") AddGadgetItem(#audiocodec2,-1,"Copy Original") SetGadgetState(#audiocodec2,0) EndIf If GetGadgetText(#container)="MP4" ClearGadgetItemList(#audiocodec1) AddGadgetItem(#audiocodec1,-1,"MP3") AddGadgetItem(#audiocodec1,-1,"AAC") AddGadgetItem(#audiocodec1,-1,"OGG") AddGadgetItem(#audiocodec1,-1,"MP2") AddGadgetItem(#audiocodec1,-1,"Copy Original") SetGadgetState(#audiocodec1,0) ClearGadgetItemList(#audiocodec2) AddGadgetItem(#audiocodec2,-1,"MP3") AddGadgetItem(#audiocodec2,-1,"AAC") AddGadgetItem(#audiocodec2,-1,"OGG") AddGadgetItem(#audiocodec2,-1,"MP2") AddGadgetItem(#audiocodec2,-1,"Copy Original") SetGadgetState(#audiocodec2,0) EndIf acodec1() acodec2() EndProcedure Procedure pass() If GetGadgetText(#pass)="2 PASS" DisableGadget(#cq,1) DisableGadget(#maxbit,0) DisableGadget(#bitdvd,0) EndIf If GetGadgetText(#pass)="CQ AUTO" DisableGadget(#maxbit,1) DisableGadget(#cq,1) DisableGadget(#bitdvd,1) EndIf If GetGadgetText(#pass)="CQ Mode" DisableGadget(#maxbit,0) DisableGadget(#cq,0) DisableGadget(#bitdvd,1) EndIf If GetGadgetText(#pass)="1 Pass CBR" DisableGadget(#maxbit,0) DisableGadget(#cq,1) DisableGadget(#bitdvd,0) EndIf If GetGadgetText(#pass)="1 Pass VBR" DisableGadget(#maxbit,0) DisableGadget(#cq,1) DisableGadget(#bitdvd,0) EndIf If GetGadgetText(#pass)="2 PASS" DisableGadget(#maxbit,0) DisableGadget(#cq,1) DisableGadget(#bitdvd,0) EndIf EndProcedure Procedure setprecodec() Debug("GetGadgetState(#choosecodec)="+Str(GetGadgetState(#choosecodec))) Select GetGadgetState(#choosecodec) Case 2 DisableGadget(#setcodec,0) Case 3 DisableGadget(#setcodec,0) Case 4 DisableGadget(#setcodec,0) Case 5 DisableGadget(#setcodec,0) Case 6 DisableGadget(#setcodec,0) Case 0 DisableGadget(#setcodec,1) Case 1 DisableGadget(#setcodec,1) Case 7 DisableGadget(#setcodec,1) Case 8 DisableGadget(#setcodec,1) Case 8 DisableGadget(#setcodec,0) Case 11 DisableGadget(#setcodec,0) Case 12 DisableGadget(#setcodec,0) EndSelect If GetGadgetText(#choosecodec)="HCenc by Hank315" Or GetGadgetText(#choosecodec)="AutoQMatEnc" ;"HCenc by Hank315" "QuEnc" "AutoQMatEnc" ClearGadgetItemList(#pass) AddGadgetItem(#pass,-1,"2 PASS") AddGadgetItem(#pass,-1,"CQ Mode") AddGadgetItem(#pass,-1,"CQ AUTO") SetGadgetState(#pass,0) DisableGadget(#cq,0) DisableGadget(#width,0) DisableGadget(#resizer,0) DisableGadget(#filter1,0) DisableGadget(#filter2,0) DisableGadget(#filter3,0) DisableGadget(#deint,0) DisableGadget(#bitdvd,0) DisableGadget(#maxbit,0) DisableGadget(#gop,0) DisableGadget(#dc,0) DisableGadget(#ardvd,0) DisableGadget(#interlaced,0) DisableGadget(#field,0) DisableGadget(#ntsc,0) DisableGadget(#hq,0) Else If GetGadgetText(#choosecodec)="QuEnc" ;"HCenc by Hank315" "QuEnc" "AutoQMatEnc" ClearGadgetItemList(#pass) AddGadgetItem(#pass,-1,"1 Pass CBR") AddGadgetItem(#pass,-1,"1 Pass VBR") AddGadgetItem(#pass,-1,"2 PASS") SetGadgetState(#pass,2) DisableGadget(#cq,1) DisableGadget(#width,0) DisableGadget(#resizer,0) DisableGadget(#filter1,0) DisableGadget(#filter2,0) DisableGadget(#filter3,0) DisableGadget(#deint,0) DisableGadget(#bitdvd,0) DisableGadget(#maxbit,0) DisableGadget(#gop,0) DisableGadget(#dc,0) DisableGadget(#ardvd,0) DisableGadget(#interlaced,0) DisableGadget(#field,0) DisableGadget(#ntsc,0) DisableGadget(#hq,0) Else If GetGadgetText(#choosecodec)="ReJig" ;"HCenc by Hank315" "QuEnc" "AutoQMatEnc" ClearGadgetItemList(#pass) AddGadgetItem(#pass,-1,"TRANSCODER") SetGadgetState(#pass,0) DisableGadget(#cq,1) DisableGadget(#width,1) DisableGadget(#resizer,1) DisableGadget(#filter1,1) DisableGadget(#filter2,1) DisableGadget(#filter3,1) DisableGadget(#deint,1) DisableGadget(#bitdvd,1) DisableGadget(#maxbit,1) DisableGadget(#gop,1) DisableGadget(#dc,1) DisableGadget(#ardvd,1) DisableGadget(#interlaced,1) DisableGadget(#field,1) DisableGadget(#ntsc,1) DisableGadget(#hq,1) EndIf EndIf EndIf If GetGadgetText(#choosecodec)="HCenc by Hank315" Or GetGadgetText(#choosecodec)="AutoQMatEnc" Or GetGadgetText(#choosecodec)="QuEnc" Or GetGadgetText(#choosecodec)="ReJig" ;"HCenc by Hank315" "QuEnc" "AutoQMatEnc" DisableGadget(#setcodec,1) EndIf EndProcedure Procedure setcodec() Debug("sono in choosecodec") If GetGadgetState(#choosecodec)=0 :EndIf If GetGadgetState(#choosecodec)=1 :EndIf If GetGadgetState(#choosecodec)=2 MessageRequester("Set the Codec !", "Set the codec as you want for One Pass Encode",#PB_MessageRequester_Ok) RunProgram("rundll32"," xvidvfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\XviD "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Codec Export","Codec Settings Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=3 MessageRequester("Set the Codec !", "Set the codec as you want for the FIRST (of two) Pass Encode",#PB_MessageRequester_Ok) RunProgram("rundll32"," xvidvfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\XviD "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Set the Codec !", "Set the codec as you want for the SECOND (of two) Pass Encode",#PB_MessageRequester_Ok) RunProgram("rundll32"," xvidvfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\XviD "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Codec Export","Codec Settings Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=4 MessageRequester("Set the Codec !", "Set the codec as you want for One Pass Encode (bitrate will be set by application)",#PB_MessageRequester_Ok) RunProgram("rundll32"," xvidvfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\XviD "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Codec Export","Codec Settings Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=5 MessageRequester("Set the Codec !", "Set the codec as you want for the FIRST (of two) Pass Encode",#PB_MessageRequester_Ok) RunProgram("rundll32"," x264vfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\x264 "+Chr(34)+dest.s+"pass1.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Set the Codec !", "Set the codec as you want for the SECOND (of two) Pass Encode",#PB_MessageRequester_Ok) RunProgram("rundll32"," x264vfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\x264 "+Chr(34)+dest.s+"pass2.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Codec Export","Codec Settings Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=6 MessageRequester("Set the Codec !", "Set the codec as you want for One Pass Encode (bitrate will be set by application)",#PB_MessageRequester_Ok) RunProgram("rundll32"," x264vfw.dll, Configure","",1) RunProgram("reg"," export HKEY_CURRENT_USER\Software\GNU\x264 "+Chr(34)+dest.s+"pass.reg"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("Codec Export","Codec Settings Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=11 CreateFile(0,dest.s+"conf.avs") WriteStringN(0,"version()") CloseFile(0) MessageRequester("2 Pass Manual VFW", "Set the codec as you want for FIRST Pass",#PB_MessageRequester_Ok) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"conf.avs"+Chr(34)+" "+Chr(34)+dest.s+"conf1.avi"+Chr(34)+" -e -s "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("2 Pass Manual VFW", "Set the codec as you want for SECOND Pass",#PB_MessageRequester_Ok) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"conf.avs"+Chr(34)+" "+Chr(34)+dest.s+"conf2.avi"+Chr(34)+" -e -s "+Chr(34)+dest.s+"conf2.pass"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("2 Pass Manual VFW","Codec Exported",#PB_MessageRequester_Ok) EndIf If GetGadgetState(#choosecodec)=12 CreateFile(0,dest.s+"conf.avs") WriteStringN(0,"version()") CloseFile(0) MessageRequester("1 Pass Manual VFW", "Set the codec as you want for One Pass",#PB_MessageRequester_Ok) RunProgram(pexe.s+"encoder\avs2avi.exe"," "+Chr(34)+dest.s+"conf.avs"+Chr(34)+" "+Chr(34)+dest.s+"conf1.avi"+Chr(34)+" -e -s "+Chr(34)+dest.s+"conf1.pass"+Chr(34),"",#PB_Program_Hide|#PB_Program_Wait) MessageRequester("1 Pass Manual VFW","Codec Exported",#PB_MessageRequester_Ok) EndIf writelog("Choose encoding type: "+GetGadgetText(#choosecodec)) EndProcedure Procedure acodec2() Debug ("sono in acodec2") Debug ("#audiocodec1="+GetGadgetText(#audiocodec2)) If GetGadgetText(#audiocodec2)="OGG" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #True, 0) ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"Quality 0") AddGadgetItem(#audiobit2,-1,"Quality 1") AddGadgetItem(#audiobit2,-1,"Quality 2") AddGadgetItem(#audiobit2,-1,"Quality 3") AddGadgetItem(#audiobit2,-1,"Quality 4") AddGadgetItem(#audiobit2,-1,"Quality 5") AddGadgetItem(#audiobit2,-1,"Quality 6") AddGadgetItem(#audiobit2,-1,"Quality 7") AddGadgetItem(#audiobit2,-1,"Quality 8") AddGadgetItem(#audiobit2,-1,"Quality 9") AddGadgetItem(#audiobit2,-1,"Quality 10") SetGadgetState(#audiobit2,4) ElseIf GetGadgetText(#audiocodec2)="AAC" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) If GetGadgetState(#aacencmode)<>2 ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"48") AddGadgetItem(#audiobit2,-1,"64") AddGadgetItem(#audiobit2,-1,"80") AddGadgetItem(#audiobit2,-1,"96") AddGadgetItem(#audiobit2,-1,"112") AddGadgetItem(#audiobit2,-1,"128") AddGadgetItem(#audiobit2,-1,"144") AddGadgetItem(#audiobit2,-1,"160") SetGadgetState(#audiobit2,3) EndIf If GetGadgetState(#aacencmode)=2 ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"0.1") AddGadgetItem(#audiobit2,-1,"0.2") AddGadgetItem(#audiobit2,-1,"0.3") AddGadgetItem(#audiobit2,-1,"0.4") AddGadgetItem(#audiobit2,-1,"0.5") AddGadgetItem(#audiobit2,-1,"0.6") AddGadgetItem(#audiobit2,-1,"0.7") AddGadgetItem(#audiobit2,-1,"0.8") AddGadgetItem(#audiobit2,-1,"0.9") AddGadgetItem(#audiobit2,-1,"1") SetGadgetState(#audiobit2,2) EndIf ElseIf GetGadgetText(#audiocodec2)="MP3 5.1 Aud-X" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #True, 0) ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"80 STRQ") AddGadgetItem(#audiobit2,-1,"128 STDQ") AddGadgetItem(#audiobit2,-1,"192 HGHQ") AddGadgetItem(#audiobit2,-1,"192 SPBQ") SetGadgetState(#audiobit2,1) ElseIf GetGadgetText(#mp3cbr)="-V" If GetGadgetText(#audiocodec2)="MP3" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"9") AddGadgetItem(#audiobit2,-1,"8") AddGadgetItem(#audiobit2,-1,"7") AddGadgetItem(#audiobit2,-1,"6") AddGadgetItem(#audiobit2,-1,"5") AddGadgetItem(#audiobit2,-1,"4") AddGadgetItem(#audiobit2,-1,"3") AddGadgetItem(#audiobit2,-1,"2") AddGadgetItem(#audiobit2,-1,"1") SetGadgetState(#audiobit2,4) EndIf ElseIf GetGadgetText(#audiocodec2)="Aften AC3" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"192") AddGadgetItem(#audiobit2,-1,"224") AddGadgetItem(#audiobit2,-1,"256") AddGadgetItem(#audiobit2,-1,"384") SetGadgetState(#audiobit2,4) ElseIf GetGadgetText(#audiocodec2)="QuEnc AC3" hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) ClearGadgetItemList(#audiobit2) AddGadgetItem(#audiobit2,-1,"192") AddGadgetItem(#audiobit2,-1,"224") AddGadgetItem(#audiobit2,-1,"256") AddGadgetItem(#audiobit2,-1,"384") SetGadgetState(#audiobit2,1) Else ClearGadgetItemList(#audiobit2) hComboEdit = FindWindowEx_(GadgetID(#audiobit2), #Null, "Edit", #Null) SendMessage_(hComboEdit, #EM_SETREADONLY, #False, 0) AddGadgetItem(#audiobit2,-1,"96") AddGadgetItem(#audiobit2,-1,"112") AddGadgetItem(#audiobit2,-1,"128") AddGadgetItem(#audiobit2,-1,"144") AddGadgetItem(#audiobit2,-1,"160") AddGadgetItem(#audiobit2,-1,"176") AddGadgetItem(#audiobit2,-1,"192") AddGadgetItem(#audiobit2,-1,"208") SetGadgetState(#audiobit2,2) EndIf If GetGadgetText(#aacch2)="5.1" chs2.s="5" EndIf If GetGadgetText(#audiocodec2)="Copy Original" DisableGadget(#audiobit2,1) Else DisableGadget(#audiobit2,0) EndIf If GetGadgetState(#aacengine)=0 DisableGadget(#aacpass,1) DisableGadget(#aacencmode,0) ClearGadgetItemList(#aacfor) AddGadgetItem(#aacfor,-1,"AUTO") AddGadgetItem(#aacfor,-1,"LC") AddGadgetItem(#aacfor,-1,"HE") AddGadgetItem(#aacfor,-1,"HEV2") SetGadgetState(#aacfor,0) EndIf If GetGadgetState(#aacengine)=1 DisableGadget(#aacpass,1) DisableGadget(#aacencmode,1) ClearGadgetItemList(#aacfor) AddGadgetItem(#aacfor,-1,"AAC+") AddGadgetItem(#aacfor,-1,"LC") AddGadgetItem(#aacfor,-1,"High") SetGadgetState(#aacfor,0) EndIf If GetGadgetText(#audiocodec2)="MP3 5.1 Aud-X" SetGadgetState(#aacch2,0) EndIf If GetGadgetText(#audiocodec2)="MP3" Or GetGadgetText(#audiocodec2)="MP2" SetGadgetState(#aacch2,1) EndIf EndProcedure Procedure cleandvd() If GetGadgetState(#clean)=1 del.s=dest.s+"checkmedia.txt" DeleteFile(del.s) del.s=dest.s+"frame.txt" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqe2p.ecl" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqecq.ecl" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqecqa.ecl" DeleteFile(del.s) If GetGadgetText(#container)="ES Video" : del.s=dest.s+audio1tip.s : DeleteFile(del.s) : del.s=dest.s+audio2tip.s : DeleteFile(del.s) : EndIf If GetGadgetText(#container)="ES Audio" : del.s=dest.s+"movie.mpv" : DeleteFile(del.s) : EndIf If GetGadgetText(#container)="DVD" : del.s=dest.s+audio1tip.s : DeleteFile(del.s) : del.s=dest.s+audio2tip.s : DeleteFile(del.s) : del.s=dest.s+"movie.mpv" : DeleteFile(del.s) : del.s=dest.s+"vts1.sup" : DeleteFile(del.s) : del.s=dest.s+"vts2.sup" : DeleteFile(del.s) : EndIf del.s=dest.s+"movielenght.avi" DeleteFile(del.s) del.s=dest.s+"movie.avs" DeleteFile(del.s) del.s=dest.s+"movie.mpv.txt" DeleteFile(del.s) del.s=dest.s+"movie.avs.log" DeleteFile(del.s) del.s=dest.s+"movie.d2v" DeleteFile(del.s) del.s=dest.s+"time.avs" DeleteFile(del.s) del.s=dest.s+"movie.vaf" DeleteFile(del.s) del.s=dest.s+"mkvmagic_hc.ini" DeleteFile(del.s) del.s=dest.s+"dvd.mxp" DeleteFile(del.s) del.s="c:\muxman.log" DeleteFile(del.s) del.s="c:\qmatrix.txt" DeleteFile(del.s) del.s=pexe.s+"vsrip\fabexlog.txt" DeleteFile(del.s) del.s=dest.s+"stats" DeleteFile(del.s) del.s=dest.s+"audiomp2.wav" DeleteFile(del.s) del.s=dest.s+"AutoCrop.log" DeleteFile(del.s) del.s=dest.s+"audiomp2.wav" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs.bautodeint_temp.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs.bautodeint_temp.data" DeleteFile(del.s) del.s=dest.s+"deint.bat" DeleteFile(del.s) del.s=dest.s+"deint.log" DeleteFile(del.s) del.s=dest.s+"mkvmaudio.avs" DeleteFile(del.s) del.s=dest.s+"mkvmaudio.bat" DeleteFile(del.s) del.s=dest.s+"movielenght.mp4" DeleteFile(del.s) If GetGadgetState(#iso)=1 : deldir.s=dest.s+"BURN" : DeleteDirectory(deldir.s,"",#PB_FileSystem_Recursive) : EndIf EndIf EndProcedure Procedure scalcf() Debug("sono in scalcf()") hr.l=0 ms.l=0 sc.l=0 fps.l=25 If GetGadgetState(#f23)=1 :fps.l=23.976 :EndIf If GetGadgetState(#f25)=1 :fps.l=25.000 :EndIf If GetGadgetState(#f29)=1 :fps.l=29.970 :EndIf hr.l=Val(GetGadgetText(#String_85)) ms.l=Val(GetGadgetText(#String_86)) sc.l=Val(GetGadgetText(#String_87)) tframes.l=(sc.l*fps.l)+(ms.l*fps.l*60)+(hr.l*fps.l*60*60) SetGadgetText(#scredit,Str(tframes.l)) EndProcedure Procedure numberofreferenceframes() numberofreferenceframes.l=GetGadgetState(#numberofreferenceframes) SetGadgetText(#numberofreferenceframes,Str(numberofreferenceframes.l)) If numberofreferenceframes.l<=1: SetGadgetState(#mixed,0) : DisableGadget(#mixed,1) : EndIf If numberofreferenceframes.l=>2: SetGadgetState(#mixed,1) : DisableGadget(#mixed,0) : EndIf EndProcedure Procedure numberofbframes() numberofbframes.l=GetGadgetState(#numberofbframes) SetGadgetState(#numberofbframes,numberofbframes.l) SetGadgetText(#numberofbframes,Str(numberofbframes.l)) If numberofbframes.l<=1 : SetGadgetState(#adaptive,0) : DisableGadget(#adaptive,1) : SetGadgetState(#pyramid,0) : DisableGadget(#pyramid,1) : xpyramid.s=" " : EndIf If numberofbframes.l=>2 : SetGadgetState(#adaptive,1) : DisableGadget(#adaptive,0) : SetGadgetState(#pyramid,1) : DisableGadget(#pyramid,0) : xpyramid.s="--b-pyramid " :DisableGadget(#weightedprediction,0) : EndIf If numberofbframes.l=<0 : SetGadgetState(#weightedprediction,0) : DisableGadget(#weightedprediction,1) : SetGadgetState(#rdoforbframes,0) : DisableGadget(#rdoforbframes,1) : EndIf If numberofbframes.l=>1 : SetGadgetState(#weightedprediction,1) : SetGadgetState(#rdoforbframes,1) : DisableGadget(#rdoforbframes,0) : DisableGadget(#bime,0) : EndIf If numberofbframes.l=0 xnumberofbframes.s=" " DisableGadget(#bime,1) ElseIf numberofbframes.l>0 xnumberofbframes.s="--bframes "+Str(numberofbframes.l)+" " DisableGadget(#bime,0) EndIf Debug ("GetGadgettext(#numberofbframes)="+GetGadgetText(#numberofbframes)) Debug ("xnumberofbframes.s="+xnumberofbframes.s) If IsWindowEnabled_(GadgetID(#numberofbframes))=0 ;disabled DisableGadget(#adaptive,1) ;disabled SetGadgetState(#adaptive,0) DisableGadget(#pyramid,1) SetGadgetState(#pyramid,0) DisableGadget(#weightedprediction,1) SetGadgetState(#rdoforbframes,0) DisableGadget(#rdoforbframes,1) SetGadgetText(#numberofbframes,"0") SetGadgetState(#numberofbframes,0) DisableGadget(#bime,1) xnumberofbframes.s=" " xpyramid.s=" " xrdoforbframes.s=" " EndIf Debug("xpyramids.s="+xpyramid.s) ;If IsWindowEnabled_(GadgetID(#numberofbframes))=1 ;enabled ; DisableGadget(#adaptive,0) ;enabled ; DisableGadget(#pyramid,0) ; DisableGadget(#adaptive,0) ; DisableGadget(#weightedprediction,0) ; DisableGadget(#rdoforbframes,0) ; EndIf EndProcedure Procedure deblockfilter() If GetGadgetState(#deblockfilter)=0 DisableGadget(#alphadeblocking,1) DisableGadget(#betadeblocking,1) EndIf If GetGadgetState(#deblockfilter)=1 DisableGadget(#alphadeblocking,0) DisableGadget(#betadeblocking,0) alphadeblocking() betadeblocking() EndIf EndProcedure Procedure alphadeblocking() alphadeblocking.l=GetGadgetState(#alphadeblocking)-6 SetGadgetText(#alphadeblocking,Str(alphadeblocking.l)) Debug("alphadeblocking.l="+Str(alphadeblocking.l)) Debug("getgadgettext(#alphadeblocking)="+GetGadgetText(#alphadeblocking)) EndProcedure Procedure betadeblocking() betadeblocking.l=GetGadgetState(#betadeblocking)-6 SetGadgetText(#betadeblocking,Str(betadeblocking.l)) Debug("betadeblocking.l="+Str(betadeblocking.l)) Debug("getgadgettext(#betadeblocking)="+GetGadgetText(#betadeblocking)) EndProcedure Procedure bquantizermatrixfile() matrixfile.s=OpenFileRequester("Open Matrix File",dest.s+"*","*.*",0) SetGadgetText(#matrixfile,GetFilePart(matrixfile.s)) If matrixfile.s="" SetGadgetText(#matrixfile,"Quantitizer Matrix file") matrixfile.s="Quantitizer Matrix file" EndIf EndProcedure Procedure macroblockoption() If GetGadgetState(#macroblockoption)=0 DisableGadget(#i4x4,1) DisableGadget(#p4x4,1) DisableGadget(#p8x8,1) DisableGadget(#b8x8,1) DisableGadget(#i8x8,1) DisableGadget(#adaptivedct,1) SetGadgetState(#i4x4,1) SetGadgetState(#p4x4,1) SetGadgetState(#p8x8,1) SetGadgetState(#b8x8,1) SetGadgetState(#i8x8,1) SetGadgetState(#adaptivedct,1) EndIf If GetGadgetState(#macroblockoption)=1 DisableGadget(#i4x4,1) DisableGadget(#p4x4,1) DisableGadget(#p8x8,1) DisableGadget(#b8x8,1) DisableGadget(#i8x8,1) DisableGadget(#adaptivedct,1) SetGadgetState(#i4x4,0) SetGadgetState(#p4x4,0) SetGadgetState(#p8x8,0) SetGadgetState(#b8x8,0) SetGadgetState(#i8x8,0) SetGadgetState(#adaptivedct,0) EndIf If GetGadgetState(#macroblockoption)=2 DisableGadget(#i4x4,0) DisableGadget(#p4x4,0) DisableGadget(#p8x8,0) DisableGadget(#b8x8,0) DisableGadget(#i8x8,0) DisableGadget(#adaptivedct,0) SetGadgetState(#i4x4,0) SetGadgetState(#p4x4,0) SetGadgetState(#p8x8,0) SetGadgetState(#b8x8,0) SetGadgetState(#i8x8,0) SetGadgetState(#adaptivedct,0) EndIf EndProcedure Procedure avcprofiles() If GetGadgetState(#avcprofiles)=0 DisableGadget(#lossless,1) DisableGadget(#numberofbframes,1) DisableGadget(#cabac,1) SetGadgetState(#cabac,0) SetGadgetState(#i8x8,0) DisableGadget(#i8x8,1) DisableGadget(#adaptivedct,1) SetGadgetState(#adaptivedct,0) DisableGadget(#weightedprediction,1) SetGadgetState(#weightedprediction,0) numberofbframes.l=0 SetGadgetState(#numberofbframes,0) SetGadgetState(#rdoforbframes,0) Debug("in avcprofiles numberofbframes.l="+Str(numberofbframes.l)) numberofbframes() EndIf If GetGadgetState(#avcprofiles)=1 DisableGadget(#lossless,1) DisableGadget(#numberofbframes,0) SetGadgetState(#rdoforbframes,1) DisableGadget(#cabac,1) SetGadgetState(#cabac,0) DisableGadget(#i8x8,1) SetGadgetState(#i8x8,0) DisableGadget(#adaptivedct,1) SetGadgetState(#adaptivedct,0) DisableGadget(#weightedprediction,0) numberofbframes.l=3 SetGadgetState(#numberofbframes,3) numberofbframes() EndIf If GetGadgetState(#avcprofiles)=2 DisableGadget(#lossless,0) DisableGadget(#numberofbframes,0) SetGadgetState(#rdoforbframes,1) DisableGadget(#cabac,0) SetGadgetState(#cabac,1) DisableGadget(#i8x8,0) SetGadgetState(#i8x8,1) DisableGadget(#adaptivedct,0) SetGadgetState(#adaptivedct,1) DisableGadget(#weightedprediction,0) SetGadgetState(#weightedprediction,1) numberofbframes.l=3 SetGadgetState(#numberofbframes,3) numberofbframes() EndIf EndProcedure Procedure minimumquantitizer() SetGadgetText(#minimumquantitizer,Str(GetGadgetState(#minimumquantitizer))) MinQuantizer.s=Str(GetGadgetState(#minimumquantitizer)) Debug("MinQuantizer.s="+MinQuantizer.s) EndProcedure Procedure maximumquantitizer() SetGadgetText(#maximumquantitizer,Str(GetGadgetState(#maximumquantitizer))) MaxQuantizer.s=Str(GetGadgetState(#maximumquantitizer)) Debug("MaxQuantizer.s="+MaxQuantizer.s) EndProcedure Procedure CReditsquantitizer() SetGadgetText(#CReditsquantitizer,Str(GetGadgetState(#CReditsquantitizer))) CreditsQuantizer.s=Str(GetGadgetState(#CReditsquantitizer)) Debug("CreditsQuantizer.s="+CreditsQuantizer.s) EndProcedure Procedure strength() SetGadgetText(#strength,StrF(GetGadgetState(#strength)/10,1)) AQStrength.s=Str(GetGadgetState(#strength)) Debug("Str(GetGadgetState(#strength))="+Str(GetGadgetState(#strength))) Debug("GetGadgetText(#strength)="+GetGadgetText(#strength)) EndProcedure Procedure sensitivity() SetGadgetText(#sensitivity,StrF(GetGadgetState(#sensitivity)/10,1)) AQSensitivity.s=Str(GetGadgetState(#sensitivity)) Debug("Str(GetGadgetState(#sensitivity))="+Str(GetGadgetState(#sensitivity))) Debug("GetGadgetText(#sensitivity)="+GetGadgetText(#sensitivity)) EndProcedure Procedure maximumquantitizerdelta() SetGadgetText(#maximumquantitizerdelta,Str(GetGadgetState(#maximumquantitizerdelta))) MaxQuantDelta.s=Str(GetGadgetState(#maximumquantitizerdelta)) Debug("MaxQuantDelta.s="+MaxQuantDelta.s) EndProcedure Procedure factoripq() SetGadgetText(#factoripq,StrF(GetGadgetState(#factoripq)/10,1)) IPFactor.s=Str(GetGadgetState(#factoripq)) Debug("IPFactor.s="+IPFactor.s) EndProcedure Procedure factorpbq() SetGadgetText(#factorpbq,StrF(GetGadgetState(#factorpbq)/10,1)) PBFactor.s=Str(GetGadgetState(#factorpbq)) Debug("PBFactor.s="+PBFactor.s) EndProcedure Procedure chromaqpoffset() ChromaQPOffset.s=Str(GetGadgetState((#chromaqpoffset))-12) SetGadgetText(#chromaqpoffset,ChromaQPOffset.s) Debug("ChromaQPOffset.s="+ChromaQPOffset.s) EndProcedure Procedure vbvinitialbuffer() SetGadgetText(#vbvinitialbuffer,StrF(GetGadgetState(#vbvinitialbuffer)/10,1)) VBVInitialBuffer.s=Str(GetGadgetState(#vbvinitialbuffer)) Debug("VBVInitialBuffer.s="+VBVInitialBuffer.s) EndProcedure Procedure bitratevariance() SetGadgetText(#bitratevariance,StrF(GetGadgetState(#bitratevariance)/100,1)) BitrateVariance.s=Str(GetGadgetState(#bitratevariance)) Debug("BitrateVariance.s="+BitrateVariance.s) EndProcedure Procedure quantitizercompression() SetGadgetText(#quantitizercompression,StrF(GetGadgetState(#quantitizercompression)/10,1)) QuantCompression.s=Str(GetGadgetState(#quantitizercompression)) Debug("QuantCompression.s="+QuantCompression.s) EndProcedure Procedure tempblurfc() SetGadgetText(#tempblurfc,Str(GetGadgetState(#tempblurfc))) TempComplexityBlur.s=Str(GetGadgetState(#tempblurfc)) Debug("TempComplexityBlur.s="+TempComplexityBlur.s) EndProcedure Procedure tempblurqcc() SetGadgetText(#tempblurqcc,StrF(GetGadgetState(#tempblurqcc)/10,1)) TempQuanBlurCC.s=Str(GetGadgetState(#tempblurqcc)) Debug("TempQuanBlurCC.s="+TempQuanBlurCC.s) EndProcedure Procedure scdsensitivity() SetGadgetText(#scdsensitivity,StrF(GetGadgetState(#scdsensitivity)-100,0)) SCDSensitivity.s=Str(GetGadgetState(#scdsensitivity)) Debug("SCDSensitivity.s="+SCDSensitivity.s) EndProcedure Procedure bframesbias() SetGadgetText(#bframesbias,StrF(GetGadgetState(#bframesbias)-100,0)) BframeBias.s=Str(GetGadgetState(#bframesbias)) Debug("BframeBias.s="+BframeBias.s) EndProcedure Procedure merange() SetGadgetText(#merange,StrF(GetGadgetState(#merange),0)) MERange.s=Str(GetGadgetState(#merange)) Debug("MERange.s="+MERange.s) EndProcedure Procedure nbthreads() SetGadgetText(#nbthreads,StrF(GetGadgetState(#nbthreads),0)) NbThreads.s=Str(GetGadgetState(#nbthreads)) Debug("NbThreads.s="+NbThreads.s) EndProcedure Procedure sizecd() If GetGadgetState(#SIzecd)=0 : sizemb.s="175" : EndIf If GetGadgetState(#SIzecd)=1 : sizemb.s="350" : EndIf If GetGadgetState(#SIzecd)=2 : sizemb.s="700" : EndIf If GetGadgetState(#SIzecd)=3 : sizemb.s="1400" : EndIf If GetGadgetState(#SIzecd)=4 : sizemb.s="2100" : EndIf If GetGadgetState(#SIzecd)=5 : sizemb.s="4479" : EndIf If GetGadgetState(#SIzecd)=6 : sizemb.s="1466" : EndIf If GetGadgetState(#SIzecd)=7 : sizemb.s="1100" : EndIf If GetGadgetState(#SIzecd)=8 : sizemb.s="880" : EndIf If GetGadgetState(#SIzecd)=9 : sizemb.s="733" : EndIf If GetGadgetState(#SIzecd)=-1 : sizemb.s=GetGadgetText(#SIzecd) : EndIf Debug("GetGadgetState(#SIzecd)="+Str(GetGadgetState(#SIzecd))) sizetotal.f=Val(sizemb.s)*Val(GetGadgetText(#numcd)) Debug("sizetotal.f="+StrF(sizetotal.f,0)) SetGadgetText(#totalsize,Str(Val(sizemb.s)*Val(GetGadgetText(#numcd)))) EndProcedure Procedure frames() hour.f=Val(GetGadgetText(#hours)) minutes.f=Val(GetGadgetText(#minutes)) seconds.f=Val(GetGadgetText(#seconds)) framerate.f=ValF(GetGadgetText(#framerate)) sect.f=hour.f*60*60+minutes.f*60+seconds.f caudiobit1.f=ValF(GetGadgetText(#calcaudiobit1)) caudiobit2.f=ValF(GetGadgetText(#calcaudiobit2)) frames.f=(hour.f*60*60+minutes.f*60+seconds.f)*framerate.f calcaudiosize1.f=((caudiobit1.f/8)*sect.f)/1024 calcaudiosize2.f=((caudiobit2.f/8)*sect.f)/1024 SetGadgetText(#frames,StrF(frames.f,0)) SetGadgetText(#SIzeaudio1,StrF(calcaudiosize1.f,0)) SetGadgetText(#SIzeaudio2,StrF(calcaudiosize2.f,0)) ;bitrate.s=Str(Int((((sizemb.l-audiosz1.l-audiosz2.l-subssize1.l/2)*0.995)/(tsec.l)*8)/1000)) ;rem (Size - (Audio x Length )) / Length = Video bitrate ;SetGadgetText(#frames,Str((Val(GetGadgetText(#hours))*60*60+Val(GetGadgetText(#minutes))*60+Val(GetGadgetText(#seconds)))*Val(GetGadgetText(#framerate)))) ;audiosize=(bitrate/8)*minutes*60 -> in kilobytes EndProcedure Procedure bframes1() hour.f=Val(GetGadgetText(#hours)) minutes.f=Val(GetGadgetText(#minutes)) seconds.f=Val(GetGadgetText(#seconds)) framerate.f=ValF(GetGadgetText(#framerate)) sect.f=hour.f*60*60+minutes.f*60+seconds.f caudiobit1.f=ValF(GetGadgetText(#calcaudiobit1)) caudiobit2.f=ValF(GetGadgetText(#calcaudiobit2)) frames.f=(hour.f*60*60+minutes.f*60+seconds.f)*framerate.f calcaudiosize1.f=((caudiobit1.f/8)*sect.f)/1024 calcaudiosize2.f=((caudiobit2.f/8)*sect.f)/1024 SetGadgetText(#SIzeaudio1,StrF(calcaudiosize1.f,0)) EndProcedure Procedure bframes2() hour.f=Val(GetGadgetText(#hours)) minutes.f=Val(GetGadgetText(#minutes)) seconds.f=Val(GetGadgetText(#seconds)) framerate.f=ValF(GetGadgetText(#framerate)) sect.f=hour.f*60*60+minutes.f*60+seconds.f caudiobit1.f=ValF(GetGadgetText(#calcaudiobit1)) caudiobit2.f=ValF(GetGadgetText(#calcaudiobit2)) frames.f=(hour.f*60*60+minutes.f*60+seconds.f)*framerate.f calcaudiosize1.f=((caudiobit1.f/8)*sect.f)/1024 calcaudiosize2.f=((caudiobit2.f/8)*sect.f)/1024 SetGadgetText(#SIzeaudio2,StrF(calcaudiosize2.f,0)) EndProcedure Procedure bcalcaudiobit1() size1.s=OpenFileRequester("Browse for First file size",dest.s+"*","Audio, (*.ac3,*.wav,*.ogg,*.mpa,*.mp2,*.mp3,*.acc,*.mp4)|*.ac3;*.wav;*.ogg;*.mpa;*.mp2;*.mp3;*.acc;*.mp4", 0) SetGadgetText(#SIzeaudio1,StrF(FileSize(size1.s)/1024/1024,0)) EndProcedure Procedure bcalcaudiobit2() size2.s=OpenFileRequester("Browse for First file size",dest.s+"*","Audio, (*.ac3,*.wav,*.ogg,*.mpa,*.mp2,*.mp3,*.acc,*.mp4)|*.ac3;*.wav;*.ogg;*.mpa;*.mp2;*.mp3;*.acc;*.mp4", 0) SetGadgetText(#SIzeaudio2,StrF(FileSize(size2.s)/1024/1024,0)) EndProcedure Procedure bcalcbit() hour.f=Val(GetGadgetText(#hours)) minutes.f=Val(GetGadgetText(#minutes)) seconds.f=Val(GetGadgetText(#seconds)) framerate.f=ValF(GetGadgetText(#framerate)) sect.f=hour.f*60*60+minutes.f*60+seconds.f calcaudiosize1.f=Val(GetGadgetText(#SIzeaudio1)) calcaudiosize2.f=Val(GetGadgetText(#SIzeaudio2)) Debug ("calcaudiosize1.f="+StrF(calcaudiosize1.f)) Debug ("calcaudiosize2.f="+StrF(calcaudiosize2.f)) Debug ("sizetotal.f="+Str(sizetotal.f)) Debug ("sect.f="+StrF(sect.f)) If GetGadgetState(#bxvid)=1 videobit.f=((sizetotal.f*1024*1024-calcaudiosize1.f*1024*1024-calcaudiosize2.f*1024*1024)/sect.f*8/1.002)/1024 ElseIf GetGadgetState(#bx264)=1 videobit.f=((sizetotal.f*1024*1024-calcaudiosize1.f*1024*1024-calcaudiosize2.f*1024*1024)/sect.f*8/1.002)/1000 EndIf SetGadgetText(#calcbit,StrF(videobit.f,0)) SetClipboardText(StrF(Int(videobit.f)+1)) EndProcedure Procedure bprofiles() If FileSize(here.s+"profiles\video\default.xml")=-1 : ProcedureReturn : EndIf profilefile.s=here.s+"profiles\video\"+GetGadgetText(#profiles) Debug ("profilefile.s="+profilefile.s) fh = OpenFile(#PB_Any,profilefile.s) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"",1) EncodingMode.s=StringField(line.s,2,">") EncodingMode.s=StringField(EncodingMode.s,1,"<") Debug("EncodingMode.s="+EncodingMode.s) If EncodingMode.s="0" : SetGadgetState(#mode,0) : EndIf If EncodingMode.s="1" : SetGadgetState(#mode,1) : EndIf If EncodingMode.s="4" : SetGadgetState(#mode,2) : EndIf If EncodingMode.s="8" : SetGadgetState(#mode,2) : EndIf If EncodingMode.s="9" : SetGadgetState(#mode,3) : EndIf EndIf If FindString(line.s,"",1) BitrateQuantizer.s=StringField(line.s,2,">") BitrateQuantizer.s=StringField(BitrateQuantizer.s,1,"<") Debug("BitrateQuantizer.s="+BitrateQuantizer.s) ;SetGadgetText(#bitrate,BitrateQuantizer.s) EndIf If FindString(line.s,"",1) KeyframeInterval.s=StringField(line.s,2,">") KeyframeInterval.s=StringField(KeyframeInterval.s,1,"<") Debug("KeyframeInterval.s="+KeyframeInterval.s) SetGadgetText(#keyframeinterval,KeyframeInterval.s) EndIf If FindString(line.s,"",1) NbBframes.s=StringField(line.s,2,">") NbBframes.s=StringField(NbBframes.s,1,"<") Debug("NbBframes.s="+NbBframes.s) SetGadgetState(#numberofbframes,Val(NbBframes.s)) SetGadgetText(#numberofbframes,NbBframes.s) numberofbframes() EndIf If FindString(line.s,"",1) MinQuantizer.s=StringField(line.s,2,">") MinQuantizer.s=StringField(MinQuantizer.s,1,"<") Debug("MinQuantizer.s="+MinQuantizer.s) SetGadgetState(#minimumquantitizer,Val(MinQuantizer.s)) SetGadgetText(#minimumquantitizer,MinQuantizer.s) EndIf If FindString(line.s,"",1) MaxQuantizer.s=StringField(line.s,2,">") MaxQuantizer.s=StringField(MaxQuantizer.s,1,"<") Debug("MaxQuantizer.s="+MaxQuantizer.s) SetGadgetState(#maximumquantitizer,Val(MaxQuantizer.s)) SetGadgetText(#maximumquantitizer,MaxQuantizer.s) EndIf If FindString(line.s,"",1) SARX.s=StringField(line.s,2,">") SARX.s=StringField(SARX.s,1,"<") Debug("SARX.s="+SARX.s) ;SetGadgetState(#sarw,Val(SARX.s)) ;SetGadgetText(#sarw,SARX.s) EndIf If FindString(line.s,"",1) SARY.s=StringField(line.s,2,">") SARY.s=StringField(SARY.s,1,"<") Debug("SARY.s="+SARY.s) ;SetGadgetState(#sarh,Val(SARY.s)) ;SetGadgetText(#sarh,SARY.s) EndIf If FindString(line.s,"",1) Turbo.s=StringField(line.s,2,">") Turbo.s=StringField(Turbo.s,1,"<") Debug("Turbo.s="+Turbo.s) If Turbo.s="true" : SetGadgetState(#turbo,1) :EndIf If Turbo.s="false" : SetGadgetState(#turbo,0) :EndIf EndIf If FindString(line.s,"",1) V4MV.s=StringField(line.s,2,">") V4MV.s=StringField(V4MV.s,1,"<") Debug("V4MV.s="+V4MV.s) If V4MV.s="true" : EndIf If V4MV.s="false" : EndIf EndIf If FindString(line.s,"",1) Trellis.s=StringField(line.s,2,">") Trellis.s=StringField(Trellis.s,1,"<") Debug("Trellis.s="+Trellis.s) If Trellis.s="true" : EndIf If Trellis.s="false" : EndIf EndIf If FindString(line.s,"",1) CreditsQuantizer.s=StringField(line.s,2,">") CreditsQuantizer.s=StringField(CreditsQuantizer.s,1,"<") Debug("CreditsQuantizer.s="+CreditsQuantizer.s) SetGadgetState(#CReditsquantitizer,Val(CreditsQuantizer.s)) SetGadgetText(#CReditsquantitizer,CreditsQuantizer.s) EndIf If FindString(line.s,"",1) AQStrength.s=StringField(line.s,2,">") AQStrength.s=StrF(ValF(StringField(AQStrength.s,1,"<"))*10,1) SetGadgetState(#strength,ValF(AQStrength.s)/10) SetGadgetText(#strength,StrF(ValF(AQStrength.s)/10)) Debug("AQStrength.s="+AQStrength.s) EndIf If FindString(line.s,"",1) AQSensitivity.s=StringField(line.s,2,">") AQSensitivity.s=StrF(ValF(StringField(AQSensitivity.s,1,"<"))*10,1) SetGadgetState(#sensitivity,ValF(AQSensitivity.s)/10) SetGadgetText(#sensitivity,StrF(ValF(AQSensitivity.s)/10,1)) Debug("AQSensitivity.s="+AQSensitivity.s) EndIf If FindString(line.s,"",1) MixedRefs.s=StringField(line.s,2,">") MixedRefs.s=StringField(MixedRefs.s,1,"<") If MixedRefs.s="true" : SetGadgetState(#mixed,1) : MixedRefs.s="--mixed-refs " : EndIf If MixedRefs.s="false" : SetGadgetState(#mixed,0) : MixedRefs.s=" " :EndIf Debug("MixedRefs.s="+MixedRefs.s) EndIf If FindString(line.s,"",1) X264Trellis.s=StringField(line.s,2,">") X264Trellis.s=StringField(X264Trellis.s,1,"<") Debug("X264Trellis.s="+X264Trellis.s) If X264Trellis.s="0" : SetGadgetState(#trellis,0) : EndIf If X264Trellis.s="1" : SetGadgetState(#trellis,1) : EndIf If X264Trellis.s="2" : SetGadgetState(#trellis,2) : EndIf EndIf If FindString(line.s,"",1) NbRefFrames.s=StringField(line.s,2,">") NbRefFrames.s=StringField(NbRefFrames.s,1,"<") Debug("NbRefFrames.s="+NbRefFrames.s) SetGadgetState(#numberofreferenceframes,Val(NbRefFrames.s)) SetGadgetText(#numberofreferenceframes,NbRefFrames.s) numberofreferenceframes() EndIf If FindString(line.s,"",1) AlphaDeblock.s=StringField(line.s,2,">") AlphaDeblock.s=Str(Val(StringField(AlphaDeblock,1,"<"))+6) SetGadgetState(#alphadeblocking,Val(AlphaDeblock.s)) SetGadgetText(#alphadeblocking,Str(Val(AlphaDeblock.s)-6)) Debug("AlphaDeblock.s="+AlphaDeblock.s) Debug("getgadgettext alphadeblock="+GetGadgetText(#alphadeblocking)) EndIf If FindString(line.s,"",1) BetaDeblock.s=StringField(line.s,2,">") BetaDeblock.s=Str(Val(StringField(BetaDeblock.s,1,"<"))+6) SetGadgetState(#betadeblocking,Val(BetaDeblock.s)) SetGadgetText(#betadeblocking,Str(Val(BetaDeblock.s)-6)) EndIf If FindString(line.s,"",1) SubPelRefinement.s=StringField(line.s,2,">") SubPelRefinement.s=StringField(SubPelRefinement.s,1,"<") Debug("SubPelRefinement.s="+SubPelRefinement.s) If SubPelRefinement.s="0" : SetGadgetState(#SUBpixrefiniment,0) : xSubPelRefinement.s="--subme 1 " : EndIf If SubPelRefinement.s="1" : SetGadgetState(#SUBpixrefiniment,1) : xSubPelRefinement.s="--subme 2 " :EndIf If SubPelRefinement.s="2" : SetGadgetState(#SUBpixrefiniment,2) : xSubPelRefinement.s="--subme 3 " :EndIf If SubPelRefinement.s="3" : SetGadgetState(#SUBpixrefiniment,3) : xSubPelRefinement.s="--subme 4 " :EndIf If SubPelRefinement.s="4" : SetGadgetState(#SUBpixrefiniment,4) : xSubPelRefinement.s="--subme 5 " :EndIf If SubPelRefinement.s="5" : SetGadgetState(#SUBpixrefiniment,5) : xSubPelRefinement.s="--subme 6 " :EndIf If SubPelRefinement.s="6" : SetGadgetState(#SUBpixrefiniment,6) : xSubPelRefinement.s="--subme 7 " :EndIf Debug("xSubPelRefinement.s="+xSubPelRefinement.s) EndIf If FindString(line.s,"",1) MaxQuantDelta.s=StringField(line.s,2,">") MaxQuantDelta.s=StringField(MaxQuantDelta.s,1,"<") Debug("MaxQuantDelta.s="+MaxQuantDelta.s) SetGadgetState(#maximumquantitizerdelta,Val(MaxQuantDelta.s)) SetGadgetText(#maximumquantitizerdelta,MaxQuantDelta.s) EndIf If FindString(line.s,"",1) TempQuantBlur.s=StringField(line.s,2,">") TempQuantBlur.s=StringField(TempQuantBlur.s,1,"<") Debug("TempQuantBlur.s="+TempQuantBlur.s) SetGadgetState(#tempblurqcc,Val(TempQuantBlur.s)) SetGadgetText(#tempblurqcc,TempQuantBlur.s) EndIf If FindString(line.s,"",1) BframePredictionMode.s=StringField(line.s,2,">") BframePredictionMode.s=StringField(BframePredictionMode.s,1,"<") Debug("BframePredictionMode.s="+BframePredictionMode.s) If BframePredictionMode.s="0" : SetGadgetState(#bframemode,0) : EndIf If BframePredictionMode.s="1" : SetGadgetState(#bframemode,1) : EndIf If BframePredictionMode.s="2" : SetGadgetState(#bframemode,2) : EndIf If BframePredictionMode.s="3" : SetGadgetState(#bframemode,3) : EndIf numberofbframes() EndIf If FindString(line.s,"",1) VBVBufferSize.s=StringField(line.s,2,">") VBVBufferSize.s=StringField(VBVBufferSize.s,1,"<") Debug("VBVBufferSize.s="+VBVBufferSize.s) If VBVBufferSize.s="-1" : SetGadgetText(#vbvbuffersize,"") :EndIf If VBVBufferSize.s<>"-1" : SetGadgetText(#vbvbuffersize,VBVBufferSize.s) :EndIf EndIf If FindString(line.s,"",1) VBVMaxBitrate.s=StringField(line.s,2,">") VBVMaxBitrate.s=StringField(VBVMaxBitrate.s,1,"<") Debug("VBVMaxBitrate.s="+VBVMaxBitrate.s) If VBVMaxBitrate.s="-1" : SetGadgetText(#vbvmaximumbitrate,"") :EndIf If VBVMaxBitrate.s<>"-1" : SetGadgetText(#vbvmaximumbitrate,VBVBufferSize.s) :EndIf EndIf If FindString(line.s,"",1) METype.s=StringField(line.s,2,">") METype.s=StringField(METype.s,1,"<") Debug("METype.s="+METype.s) If METype.s="0" : SetGadgetState(#mealgo,0) : EndIf If METype.s="1" : SetGadgetState(#mealgo,1) : EndIf If METype.s="2" : SetGadgetState(#mealgo,2) : EndIf If METype.s="3" : SetGadgetState(#mealgo,3) : EndIf EndIf If FindString(line.s,"",1) MERange.s=StringField(line.s,2,">") MERange.s=StringField(MERange.s,1,"<") Debug("MERange.s="+MERange.s) SetGadgetState(#merange,Val(MERange.s)) SetGadgetText(#merange,MERange.s) EndIf ;If FindString(line.s,"",1) ; NbThreads.s=StringField(line.s,2,">") ; NbThreads.s=StringField(NbThreads.s,1,"<") ; Debug("NbThreads.s="+NbThreads.s) ; SetGadgetState(#nbthreads,Val(NbThreads.s)) ; SetGadgetText(#nbthreads,NbThreads.s) ;EndIf If FindString(line.s,"",1) MinGOPSize.s=StringField(line.s,2,">") MinGOPSize.s=StringField(MinGOPSize.s,1,"<") Debug("MinGOPSize.s="+MinGOPSize.s) If MinGOPSize.s="-1" : SetGadgetText(#mingopsize,"") :EndIf If MinGOPSize.s<>"-1" : SetGadgetText(#mingopsize,MinGOPSize.s) :EndIf EndIf If FindString(line.s,"",1) Profile.s=StringField(line.s,2,">") Profile.s=StringField(Profile.s,1,"<") Debug("Profile.s="+Profile.s) If Profile.s="0" : SetGadgetState(#avcprofiles,0) : EndIf If Profile.s="1" : SetGadgetState(#avcprofiles,1) : EndIf If Profile.s="2" : SetGadgetState(#avcprofiles,2) : EndIf avcprofiles() EndIf If FindString(line.s,"",1) Level.s=StringField(line.s,2,">") Level.s=StringField(Level.s,1,"<") Debug("Level.s="+Level.s) If Level.s="0" : SetGadgetState(#avclevel,0) : EndIf If Level.s="1" : SetGadgetState(#avclevel,1) : EndIf If Level.s="2" : SetGadgetState(#avclevel,2) : EndIf If Level.s="3" : SetGadgetState(#avclevel,3) : EndIf If Level.s="4" : SetGadgetState(#avclevel,4) : EndIf If Level.s="5" : SetGadgetState(#avclevel,5) : EndIf If Level.s="6" : SetGadgetState(#avclevel,6) : EndIf If Level.s="7" : SetGadgetState(#avclevel,7) : EndIf If Level.s="8" : SetGadgetState(#avclevel,8) : EndIf If Level.s="9" : SetGadgetState(#avclevel,9) : EndIf If Level.s="10" : SetGadgetState(#avclevel,10) : EndIf If Level.s="11" : SetGadgetState(#avclevel,11) : EndIf If Level.s="12" : SetGadgetState(#avclevel,12) : EndIf If Level.s="13" : SetGadgetState(#avclevel,13) : EndIf If Level.s="14" : SetGadgetState(#avclevel,14) : EndIf If Level.s="15" : SetGadgetState(#avclevel,15) : EndIf EndIf If FindString(line.s,"",1) IPFactor.s=StringField(line.s,2,">") IPFactor.s=StrF(ValF(StringField(IPFactor.s,1,"<"))*10,1) SetGadgetState(#factoripq,ValF(IPFactor.s)/10) SetGadgetText(#factoripq,StrF(ValF(IPFactor.s)/10,1)) Debug("IPFactor.s="+IPFactor.s) EndIf If FindString(line.s,"",1) PBFactor.s=StringField(line.s,2,">") PBFactor.s=StrF(ValF(StringField(PBFactor.s,1,"<"))*10,1) SetGadgetState(#factorpbq ,ValF(PBFactor.s)/10) SetGadgetText(#factorpbq ,StrF(ValF(PBFactor.s)/10,1)) Debug("PBFactor.s="+PBFactor.s) EndIf If FindString(line.s,"",1) ChromaQPOffset.s=StringField(line.s,2,">") ChromaQPOffset.s=Str(Val(StringField(ChromaQPOffset.s,1,"<"))+12) SetGadgetState(#chromaqpoffset,Val(ChromaQPOffset.s)) SetGadgetText(#chromaqpoffset,StrF(Val(ChromaQPOffset.s)-12,0)) Debug("ChromaQPOffset.s="+ChromaQPOffset.s) EndIf If FindString(line.s,"",1) VBVInitialBuffer.s=StringField(line.s,2,">") VBVInitialBuffer.s=StrF(ValF(StringField(VBVInitialBuffer.s,1,"<"))*10,1) SetGadgetState(#vbvinitialbuffer,ValF(VBVInitialBuffer.s)/10) SetGadgetText(#vbvinitialbuffer,StrF(ValF(VBVInitialBuffer.s)/10,1)) Debug("VBVInitialBuffer.s="+VBVInitialBuffer.s) EndIf If FindString(line.s,"",1) BitrateVariance.s=StringField(line.s,2,">") BitrateVariance.s=StrF(ValF(StringField(BitrateVariance.s,1,"<"))*100,1) SetGadgetState(#bitratevariance,ValF(BitrateVariance.s)/10) SetGadgetText(#bitratevariance,StrF(ValF(BitrateVariance.s)/100,1)) Debug("BitrateVariance.s="+BitrateVariance.s) EndIf If FindString(line.s,"",1) QuantCompression.s=StringField(line.s,2,">") QuantCompression.s=StrF(ValF(StringField(QuantCompression.s,1,"<"))*10,1) SetGadgetState(#quantitizercompression,ValF(QuantCompression.s)/10) SetGadgetText(#quantitizercompression,StrF(ValF(QuantCompression.s)/10,1)) Debug("QuantCompression.s="+QuantCompression.s) EndIf If FindString(line.s,"",1) TempComplexityBlur.s=StringField(line.s,2,">") TempComplexityBlur.s=Str(Val(StringField(TempComplexityBlur.s,1,"<"))) SetGadgetState(#tempblurfc,Val(TempComplexityBlur.s)) SetGadgetText(#tempblurfc,Str(Val(TempComplexityBlur.s))) Debug("TempComplexityBlur.s="+TempComplexityBlur.s) EndIf If FindString(line.s,"",1) TempQuanBlurCC.s=StringField(line.s,2,">") TempQuanBlurCC.s=StrF(ValF(StringField(TempQuanBlurCC.s,1,"<"))*10,1) SetGadgetState(#tempblurqcc,ValF(TempQuanBlurCC.s)/10) SetGadgetText(#tempblurqcc,StrF(ValF(TempQuanBlurCC.s)/10,1)) Debug("TempQuanBlurCC.s="+TempQuanBlurCC.s) EndIf If FindString(line.s,"",1) SCDSensitivity.s=StringField(line.s,2,">") SCDSensitivity.s=Str(Val(StringField(SCDSensitivity.s,1,"<"))+100) SetGadgetState(#scdsensitivity,Val(SCDSensitivity.s)) SetGadgetText(#scdsensitivity,Str(Val(SCDSensitivity.s)-100)) Debug("SCDSensitivity.s="+SCDSensitivity.s) EndIf If FindString(line.s,"",1) BframeBias.s=StringField(line.s,2,">") BframeBias.s=Str(Val(StringField(BframeBias.s,1,"<"))+100) SetGadgetState(#bframesbias,Val(BframeBias.s)) SetGadgetText(#bframesbias,Str(Val(BframeBias.s)-100)) Debug("BframeBias.s="+BframeBias.s) EndIf If FindString(line.s,"",1) Deblock.s=StringField(line.s,2,">") Deblock.s=StringField(Deblock.s,1,"<") Debug("Deblock.s="+Deblock.s) If Deblock.s="true" : SetGadgetState(#deblockfilter,1) : DisableGadget(#alphadeblocking,0) : DisableGadget(#betadeblocking,0) : EndIf If Deblock.s="false" : SetGadgetState(#deblockfilter,0) : DisableGadget(#alphadeblocking,1) : DisableGadget(#betadeblocking,1) : EndIf EndIf If FindString(line.s,"",1) Cabac.s=StringField(line.s,2,">") Cabac.s=StringField(Cabac.s,1,"<") Debug("Cabac.s="+Cabac.s) If Cabac.s="true" : DisableGadget(#cabac,0) : SetGadgetState(#cabac,1) : EndIf If Cabac.s="false" : SetGadgetState(#cabac,0) : EndIf EndIf If FindString(line.s,"",1) WeightedBPrediction.s=StringField(line.s,2,">") WeightedBPrediction.s=StringField(WeightedBPrediction.s,1,"<") Debug("WeightedBPrediction.s="+WeightedBPrediction.s) If WeightedBPrediction.s="true" : SetGadgetState(#weightedprediction,1) : EndIf If WeightedBPrediction.s="false" : SetGadgetState(#weightedprediction,0) : EndIf EndIf If FindString(line.s,"",1) AdaptiveBFrames.s=StringField(line.s,2,">") AdaptiveBFrames.s=StringField(AdaptiveBFrames.s,1,"<") Debug("AdaptiveBFrames.s="+AdaptiveBFrames.s) If AdaptiveBFrames.s="true" : SetGadgetState(#adaptive,1) : EndIf If AdaptiveBFrames.s="false" : SetGadgetState(#adaptive,0) : EndIf EndIf If FindString(line.s,"",1) BFramePyramid.s=StringField(line.s,2,">") BFramePyramid.s=StringField(BFramePyramid.s,1,"<") Debug("BFramePyramid.s="+BFramePyramid.s) If BFramePyramid.s="true" : SetGadgetState(#pyramid,1) : EndIf If BFramePyramid.s="false" : SetGadgetState(#pyramid,0) : EndIf EndIf If FindString(line.s,"",1) BRDO.s=StringField(line.s,2,">") BRDO.s=StringField(BRDO.s,1,"<") Debug("BRDO.s="+BRDO.s) If BRDO.s="true" : SetGadgetState(#rdoforbframes,1) : EndIf If BRDO.s="false" : SetGadgetState(#rdoforbframes,0) : EndIf numberofbframes() EndIf If FindString(line.s,"",1) ChromaME.s=StringField(line.s,2,">") ChromaME.s=StringField(ChromaME.s,1,"<") Debug("ChromaME.s="+ChromaME.s) If ChromaME.s="true" : SetGadgetState(#chromame,1) : EndIf If ChromaME.s="false" : SetGadgetState(#chromame,0) : EndIf EndIf If FindString(line.s,"",1) P8x8mv.s=StringField(line.s,2,">") P8x8mv.s=StringField(P8x8mv.s,1,"<") Debug("P8x8mv.s="+P8x8mv.s) If P8x8mv.s="true" : SetGadgetState(#p8x8,1) : EndIf If P8x8mv.s="false" : SetGadgetState(#p8x8,0) : EndIf EndIf If FindString(line.s,"",1) B8x8mv.s=StringField(line.s,2,">") B8x8mv.s=StringField(B8x8mv.s,1,"<") Debug("B8x8mv.s="+B8x8mv.s) If B8x8mv.s="true" : SetGadgetState(#b8x8,1) : EndIf If B8x8mv.s="false" : SetGadgetState(#b8x8,0) : EndIf EndIf If FindString(line.s,"",1) I4x4mv.s=StringField(line.s,2,">") I4x4mv.s=StringField(I4x4mv.s,1,"<") Debug("I4x4mv.s="+I4x4mv.s) If I4x4mv.s="true" : SetGadgetState(#i4x4,1) : EndIf If I4x4mv.s="false" : SetGadgetState(#i4x4,0) : EndIf EndIf If FindString(line.s,"",1) I8x8mv.s=StringField(line.s,2,">") I8x8mv.s=StringField(I8x8mv,1,"<") Debug("I8x8mv.s="+I8x8mv.s) If I8x8mv.s="true" : SetGadgetState(#i8x8,1) : EndIf If I8x8mv.s="false" : SetGadgetState(#i8x8,0) : EndIf EndIf If FindString(line.s,"",1) P4x4mv.s=StringField(line.s,2,">") P4x4mv.s=StringField(P4x4mv,1,"<") Debug("P4x4mv.s="+P4x4mv.s) If P4x4mv.s="true" : SetGadgetState(#p4x4,1) : EndIf If P4x4mv.s="false" : SetGadgetState(#p4x4,0) : EndIf EndIf If FindString(line.s,"",1) AdaptiveDCT.s=StringField(line.s,2,">") AdaptiveDCT.s=StringField(AdaptiveDCT,1,"<") Debug("AdaptiveDCT.s="+AdaptiveDCT.s) If AdaptiveDCT.s="true" : SetGadgetState(#adaptivedct,1) : EndIf If AdaptiveDCT.s="false" : SetGadgetState(#adaptivedct,0) : EndIf EndIf If FindString(line.s,"",1) Lossless.s=StringField(line.s,2,">") Lossless.s=StringField(Lossless,1,"<") Debug("Lossless.s="+Lossless.s) If Lossless.s="true" : SetGadgetState(#lossless,1) : EndIf If Lossless.s="false" : SetGadgetState(#lossless,0) : EndIf EndIf If FindString(line.s,"",1) noFastPSkip.s=StringField(line.s,2,">") noFastPSkip.s=StringField(noFastPSkip,1,"<") Debug("noFastPSkip.s="+noFastPSkip.s) If noFastPSkip.s="true" : SetGadgetState(#nofastpskip,0) : EndIf If noFastPSkip.s="false" : SetGadgetState(#nofastpskip,1) : EndIf EndIf If FindString(line.s,"",1) biME.s=StringField(line.s,2,">") biME.s=StringField(biME,1,"<") Debug("bime.s="+biME.s) If biME="true" : SetGadgetState(#bime,0) : EndIf If biME="false" : SetGadgetState(#bime,1) : EndIf EndIf If FindString(line.s,"",1) NoiseReduction.s=StringField(line.s,2,">") NoiseReduction.s=Str(Val(StringField(NoiseReduction.s,1,"<"))) SetGadgetText(#NoiseReduction,Str(Val(NoiseReduction.s))) Debug("NoiseReduction.s="+NoiseReduction.s) EndIf Wend CloseFile(fh) EndProcedure Procedure eavi() If GetGadgetState(#eavi)=1 : SetGadgetState(#edirect,0) : EndIf If GetGadgetState(#eavi)=0 : SetGadgetState(#edirect,1) : EndIf EndProcedure Procedure edirect() If GetGadgetState(#edirect)=1 : SetGadgetState(#eavi,0) : EndIf If GetGadgetState(#edirect)=0 : SetGadgetState(#eavi,1) : EndIf EndProcedure Procedure credit() If GetGadgetState(#credit)=1 DisableGadget(#screditq,1) Else DisableGadget(#screditq,0) EndIf EndProcedure Procedure screditq() If GetGadgetState(#screditq)=1 DisableGadget(#credit,1) Else DisableGadget(#credit,0) EndIf EndProcedure Procedure x264cmd() x264.s=" " If bps.l=1 If GetGadgetText(#width)="Automatic" bitrate2.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) EndIf If GetGadgetText(#width)<>"Automatic" bitrate2.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) EndIf EndIf If GetGadgetText(#mode)="ABR" x264.s=x264.s+"--bitrate " If GetGadgetText(#bitrate)="AUTO" : x264.s=x264.s+bitrate2.s+" " : EndIf If GetGadgetText(#bitrate)<>"AUTO" : x264.s=x264.s+GetGadgetText(#bitrate)+" " : EndIf EndIf If GetGadgetText(#mode)="Const. Quantizer" : x264.s=x264.s+"--qp "+GetGadgetText(#bitrate)+" " : EndIf If passx.s="1" And GetGadgetText(#mode)<>"ABR" If GetGadgetText(#bitrate)="AUTO" x264.s=x264.s+"--pass 1 --bitrate "+bitrate2.s+" --stats "+Chr(34)+dest.s+".stats"+Chr(34)+" " EndIf If GetGadgetText(#bitrate)<>"AUTO" x264.s=x264.s+"--pass 1 --bitrate "+GetGadgetText(#bitrate)+" --stats "+Chr(34)+dest.s+".stats"+Chr(34)+" " EndIf EndIf If passx.s="2" And GetGadgetText(#mode)<>"ABR" If GetGadgetText(#bitrate)="AUTO" x264.s=x264.s+"--pass 2 --bitrate "+bitrate2.s+" --stats "+Chr(34)+dest.s+".stats"+Chr(34)+" " EndIf If GetGadgetText(#bitrate)<>"AUTO" x264.s=x264.s+"--pass 2 --bitrate "+GetGadgetText(#bitrate)+" --stats "+Chr(34)+dest.s+".stats"+Chr(34)+" " EndIf EndIf If GetGadgetText(#mode)="Quality (crf)" : x264.s=x264.s+"--crf "+GetGadgetText(#bitrate)+" " : EndIf If GetGadgetText(#keyframeinterval)<>"250" : x264.s=x264.s+"--keyint "+GetGadgetText(#keyframeinterval)+" " : EndIf If GetGadgetText(#mingopsize)<>"25" : x264.s=x264.s+"--min-keyint "+GetGadgetText(#mingopsize)+" " : EndIf If passx.s="1" And GetGadgetState(#turbo)=1 : x264.s=x264.s+"--ref 0 " : EndIf If GetGadgetState(#turbo)=0 Or passx.s="2" If GetGadgetText(#numberofreferenceframes)<>"1" : x264.s=x264.s+"--ref "+GetGadgetText(#numberofreferenceframes)+" " : EndIf EndIf If passx.s="1" And GetGadgetState(#turbo)=1 If GetGadgetState(#mixed)=1 : x264.s=x264.s+" " : EndIf EndIf If GetGadgetState(#turbo)=0 Or passx.s="2" Or GetGadgetText(#mode)="ABR" If GetGadgetState(#mixed)=1 : x264.s=x264.s+"--mixed-refs " : EndIf EndIf Debug("GetGadgetState(#strength)="+Str(GetGadgetState(#strength))) Debug("GetGadgetState(#sensitivity)="+Str(GetGadgetState(#sensitivity))) If GetGadgetState(#strength)<>0 : x264.s=x264.s+"--aq-strength "+GetGadgetText(#strength)+" " : EndIf If GetGadgetState(#sensitivity)<>10 : x264.s=x264.s+"--aq-sensitivity "+GetGadgetText(#sensitivity)+" " : EndIf If GetGadgetText(#numberofbframes)<>"0" : x264.s=x264.s+"--bframes "+GetGadgetText(#numberofbframes)+" " : EndIf If passx.s="1" And GetGadgetState(#turbo)=1 : x264.s=x264.s+"--no-b-adapt " : EndIf If GetGadgetState(#turbo)=0 Or passx.s="2" If GetGadgetState(#adaptive)=0 : x264.s=x264.s+"--no-b-adapt " : EndIf EndIf If GetGadgetState(#pyramid)=1 : x264.s=x264.s+"--b-pyramid " : EndIf If GetGadgetState(#deblockfilter)=1 If GetGadgetText(#alphadeblocking)<>"0" And GetGadgetText(#betadeblocking)<>"0" x264.s=x264.s+"--filter "+GetGadgetText(#alphadeblocking)+":"+GetGadgetText(#betadeblocking)+" " EndIf Else x264.s=x264.s+"--nf " EndIf If GetGadgetState(#cabac)=0 : x264.s=x264.s+"--no-cabac " : EndIf If passx.s="1" And GetGadgetState(#turbo)=1 : x264.s=x264.s+"--subme 0 " : EndIf If GetGadgetState(#turbo)=0 Or passx.s="2" Or GetGadgetText(#mode)="ABR" x264.s=x264.s+"--subme "+Str(GetGadgetState(#SUBpixrefiniment)+1)+" " EndIf If GetGadgetState(#rdoforbframes)=1 : x264.s=x264.s+"--b-rdo " : EndIf If GetGadgetState(#weightedprediction)=1 : x264.s=x264.s+"--weightb " : EndIf If GetGadgetState(#chromame)=0 : x264.s=x264.s+"--no-chroma-me " : EndIf If GetGadgetState(#trellis)>0 : x264.s=x264.s+"--trellis "+Str(GetGadgetState(#trellis))+" " : EndIf If GetGadgetText(#nodctdecimate)="YES" : x264.s=x264.s+"--no-dct-decimate " : EndIf If passx.s="1" And GetGadgetState(#turbo)=1 : x264.s=x264.s+"--analyse none " : EndIf If GetGadgetState(#turbo)=0 ;If passx.s="2" Or GetGadgetState(#turbo)=0 Or GetGadgetText(#mode)="ABR" If GetGadgetState(#i4x4)<>0 Or GetGadgetState(#p4x4)<>0 Or GetGadgetState(#p8x8)<>0 Or GetGadgetState(#b8x8)<>0 Or GetGadgetState(#i8x8)<>0 Or GetGadgetState(#adaptivedct)<>0 : x264.s=x264.s+"--analyse " If GetGadgetState(#i4x4)=1 And GetGadgetState(#p4x4)=1 And GetGadgetState(#p8x8)=1 And GetGadgetState(#b8x8)=1 And GetGadgetState(#i8x8)=1 x264.s=x264.s+"all " Else If GetGadgetState(#p8x8)=1 : x264.s=x264.s+"p8x8," : EndIf If GetGadgetState(#b8x8)=1 : x264.s=x264.s+"b8x8," : EndIf If GetGadgetState(#i4x4)=1 : x264.s=x264.s+"i4x4," : EndIf If GetGadgetState(#p4x4)=1 : x264.s=x264.s+"p4x4," : EndIf If GetGadgetState(#i8x8)=1 : x264.s=x264.s+"i8x8," : EndIf Debug("x264.s prima trim="+x264.s) If Right(x264.s,1)="," : x264.s=RSet(x264.s,Len(x264.s)-1) : EndIf Debug("x264.s dopo trim="+x264.s) EndIf If GetGadgetState(#adaptivedct)=1 : x264.s=x264.s+" --8x8dct " : EndIf If GetGadgetText(#bime)="YES" : x264.s=x264.s+" --bime ": EndIf If Right(x264.s,1)<>" " : x264.s=x264.s+" " : EndIf Else x264.s=x264.s+"--analyse none " EndIf If GetGadgetText(#nofastpskip)="YES" : x264.s=x264.s+"--no-fast-pskip " : EndIf EndIf If GetGadgetText(#mode)<>"Quality (crf)" If GetGadgetText(#minimumquantitizer)<>"10" : x264.s=x264.s+"--qpmin "+GetGadgetText(#minimumquantitizer)+" " : EndIf If GetGadgetText(#maximumquantitizer)<>"51" : x264.s=x264.s+"--qpmax "+GetGadgetText(#maximumquantitizer)+" " : EndIf If GetGadgetText(#maximumquantitizerdelta)<>"4" : x264.s=x264.s+"--qpstep "+GetGadgetText(#maximumquantitizerdelta)+" " : EndIf If GetGadgetText(#factoripq)<>"1.4" : x264.s=x264.s+"--ipratio "+GetGadgetText(#factoripq)+" " : EndIf If GetGadgetText(#factorpbq)<>"1.3" : x264.s=x264.s+"--pbratio "+GetGadgetText(#factorpbq)+" " : EndIf If GetGadgetText(#chromaqpoffset)<>"0" : x264.s=x264.s+"--chroma-qp-offset "+GetGadgetText(#chromaqpoffset)+" " : EndIf If Val(GetGadgetText(#vbvbuffersize))>0 : x264.s=x264.s+"--vbv-bufsize "+GetGadgetText(#vbvbuffersize)+" " : EndIf If Val(GetGadgetText(#vbvmaximumbitrate))>0 : x264.s=x264.s+"--vbv-maxrate "+GetGadgetText(#vbvmaximumbitrate)+" " : EndIf If GetGadgetText(#vbvinitialbuffer)<>"0.9" : x264.s=x264.s+"--vbv-init "+GetGadgetText(#vbvinitialbuffer)+" " : EndIf If GetGadgetText(#bitratevariance)<>"1.0" : x264.s=x264.s+"--ratetol "+GetGadgetText(#bitratevariance)+" " : EndIf If GetGadgetText(#quantitizercompression)<>"0.6" : x264.s=x264.s+"--qcomp "+GetGadgetText(#quantitizercompression)+" " : EndIf If passx.s="1" Or passx.s="2" If GetGadgetText(#tempblurfc)<>"20" : x264.s=x264.s+"--cplxblur "+GetGadgetText(#tempblurfc)+" " : EndIf If GetGadgetText(#tempblurqcc)<>"0.5" : x264.s=x264.s+"--qblur "+GetGadgetText(#tempblurqcc)+" " : EndIf EndIf EndIf If GetGadgetState(#bframemode)=0 : x264.s=x264.s+"--direct none " : EndIf If GetGadgetState(#bframemode)=1 : x264.s=x264.s+"--direct spatial " : EndIf If GetGadgetState(#bframemode)=2 : x264.s=x264.s+"--direct temporal " : EndIf If GetGadgetState(#bframemode)=3 : x264.s=x264.s+"--direct auto " : EndIf If GetGadgetText(#scdsensitivity)<>"40" : x264.s=x264.s+"--scenecut "+GetGadgetText(#scdsensitivity)+" " : EndIf If GetGadgetText(#bframesbias)<>"0" : x264.s=x264.s+"--b-bias "+GetGadgetText(#bframesbias)+" " : EndIf If passx.s="1" And GetGadgetState(#turbo)=1 : x264.s=x264.s+"--me dia " : EndIf If passx.s<>"1" ;GetGadgetState(#turbo)=0 Or passx.s="2" Or GetGadgetText(#mode)="ABR" If GetGadgetText(#mealgo)<>"Hexagon" If GetGadgetText(#mealgo)="Diamond" : x264.s=x264.s+"--me dia " : EndIf If GetGadgetText(#mealgo)="Multi Hex" : x264.s=x264.s+"--me umh " : EndIf If GetGadgetText(#mealgo)="Exaustive" : x264.s=x264.s+"--me esa " : EndIf EndIf EndIf If GetGadgetText(#NoiseReduction)<>"0" : x264.s=x264.s+"--nr "+GetGadgetText(#NoiseReduction)+" " : EndIf If GetGadgetText(#merange)<>"16" : x264.s=x264.s+"--merange "+GetGadgetText(#merange)+" " : EndIf If GetGadgetText(#nbthreads)<>"1" : x264.s=x264.s+"--threads "+GetGadgetText(#nbthreads)+" " : EndIf If Val(GetGadgetText(#nbthreads))>1 : x264.s=x264.s+"--thread-input " : EndIf If GetGadgetState(#screditq)=1 : x264.s=x264.s+"--zones "+GetGadgetText(#scredit)+","+framec.s+",q="+GetGadgetText(#scquant)+" " : EndIf framer.s=Str(Int(Val(framer.s))) Debug("framer.s="+framer.s) Debug("GetGadgetText(#AR)="+GetGadgetText(#AR)) Debug("GetGadgetText(#sarw)="+GetGadgetText(#sarw)) Debug("GetGadgetText(#sarh)="+GetGadgetText(#sarh)) If GetGadgetText(#AR)="AUTO" And GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" ; SetGadgetText(#sarw,Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))) : SetGadgetText(#sarh,Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))) x264.s=x264.s+"--sar "+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+" " EndIf Debug("GetGadgetText(#AR)="+GetGadgetText(#AR)) : Debug("GetGadgetText(#sarw)="+GetGadgetText(#sarw)) : Debug("GetGadgetText(#sarh)="+GetGadgetText(#sarh)) If GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" And GetGadgetText(#AR)<>"AUTO" And GetGadgetText(#AR)<>"Anamorphic+SAR" x264.s=x264.s+"--sar 1:1 " EndIf If GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" And GetGadgetText(#AR)="Anamorphic+SAR" x264.s=x264.s+"--sar 1:1 " EndIf If GetGadgetText(#sarw)<>"AUTO" And GetGadgetText(#sarh)<>"AUTO" And GetGadgetText(#sarw)<>"0" And GetGadgetText(#sarh)<>"0" x264.s=x264.s+"--sar "+GetGadgetText(#sarw)+":"+GetGadgetText(#sarh)+" " EndIf If GetGadgetText(#sarw)="0" And GetGadgetText(#sarh)="0" : x264.s=x264.s+"--sar 1:1 " : EndIf If GetGadgetText(#customx264)<>"" : x264.s=x264.s+GetGadgetText(#customx264)+" " : EndIf If GetGadgetText(#matrixfile)<>"Quantitizer Matrix file" : x264.s=x264.s+"--cqmfile "+Chr(34)+matrixfile.s+Chr(34)+" " : EndIf x264.s=x264.s+"--progress --no-psnr " If GetGadgetText(#mode)="ABR" And sample="": x264.s=x264.s+"--output "+Chr(34)+dest.s+"movie.mp4"+Chr(34) : EndIf If GetGadgetText(#mode)="Const. Quantizer" And sample="": x264.s=x264.s+"--output "+Chr(34)+dest.s+"movie.mp4"+Chr(34) : EndIf If GetGadgetText(#mode)="Quality (crf)" And sample="": x264.s=x264.s+"--output "+Chr(34)+dest.s+"movie.mp4"+Chr(34) : EndIf ;If GetGadgetText(#mode)="ABR" And sample="sample": x264.s=x264.s+"--output "+Chr(34)+dest.s+"samplemovie.mp4"+Chr(34) : EndIf ;If GetGadgetText(#mode)="Const. Quantizer" And sample="sample": x264.s=x264.s+"--output "+Chr(34)+dest.s+"samplemovie.mp4"+Chr(34) : EndIf ;If GetGadgetText(#mode)="Quality" And sample="sample": x264.s=x264.s+"--output "+Chr(34)+dest.s+"samplemovie.mp4"+Chr(34) : EndIf If passx.s="1" And sample="" And GetGadgetText(#mode)<>"ABR" : x264.s=x264.s+"--output NUL " : EndIf If passx.s="2" And sample="" And GetGadgetText(#mode)<>"ABR" : x264.s=x264.s+"--output "+Chr(34)+dest.s+"movie.mp4"+Chr(34) : EndIf If sample.s="sample" : x264.s=x264.s+"--output "+Chr(34)+dest.s+"samplemovie.mp4"+Chr(34) : EndIf If sample.s="sample" x264.s=x264.s+" "+Chr(34)+dest.s+"samplemovie.avs"+Chr(34) Else x264.s=x264.s+" "+Chr(34)+dest.s+"movie.avs"+Chr(34) EndIf EndProcedure Procedure x264cmdq() x264.s=" " If bps.l=1 If GetGadgetText(#width)="Automatic" SetGadgetText(#x264cqt,"BitRate") bitrate2.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) SetGadgetText(#x264dqbit,bitrate2.s) EndIf If GetGadgetText(#width)<>"Automatic" SetGadgetText(#x264cqt,"BitRate") bitrate2.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) SetGadgetText(#x264dqbit,bitrate2.s) EndIf EndIf If GetGadgetText(#x264cqt)="CRF" : x264.s=x264.s+"--crf "+GetGadgetText(#x264dqbit)+" " : EndIf If GetGadgetText(#x264cqt)="QP" : x264.s=x264.s+"--qp "+GetGadgetText(#x264dqbit)+" " : EndIf If GetGadgetText(#x264cqt)="BitRate" : x264.s=x264.s+"--bitrate "+GetGadgetText(#x264dqbit)+" " : EndIf If GetGadgetText(#keyframeinterval)<>"250" : x264.s=x264.s+"--keyint "+GetGadgetText(#keyframeinterval)+" " : EndIf If GetGadgetText(#mingopsize)<>"25" : x264.s=x264.s+"--min-keyint "+GetGadgetText(#mingopsize)+" " : EndIf If GetGadgetText(#numberofreferenceframes)<>"1" : x264.s=x264.s+"--ref "+GetGadgetText(#numberofreferenceframes)+" " : EndIf If GetGadgetState(#mixed)=1 : x264.s=x264.s+"--mixed-refs " : EndIf If GetGadgetText(#numberofbframes)<>"0" : x264.s=x264.s+"--bframes "+GetGadgetText(#numberofbframes)+" " : EndIf If GetGadgetState(#adaptive)=0 : x264.s=x264.s+"--no-b-adapt " : EndIf If GetGadgetState(#pyramid)=1 : x264.s=x264.s+"--b-pyramid " : EndIf If GetGadgetState(#deblockfilter)=1 If GetGadgetText(#alphadeblocking)<>"0" And GetGadgetText(#betadeblocking)<>"0" x264.s=x264.s+"--filter "+GetGadgetText(#alphadeblocking)+":"+GetGadgetText(#betadeblocking)+" " EndIf Else x264.s=x264.s+"--nf " EndIf If GetGadgetState(#cabac)=0 : x264.s=x264.s+"--no-cabac " : EndIf If GetGadgetText(#SUBpixrefiniment)<>"Multi Qpel" : x264.s=x264.s+"--subme "+Str(GetGadgetState(#SUBpixrefiniment)+1)+" " : EndIf If GetGadgetState(#rdoforbframes)=1 : x264.s=x264.s+"--b-rdo " : EndIf If GetGadgetState(#weightedprediction)=1 : x264.s=x264.s+"--weightb " : EndIf If GetGadgetState(#chromame)=0 : x264.s=x264.s+"--no-chroma-me " : EndIf If GetGadgetState(#trellis)>0 : x264.s=x264.s+"--trellis "+Str(GetGadgetState(#trellis))+" " : EndIf If GetGadgetText(#nodctdecimate)="YES" : x264.s=x264.s+"--no-dct-decimate " : EndIf If GetGadgetState(#i4x4)<>0 Or GetGadgetState(#p4x4)<>0 Or GetGadgetState(#p8x8)<>0 Or GetGadgetState(#b8x8)<>0 Or GetGadgetState(#i8x8)<>0 Or GetGadgetState(#adaptivedct)<>0 : x264.s=x264.s+"--analyse " If GetGadgetState(#i4x4)=1 And GetGadgetState(#p4x4)=1 And GetGadgetState(#p8x8)=1 And GetGadgetState(#b8x8)=1 And GetGadgetState(#i8x8)=1 x264.s=x264.s+"all " Else If GetGadgetState(#p8x8)=1 : x264.s=x264.s+"p8x8," : EndIf If GetGadgetState(#b8x8)=1 : x264.s=x264.s+"b8x8," : EndIf If GetGadgetState(#i4x4)=1 : x264.s=x264.s+"i4x4," : EndIf If GetGadgetState(#p4x4)=1 : x264.s=x264.s+"p4x4," : EndIf If GetGadgetState(#i8x8)=1 : x264.s=x264.s+"i8x8," : EndIf If Right(x264.s,1)="," : x264.s=RSet(x264.s,Len(x264.s)-1) : EndIf EndIf If GetGadgetState(#adaptivedct)=1 : x264.s=x264.s+" --8x8dct " : EndIf If GetGadgetText(#bime)="YES" : x264.s=x264.s+" --bime ": EndIf If Right(x264.s,1)<>" " : x264.s=x264.s+" " : EndIf Else x264.s=x264.s+"--analyse none " EndIf If GetGadgetState(#bframemode)=0 : x264.s=x264.s+"--direct none " : EndIf If GetGadgetState(#bframemode)=1 : x264.s=x264.s+"--direct spatial " : EndIf If GetGadgetState(#bframemode)=2 : x264.s=x264.s+"--direct temporal " : EndIf If GetGadgetState(#bframemode)=3 : x264.s=x264.s+"--direct auto " : EndIf If GetGadgetText(#scdsensitivity)<>"40" : x264.s=x264.s+"--scenecut "+GetGadgetText(#scdsensitivity)+" " : EndIf If GetGadgetText(#bframesbias)<>"0" : x264.s=x264.s+"--b-bias "+GetGadgetText(#bframesbias)+" " : EndIf If GetGadgetText(#mealgo)<>"Hexagon" If GetGadgetText(#mealgo)="Diamond" : x264.s=x264.s+"--me dia " : EndIf If GetGadgetText(#mealgo)="Multi Hex" : x264.s=x264.s+"--me umh " : EndIf If GetGadgetText(#mealgo)="Exaustive" : x264.s=x264.s+"--me esa " : EndIf EndIf If GetGadgetText(#NoiseReduction)<>"0" : x264.s=x264.s+"--nr "+GetGadgetText(#NoiseReduction)+" " : EndIf Debug("q!!!GetGadgetState(#strength)="+Str(GetGadgetState(#strength))) Debug("q!!!GetGadgetState(#sensitivity)="+Str(GetGadgetState(#sensitivity))) If GetGadgetState(#strength)<>0 : x264.s=x264.s+"--aq-strength "+GetGadgetText(#strength)+" " : EndIf If GetGadgetState(#sensitivity)<>10 : x264.s=x264.s+"--aq-sensitivity "+GetGadgetText(#sensitivity)+" " : EndIf If GetGadgetText(#nofastpskip)="YES" : x264.s=x264.s+"--no-fast-pskip " : EndIf If GetGadgetText(#merange)<>"16" : x264.s=x264.s+"--merange "+GetGadgetText(#merange)+" " : EndIf If GetGadgetText(#nbthreads)<>"1" : x264.s=x264.s+"--threads "+GetGadgetText(#nbthreads)+" " : EndIf If Val(GetGadgetText(#nbthreads))>1 : x264.s=x264.s+"--thread-input " : EndIf If GetGadgetText(#AR)="AUTO" And GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" ; SetGadgetText(#sarw,Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))) : SetGadgetText(#sarh,Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))) x264.s=x264.s+"--sar "+Str(Val(theight.s)*ValF(StringField(ar.s,1,":")))+":"+Str(Val(twidth.s)*ValF(StringField(ar.s,2,":")))+" " EndIf Debug("GetGadgetText(#AR)="+GetGadgetText(#AR)) : Debug("GetGadgetText(#sarw)="+GetGadgetText(#sarw)) : Debug("GetGadgetText(#sarh)="+GetGadgetText(#sarh)) If GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" And GetGadgetText(#AR)<>"AUTO" And GetGadgetText(#AR)<>"Anamorphic+SAR" x264.s=x264.s+"--sar 1:1 " EndIf If GetGadgetText(#sarw)="AUTO" And GetGadgetText(#sarh)="AUTO" And GetGadgetText(#AR)="Anamorphic+SAR" x264.s=x264.s+"--sar 1:1 " EndIf If GetGadgetText(#sarw)<>"AUTO" And GetGadgetText(#sarh)<>"AUTO" And GetGadgetText(#sarw)<>"0" And GetGadgetText(#sarh)<>"0" x264.s=x264.s+"--sar "+GetGadgetText(#sarw)+":"+GetGadgetText(#sarh)+" " EndIf If GetGadgetText(#sarw)="0" And GetGadgetText(#sarh)="0" : x264.s=x264.s+"--sar 1:1 " : EndIf If GetGadgetText(#customx264)<>"" : x264.s=x264.s+GetGadgetText(#customx264)+" " : EndIf If GetGadgetText(#matrixfile)<>"Quantitizer Matrix file" : x264.s=x264.s+"--cqmfile "+Chr(34)+matrixfile.s+Chr(34)+" " : EndIf x264.s=x264.s+"--progress --no-psnr " x264.s=x264.s+"--output "+Chr(34)+dest.s+"resmovie.mp4"+Chr(34) x264.s=x264.s+" "+Chr(34)+dest.s+"resmovie.avs"+Chr(34) writelog("X264 Compression String: "+x264.s) EndProcedure Procedure x264wcmd() If bps.l=1 If GetGadgetText(#width)="Automatic" SetGadgetText(#x264cqt,"BitRate") bitrate2.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) SetGadgetText(#x264dqbit,bitrate2.s) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) EndIf If GetGadgetText(#width)<>"Automatic" SetGadgetText(#x264cqt,"BitRate") bitrate2.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate2.s) SetGadgetText(#x264dqbit,bitrate2.s) EndIf EndIf If GetGadgetText(#mode)="ABR" passx.s="0" x264cmd() CreateFile(0,dest.s+"x264cmd_ABR.bat") WriteStringN(0,pexe.s+"encoder\x264.exe "+x264.s) CloseFile(0) EndIf If GetGadgetText(#mode)="Const. Quantizer" passx.s="3" x264cmd() CreateFile(0,dest.s+"x264cmd_CQ.bat") WriteStringN(0,pexe.s+"encoder\x264.exe "+x264.s) CloseFile(0) EndIf If GetGadgetText(#mode)="2 Pass" passx.s="1" x264cmd() CreateFile(0,dest.s+"x264cmd_pass1.bat") WriteStringN(0,pexe.s+"encoder\x264.exe "+x264.s) CloseFile(0) passx.s="2" SetGadgetState(#turbo,0) x264cmd() CreateFile(0,dest.s+"x264cmd_pass2.bat") WriteStringN(0,pexe.s+"encoder\x264.exe "+x264.s) CloseFile(0) EndIf If GetGadgetText(#mode)="Quality (crf)" passx.s="4" x264cmd() CreateFile(0,dest.s+"x264cmd_Qual.bat") WriteStringN(0,pexe.s+"encoder\x264.exe "+x264.s) CloseFile(0) EndIf MessageRequester("X264 Command Writer","X264 Command line written in "+dest.s) EndProcedure Procedure pal() If GetGadgetState(#pal)=0 ClearGadgetItemList(#ntsc) AddGadgetItem(#ntsc,-1,"25") SetGadgetState(#ntsc,0) container() EndIf If GetGadgetState(#pal)=1 ClearGadgetItemList(#ntsc) AddGadgetItem(#ntsc,-1,"23.976") AddGadgetItem(#ntsc,-1,"24") AddGadgetItem(#ntsc,-1,"29.97") AddGadgetItem(#ntsc,-1,"30") SetGadgetState(#ntsc,0) container() EndIf EndProcedure Procedure mode() If GetGadgetText(#mode)="ABR" : SetGadgetState(#turbo,0) : EndIf If GetGadgetText(#mode)="2 Pass" : SetGadgetState(#turbo,1) : EndIf If GetGadgetText(#mode)="Quality (crf)" : SetGadgetState(#turbo,0) : SetGadgetText(#bitrate,"26"): EndIf If GetGadgetText(#mode)="Const. Quantizer" : SetGadgetState(#turbo,0) : SetGadgetText(#bitrate,"20"): EndIf EndProcedure Procedure Dimb() If GetGadgetText(#dimb)="1/4 CD" : sizemb.s="175" : EndIf If GetGadgetText(#dimb)="1/2 CD" : sizemb.s="350" : EndIf If GetGadgetText(#dimb)="1 CD" : sizemb.s="700" : EndIf If GetGadgetText(#dimb)="2 CD" : sizemb.s="1400" : EndIf If GetGadgetText(#dimb)="3 CD" : sizemb.s="2100" : EndIf If GetGadgetText(#dimb)="1 DVD-R" : sizemb.s="4479" : EndIf If GetGadgetText(#dimb)="1/3 DVD-R" : sizemb.s="1466" : EndIf If GetGadgetText(#dimb)="1/4 DVD-R" : sizemb.s="1100" : EndIf If GetGadgetText(#dimb)="1/5 DVD-R" : sizemb.s="880" : EndIf If GetGadgetText(#dimb)="1/6 DVD-R" : sizemb.s="733" : EndIf If GetGadgetState(#dimb)=-1 : sizemb.s=GetGadgetText(#dimb) : EndIf If LCase(Mid(GetGadgetText(#dimb),0,3))="bp=" bps.l=1 sizebp.f=ValF(Mid(GetGadgetText(#dimb),4,6)) EndIf Debug("bps="+StrF(sizebp.f)) Debug("GetGadgetState(#dimb)="+Str(GetGadgetState(#dimb))) Dimb.s=Str(Val(sizemb.s)*Val(GetGadgetText(#ncd))) Debug ("dimb.s="+Dimb.s) sizembd.f=ValF(dimb.s)*1024*1024 EndProcedure Procedure xvidqbit() SetGadgetState(#xvidqbit,GetGadgetState(#xvidqbit)) Debug ("GetGadgetState(#xvidqbit))="+Str(GetGadgetState(#xvidqbit))) SetGadgetText(#xvidqbit,StrF(GetGadgetState(#xvidqbit)/10,1)) Debug ("GetGadgetText(#xvidqbit)="+StrF(GetGadgetState(#xvidqbit)/10,1)) EndProcedure Procedure x264dqbit() SetGadgetState(#x264dqbit,GetGadgetState(#x264dqbit)) Debug ("GetGadgetState(#x264dqbit))="+Str(GetGadgetState(#x264dqbit))) SetGadgetText(#x264dqbit,Str(GetGadgetState(#x264dqbit))) Debug ("GetGadgetText(#x264dqbit)="+Str(GetGadgetState(#x264dqbit))) EndProcedure Procedure checkout(dir.s) ; If FindString(dir.s," ",1) ; Debug("dir.s="+dir.s) ; MessageRequester("WARNING !!!","Attention the output dir ("+Chr(34)+dir.s+Chr(34)+") contain SPACE in name !!! Please choose another output directory !!!",#MB_ICONEXCLAMATION) ; save_File() ; EndIf EndProcedure Procedure wfilter1() Debug("write "+Chr(34)+pscript.s+GetGadgetText(#filter1)+Chr(34)) RunProgram("write"," "+Chr(34)+pscript.s+GetGadgetText(#filter1)+Chr(34),"",1) EndProcedure Procedure wfilter2() Debug("write "+Chr(34)+pscript.s+GetGadgetText(#filter2)+Chr(34)) RunProgram("write"," "+Chr(34)+pscript.s+GetGadgetText(#filter2)+Chr(34),"",1) EndProcedure Procedure preclean() del.s=dest.s+"movielenght.avi" DeleteFile(del.s) del.s=dest.s+"checkmedia.txt" DeleteFile(del.s) del.s=dest.s+"frame.txt" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqe2p.ecl" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqecq.ecl" DeleteFile(del.s) del.s=dest.s+"mkvmagic_aqecqa.ecl" DeleteFile(del.s) del.s=dest.s+"resmovie.avi" DeleteFile(del.s) del.s=dest.s+"movie.avs" DeleteFile(del.s) del.s=dest.s+"movie.mpv.txt" DeleteFile(del.s) del.s=dest.s+"movie.avs.log" DeleteFile(del.s) del.s=dest.s+"time.avs" DeleteFile(del.s) del.s=dest.s+"movie.vaf" DeleteFile(del.s) del.s=dest.s+"mkvmagic_hc.ini" DeleteFile(del.s) del.s=dest.s+"dvd.mxp" DeleteFile(del.s) del.s="c:\muxman.log" DeleteFile(del.s) del.s="c:\qmatrix.txt" DeleteFile(del.s) del.s=pexe.s+"vsrip\fabexlog.txt" DeleteFile(del.s) del.s=dest.s+".stats" DeleteFile(del.s) del.s=dest.s+"audiomp2.wav" DeleteFile(del.s) del.s=dest.s+"fixed1.ac3" DeleteFile(del.s) del.s=dest.s+"fixed2.ac3" DeleteFile(del.s) del.s=dest.s+"xvidcmptest.bat" DeleteFile(del.s) del.s=dest.s+"xvidfirstpass.bat" DeleteFile(del.s) del.s=dest.s+"xvidsecondpass.bat" DeleteFile(del.s) del.s=dest.s+"AutoCrop.log" DeleteFile(del.s) del.s=dest.s+"testdeint.avs" DeleteFile(del.s) del.s=dest.s+"resmovie.avs" DeleteFile(del.s) del.s=dest.s+"xvid.stats" DeleteFile(del.s) del.s=dest.s+"testdeint.bat" DeleteFile(del.s) del.s=dest.s+"testdeint.avi" DeleteFile(del.s) del.s=dest.s+"interlaced.log" DeleteFile(del.s) del.s=dest.s+"avsopt.bat" DeleteFile(del.s) del.s=dest.s+"movielenght1.avi" DeleteFile(del.s) del.s=dest.s+"tmp.avi" DeleteFile(del.s) del.s=dest.s+"par.txt" DeleteFile(del.s) del.s=dest.s+"avsopt.avs" DeleteFile(del.s) del.s=dest.s+"AutoCrop.log" DeleteFile(del.s) del.s=dest.s+"avsopt.bat" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.avs" DeleteFile(del.s) del.s=dest.s+"autodeint_ff_movie.mp4" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.avs" DeleteFile(del.s) del.s=dest.s+"createautodeintmovie.mp4" DeleteFile(del.s) del.s=dest.s+"ff_interlace.log" DeleteFile(del.s) EndProcedure Procedure xqmatrix() xquantmat.s=OpenFileRequester("Load Custom Xvid matrix File","*.*","*.*|*.*",0) SetGadgetText(#xqtype,xquantmat.s) GadgetToolTip(#xqtype,"Loaded Custom Matrix "+xquantmat.s) EndProcedure Procedure xvidcmdq() xvidcmd.s=" " xvidcmd.s=xvidcmd.s+"-i "+Chr(34)+dest.s+"resmovie.avs"+Chr(34)+" -type 2" If bps.l=1 If GetGadgetText(#width)="Automatic" bitrate.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf If GetGadgetText(#width)<>"Automatic" bitrate.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf EndIf xvidcmd.s=xvidcmd.s+" -cq 2.4 " xvidcmd.s=xvidcmd.s+"-max_bframes "+GetGadgetText(#xmax_bframes)+" " xvidcmd.s=xvidcmd.s+"-bquant_ratio "+GetGadgetText(#xbquant_ratio)+" " xvidcmd.s=xvidcmd.s+"-bquant_offset "+GetGadgetText(#xbquant_offset)+" " xvidcmd.s=xvidcmd.s+"-framerate "+framer.s+" " If GetGadgetState(#xturbo)=1 : xvidcmd.s=xvidcmd.s+"-turbo " : EndIf xvidcmd.s=xvidcmd.s+"-quality "+GetGadgetText(#xquality)+" " xvidcmd.s=xvidcmd.s+"-vhqmode "+GetGadgetText(#xvhqmode)+" " If GetGadgetState(#xbvhq)=1 : xvidcmd.s=xvidcmd.s+"-bvhq " : EndIf If GetGadgetState(#xqpel)=1 : xvidcmd.s=xvidcmd.s+"-qpel " : EndIf If GetGadgetState(#xgmc)=1 : xvidcmd.s=xvidcmd.s+"-gmc " : EndIf If GetGadgetState(#xinterlaced)=1 : xvidcmd.s=xvidcmd.s+"-interlaced " : EndIf If GetGadgetState(#xpacked)=1 : xvidcmd.s=xvidcmd.s+"-nopacked " : EndIf If GetGadgetState(#xclosed_gop)=1 : xvidcmd.s=xvidcmd.s+"-noclosed_gop " : EndIf If GetGadgetState(#xgrey)=1 : xvidcmd.s=xvidcmd.s+"-grey " : EndIf If GetGadgetState(#xlumimasking)=1 : xvidcmd.s=xvidcmd.s+"-lumimasking " : EndIf If GetGadgetState(#xstats)=1 : xvidcmd.s=xvidcmd.s+"-stats " : EndIf If GetGadgetState(#xDebug)=1 : xvidcmd.s=xvidcmd.s+"-Debug " : EndIf If GetGadgetState(#xvop_debug)=1 : xvidcmd.s=xvidcmd.s+"-vop_debug " : EndIf If GetGadgetState(#xnoasm)=1 : xvidcmd.s=xvidcmd.s+"-noasm " : EndIf If GetGadgetText(#xmax_key_interval)<>"" : xvidcmd.s=xvidcmd.s+"-max_key_interval "+GetGadgetText(#xmax_key_interval)+" " : EndIf If GetGadgetState(#xnochromame)=1 : xvidcmd.s=xvidcmd.s+"-nochromame " : EndIf If GetGadgetState(#xnotrellis)=1 : xvidcmd.s=xvidcmd.s+"-notrellis " : EndIf If GetGadgetText(#ximin)<>"1" : xvidcmd.s=xvidcmd.s+"-imin "+GetGadgetText(#ximin)+" " : EndIf If GetGadgetText(#ximax)<>"31" : xvidcmd.s=xvidcmd.s+"-imax "+GetGadgetText(#ximax)+" " : EndIf If GetGadgetText(#xbmin)<>"1" : xvidcmd.s=xvidcmd.s+"-bmin "+GetGadgetText(#xbmin)+" " : EndIf If GetGadgetText(#xbmax)<>"31" : xvidcmd.s=xvidcmd.s+"-bmax "+GetGadgetText(#xbmax)+" " : EndIf If GetGadgetText(#xpmin)<>"1" : xvidcmd.s=xvidcmd.s+"-pmin "+GetGadgetText(#xpmin)+" " : EndIf If GetGadgetText(#xpmax)<>"31" : xvidcmd.s=xvidcmd.s+"-pmax "+GetGadgetText(#xpmax)+" " : EndIf If GetGadgetText(#xdrop)<>"0" : xvidcmd.s=xvidcmd.s+"-drop "+GetGadgetText(#xdrop)+" " : EndIf If GetGadgetState(#xpar)=0 : xvidcmd.s=xvidcmd.s+"-par 1 ": EndIf If GetGadgetState(#xpar)=1 : xvidcmd.s=xvidcmd.s+"-par 2 ": EndIf If GetGadgetState(#xpar)=2 : xvidcmd.s=xvidcmd.s+"-par 3 ": EndIf If GetGadgetState(#xpar)=3 : xvidcmd.s=xvidcmd.s+"-par 4 ": EndIf If GetGadgetState(#xpar)=4 : xvidcmd.s=xvidcmd.s+"-par 5 ": EndIf If GetGadgetText(#xprogress)<>"" : xvidcmd.s=xvidcmd.s+"-progress "+GetGadgetText(#xprogress)+" " : EndIf If GetGadgetText(#xreaction)<>"16" : xvidcmd.s=xvidcmd.s+"-reaction "+GetGadgetText(#xreaction)+" " : EndIf If GetGadgetText(#xaveraging)<>"100" : xvidcmd.s=xvidcmd.s+"-averaging "+GetGadgetText(#xaveraging)+" " : EndIf If GetGadgetText(#xsmoother)<>"100" : xvidcmd.s=xvidcmd.s+"-smoother "+GetGadgetText(#xsmoother)+" " : EndIf If GetGadgetText(#xkboost)<>"10" : xvidcmd.s=xvidcmd.s+"-kboost "+GetGadgetText(#xkboost)+" " : EndIf If GetGadgetText(#xkthresh)<>"1" : xvidcmd.s=xvidcmd.s+"-kthresh "+GetGadgetText(#xkthresh)+" " : EndIf If GetGadgetText(#xkreduction)<>"20" : xvidcmd.s=xvidcmd.s+"-kreduction "+GetGadgetText(#xkreduction)+" " : EndIf If GetGadgetText(#xostrength)<>"5" : xvidcmd.s=xvidcmd.s+"-ostrength "+GetGadgetText(#xostrength)+" " : EndIf If GetGadgetText(#xoimprove)<>"5" : xvidcmd.s=xvidcmd.s+"-oimprove "+GetGadgetText(#xoimprove)+" " : EndIf If GetGadgetText(#xodegrade)<>"5" : xvidcmd.s=xvidcmd.s+"-odegrade "+GetGadgetText(#xodegrade)+" " : EndIf If GetGadgetText(#xchigh)<>"0" : xvidcmd.s=xvidcmd.s+"-chigh "+GetGadgetText(#xchigh)+" " : EndIf If GetGadgetText(#xclow)<>"0" : xvidcmd.s=xvidcmd.s+"-clow "+GetGadgetText(#xclow)+" " : EndIf If GetGadgetText(#xoverhead)<>"24" : xvidcmd.s=xvidcmd.s+"-overhead "+GetGadgetText(#xoverhead)+" " : EndIf If GetGadgetText(#xvbvsize)<>"" : xvidcmd.s=xvidcmd.s+"-vbvsize "+GetGadgetText(#xvbvsize)+" " : EndIf If GetGadgetText(#xvbvmax)<>"" : xvidcmd.s=xvidcmd.s+"-vbvmax "+GetGadgetText(#xvbvmax)+" " : EndIf If GetGadgetText(#xvbvpeak)<>"" : xvidcmd.s=xvidcmd.s+"-vbvpeak "+GetGadgetText(#xvbvpeak)+" " : EndIf If GetGadgetText(#xcustom)<>"Append custom command" : xvidcmd.s=xvidcmd.s+" "+GetGadgetText(#xcustom)+" " : EndIf If GetGadgetText(#xqtype)="H263" : xvidcmd.s=xvidcmd.s+"-qtype 0 " : EndIf If GetGadgetText(#xqtype)="MPEG" : xvidcmd.s=xvidcmd.s+"-qtype 1 " : EndIf If GetGadgetText(#xqtype)<>"MPEG" And GetGadgetText(#xqtype)<>"H263" xvidcmd.s=xvidcmd.s+"-qmatrix "+Chr(34)+GetGadgetText(#xqtype)+Chr(34)+" " EndIf xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"resmovie.avi"+Chr(34) writelog("XviD Compression Test String: "+xvidcmd.s) CreateFile(0,dest.s+"xvidcmptest.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndProcedure Procedure xvidcmd() xsize.l=Int((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)/1024) xvidcmd.s=" " xvidcmd.s=xvidcmd.s+"-i "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" -type 2 " If bps.l=1 If GetGadgetText(#width)="Automatic" bitrate.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf If GetGadgetText(#width)<>"Automatic" bitrate.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf EndIf If xvidpass.s="1" : xvidcmd.s=xvidcmd.s+" -single -bitrate ": EndIf If xvidpass.s="1" If GetGadgetText(#xbitrate)="AUTO" xvidcmd.s=xvidcmd.s+Str(Val(bitrate.s))+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+GetGadgetText(#xbitrate)+" " EndIf EndIf If xvidpass.s="2" If GetGadgetText(#xbitrate)="AUTO" ;xvidcmd.s=xvidcmd.s+"-pass1 xvid.stats -bitrate "+Str(Val(bitrate.s))+" " xvidcmd.s=xvidcmd.s+"-pass1 xvid.stats -size "+Str(xsize.l)+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+"-pass1 xvid.stats -bitrate "+GetGadgetText(#xbitrate)+" " EndIf EndIf If xvidpass.s="2" If GetGadgetState(#full1pass)=1 : xvidcmd.s=xvidcmd.s+"-full1pass " : EndIf EndIf If xvidpass.s="3" If GetGadgetText(#xbitrate)="AUTO" xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -size "+Str(xsize.l)+" " ;xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -bitrate "+Str(Val(bitrate.s))+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -bitrate "+GetGadgetText(#xbitrate)+" " EndIf EndIf If xvidpass.s="4" xvidcmd.s=xvidcmd.s+"-cq "+GetGadgetText(#xbitrate)+" " EndIf xvidcmd.s=xvidcmd.s+"-max_bframes "+GetGadgetText(#xmax_bframes)+" " xvidcmd.s=xvidcmd.s+"-bquant_ratio "+GetGadgetText(#xbquant_ratio)+" " xvidcmd.s=xvidcmd.s+"-bquant_offset "+GetGadgetText(#xbquant_offset)+" " xvidcmd.s=xvidcmd.s+"-framerate "+framer.s+" " If GetGadgetState(#xturbo)=1 : xvidcmd.s=xvidcmd.s+"-turbo " : EndIf xvidcmd.s=xvidcmd.s+"-quality "+GetGadgetText(#xquality)+" " xvidcmd.s=xvidcmd.s+"-vhqmode "+GetGadgetText(#xvhqmode)+" " If GetGadgetState(#xbvhq)=1 : xvidcmd.s=xvidcmd.s+"-bvhq " : EndIf If GetGadgetState(#xqpel)=1 : xvidcmd.s=xvidcmd.s+"-qpel " : EndIf If GetGadgetState(#xgmc)=1 : xvidcmd.s=xvidcmd.s+"-gmc " : EndIf If GetGadgetState(#xinterlaced)=1 : xvidcmd.s=xvidcmd.s+"-interlaced " : EndIf If GetGadgetState(#xpacked)=1 : xvidcmd.s=xvidcmd.s+"-nopacked " : EndIf If GetGadgetState(#xclosed_gop)=1 : xvidcmd.s=xvidcmd.s+"-noclosed_gop " : EndIf If GetGadgetState(#xgrey)=1 : xvidcmd.s=xvidcmd.s+"-grey " : EndIf If GetGadgetState(#xlumimasking)=1 : xvidcmd.s=xvidcmd.s+"-lumimasking " : EndIf If GetGadgetState(#xstats)=1 : xvidcmd.s=xvidcmd.s+"-stats " : EndIf If GetGadgetState(#xDebug)=1 : xvidcmd.s=xvidcmd.s+"-Debug " : EndIf If GetGadgetState(#xvop_debug)=1 : xvidcmd.s=xvidcmd.s+"-vop_debug " : EndIf If GetGadgetState(#xnoasm)=1 : xvidcmd.s=xvidcmd.s+"-noasm " : EndIf If GetGadgetText(#xmax_key_interval)<>"" : xvidcmd.s=xvidcmd.s+"-max_key_interval "+GetGadgetText(#xmax_key_interval)+" " : EndIf If GetGadgetState(#xnochromame)=1 : xvidcmd.s=xvidcmd.s+"-nochromame " : EndIf If GetGadgetState(#xnotrellis)=1 : xvidcmd.s=xvidcmd.s+"-notrellis " : EndIf If GetGadgetText(#ximin)<>"1" : xvidcmd.s=xvidcmd.s+"-imin "+GetGadgetText(#ximin)+" " : EndIf If GetGadgetText(#ximax)<>"31" : xvidcmd.s=xvidcmd.s+"-imax "+GetGadgetText(#ximax)+" " : EndIf If GetGadgetText(#xbmin)<>"1" : xvidcmd.s=xvidcmd.s+"-bmin "+GetGadgetText(#xbmin)+" " : EndIf If GetGadgetText(#xbmax)<>"31" : xvidcmd.s=xvidcmd.s+"-bmax "+GetGadgetText(#xbmax)+" " : EndIf If GetGadgetText(#xpmin)<>"1" : xvidcmd.s=xvidcmd.s+"-pmin "+GetGadgetText(#xpmin)+" " : EndIf If GetGadgetText(#xpmax)<>"31" : xvidcmd.s=xvidcmd.s+"-pmax "+GetGadgetText(#xpmax)+" " : EndIf If GetGadgetText(#xdrop)<>"0" : xvidcmd.s=xvidcmd.s+"-drop "+GetGadgetText(#xdrop)+" " : EndIf If GetGadgetState(#xpar)=0 : xvidcmd.s=xvidcmd.s+"-par 1 ": EndIf If GetGadgetState(#xpar)=1 : xvidcmd.s=xvidcmd.s+"-par 2 ": EndIf If GetGadgetState(#xpar)=2 : xvidcmd.s=xvidcmd.s+"-par 3 ": EndIf If GetGadgetState(#xpar)=3 : xvidcmd.s=xvidcmd.s+"-par 4 ": EndIf If GetGadgetState(#xpar)=4 : xvidcmd.s=xvidcmd.s+"-par 5 ": EndIf If GetGadgetText(#xprogress)<>"" : xvidcmd.s=xvidcmd.s+"-progress "+GetGadgetText(#xprogress)+" " : EndIf If GetGadgetText(#xreaction)<>"16" : xvidcmd.s=xvidcmd.s+"-reaction "+GetGadgetText(#xreaction)+" " : EndIf If GetGadgetText(#xaveraging)<>"100" : xvidcmd.s=xvidcmd.s+"-averaging "+GetGadgetText(#xaveraging)+" " : EndIf If GetGadgetText(#xsmoother)<>"100" : xvidcmd.s=xvidcmd.s+"-smoother "+GetGadgetText(#xsmoother)+" " : EndIf If GetGadgetText(#xkboost)<>"10" : xvidcmd.s=xvidcmd.s+"-kboost "+GetGadgetText(#xkboost)+" " : EndIf If GetGadgetText(#xkthresh)<>"1" : xvidcmd.s=xvidcmd.s+"-kthresh "+GetGadgetText(#xkthresh)+" " : EndIf If GetGadgetText(#xkreduction)<>"20" : xvidcmd.s=xvidcmd.s+"-kreduction "+GetGadgetText(#xkreduction)+" " : EndIf If GetGadgetText(#xostrength)<>"5" : xvidcmd.s=xvidcmd.s+"-ostrength "+GetGadgetText(#xostrength)+" " : EndIf If GetGadgetText(#xoimprove)<>"5" : xvidcmd.s=xvidcmd.s+"-oimprove "+GetGadgetText(#xoimprove)+" " : EndIf If GetGadgetText(#xodegrade)<>"5" : xvidcmd.s=xvidcmd.s+"-odegrade "+GetGadgetText(#xodegrade)+" " : EndIf If GetGadgetText(#xchigh)<>"0" : xvidcmd.s=xvidcmd.s+"-chigh "+GetGadgetText(#xchigh)+" " : EndIf If GetGadgetText(#xclow)<>"0" : xvidcmd.s=xvidcmd.s+"-clow "+GetGadgetText(#xclow)+" " : EndIf If GetGadgetText(#xoverhead)<>"24" : xvidcmd.s=xvidcmd.s+"-overhead "+GetGadgetText(#xoverhead)+" " : EndIf If GetGadgetText(#xvbvsize)<>"" : xvidcmd.s=xvidcmd.s+"-vbvsize "+GetGadgetText(#xvbvsize)+" " : EndIf If GetGadgetText(#xvbvmax)<>"" : xvidcmd.s=xvidcmd.s+"-vbvmax "+GetGadgetText(#xvbvmax)+" " : EndIf If GetGadgetText(#xvbvpeak)<>"" : xvidcmd.s=xvidcmd.s+"-vbvpeak "+GetGadgetText(#xvbvpeak)+" " : EndIf If GetGadgetText(#xcustom)<>"Append custom command" : xvidcmd.s=xvidcmd.s+" "+GetGadgetText(#xcustom)+" " : EndIf If GetGadgetText(#xqtype)="H263" : xvidcmd.s=xvidcmd.s+"-qtype 0 " : EndIf If GetGadgetText(#xqtype)="MPEG" : xvidcmd.s=xvidcmd.s+"-qtype 1 " : EndIf If GetGadgetText(#xqtype)<>"MPEG" And GetGadgetText(#xqtype)<>"H263" xvidcmd.s=xvidcmd.s+"-qmatrix "+Chr(34)+GetGadgetText(#xqtype)+Chr(34)+" " EndIf If GetGadgetState(#full1pass)=1 And xvidpass.s="2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"fullquality_firstpass_movie.avi"+Chr(34) EndIf If GetGadgetState(#full1pass)<>1 And xvidpass.s="2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"movie.avi"+Chr(34) EndIf If xvidpass.s<>"2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"movie.avi"+Chr(34) EndIf If xvidpass.s="1" writelog("XviD Single Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidsingle.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="2" writelog("XviD First Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidfirstpass.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="3" writelog("XviD Second Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidsecondpass.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="4" writelog("XviD Constant Quality : "+xvidcmd.s) CreateFile(0,dest.s+"xvidcq.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf EndProcedure Procedure xvidcmdw() If bps.l=1 If GetGadgetText(#width)="Automatic" bitrate.s=Str(Int(Val(acwidth.s)*Val(acheight.s)*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+acwidth.s+"*"+acheight.s+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf If GetGadgetText(#width)<>"Automatic" bitrate.s=Str(Int(Val(GetGadgetText(#width))*Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s))*sizebp.f*Val(framer.s)/1024)) writelog("Applyed a Bit/Pixel formula of: "+GetGadgetText(#width)+"*"+Str(Val(acheight.s)/(Val(acwidth.s)/Val(acheight.s)))+"*"+StrF(sizebp.f)+"*"+framer.s+"/1024="+bitrate.s) EndIf EndIf xvidcmd.s=" " xvidcmd.s=xvidcmd.s+"-i "+Chr(34)+dest.s+"movie.avs"+Chr(34)+" -type 2 " If xvidpass.s="1" : xvidcmd.s=xvidcmd.s+" -single -bitrate ": EndIf If xvidpass.s="1" If GetGadgetText(#xbitrate)="AUTO" xvidcmd.s=xvidcmd.s+Str(Val(bitrate.s))+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+GetGadgetText(#xbitrate)+" " EndIf EndIf xsize.l=Int((sizembd.f-audiosz1.l-audiosz2.l-subssize1.l/2)/1024) If xvidpass.s="2" If GetGadgetText(#xbitrate)="AUTO" xvidcmd.s=xvidcmd.s+"-pass1 xvid.stats -size "+Str(xsize.l)+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+"-pass1 xvid.stats -bitrate "+GetGadgetText(#xbitrate)+" " EndIf EndIf If xvidpass.s="2" If GetGadgetState(#full1pass)=1 : xvidcmd.s=xvidcmd.s+"-full1pass " : EndIf EndIf If xvidpass.s="3" If GetGadgetText(#xbitrate)="AUTO" xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -size "+Str(xsize.l)+" " ;xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -bitrate "+Str(Val(bitrate.s))+" " EndIf If GetGadgetText(#xbitrate)<>"AUTO" xvidcmd.s=xvidcmd.s+"-pass2 xvid.stats -bitrate "+GetGadgetText(#xbitrate)+" " EndIf EndIf If xvidpass.s="4" xvidcmd.s=xvidcmd.s+"-cq "+GetGadgetText(#xbitrate)+" " EndIf xvidcmd.s=xvidcmd.s+"-max_bframes "+GetGadgetText(#xmax_bframes)+" " xvidcmd.s=xvidcmd.s+"-bquant_ratio "+GetGadgetText(#xbquant_ratio)+" " xvidcmd.s=xvidcmd.s+"-bquant_offset "+GetGadgetText(#xbquant_offset)+" " xvidcmd.s=xvidcmd.s+"-framerate "+framer.s+" " If GetGadgetState(#xturbo)=1 : xvidcmd.s=xvidcmd.s+"-turbo " : EndIf xvidcmd.s=xvidcmd.s+"-quality "+GetGadgetText(#xquality)+" " xvidcmd.s=xvidcmd.s+"-vhqmode "+GetGadgetText(#xvhqmode)+" " If GetGadgetState(#xbvhq)=1 : xvidcmd.s=xvidcmd.s+"-bvhq " : EndIf If GetGadgetState(#xqpel)=1 : xvidcmd.s=xvidcmd.s+"-qpel " : EndIf If GetGadgetState(#xgmc)=1 : xvidcmd.s=xvidcmd.s+"-gmc " : EndIf If GetGadgetState(#xinterlaced)=1 : xvidcmd.s=xvidcmd.s+"-interlaced " : EndIf If GetGadgetState(#xpacked)=1 : xvidcmd.s=xvidcmd.s+"-nopacked " : EndIf If GetGadgetState(#xclosed_gop)=1 : xvidcmd.s=xvidcmd.s+"-noclosed_gop " : EndIf If GetGadgetState(#xgrey)=1 : xvidcmd.s=xvidcmd.s+"-grey " : EndIf If GetGadgetState(#xlumimasking)=1 : xvidcmd.s=xvidcmd.s+"-lumimasking " : EndIf If GetGadgetState(#xstats)=1 : xvidcmd.s=xvidcmd.s+"-stats " : EndIf If GetGadgetState(#xDebug)=1 : xvidcmd.s=xvidcmd.s+"-Debug " : EndIf If GetGadgetState(#xvop_debug)=1 : xvidcmd.s=xvidcmd.s+"-vop_debug " : EndIf If GetGadgetState(#xnoasm)=1 : xvidcmd.s=xvidcmd.s+"-noasm " : EndIf If GetGadgetText(#xmax_key_interval)<>"" : xvidcmd.s=xvidcmd.s+"-max_key_interval "+GetGadgetText(#xmax_key_interval)+" " : EndIf If GetGadgetState(#xnochromame)=1 : xvidcmd.s=xvidcmd.s+"-nochromame " : EndIf If GetGadgetState(#xnotrellis)=1 : xvidcmd.s=xvidcmd.s+"-notrellis " : EndIf If GetGadgetText(#ximin)<>"1" : xvidcmd.s=xvidcmd.s+"-imin "+GetGadgetText(#ximin)+" " : EndIf If GetGadgetText(#ximax)<>"31" : xvidcmd.s=xvidcmd.s+"-imax "+GetGadgetText(#ximax)+" " : EndIf If GetGadgetText(#xbmin)<>"1" : xvidcmd.s=xvidcmd.s+"-bmin "+GetGadgetText(#xbmin)+" " : EndIf If GetGadgetText(#xbmax)<>"31" : xvidcmd.s=xvidcmd.s+"-bmax "+GetGadgetText(#xbmax)+" " : EndIf If GetGadgetText(#xpmin)<>"1" : xvidcmd.s=xvidcmd.s+"-pmin "+GetGadgetText(#xpmin)+" " : EndIf If GetGadgetText(#xpmax)<>"31" : xvidcmd.s=xvidcmd.s+"-pmax "+GetGadgetText(#xpmax)+" " : EndIf If GetGadgetText(#xdrop)<>"0" : xvidcmd.s=xvidcmd.s+"-drop "+GetGadgetText(#xdrop)+" " : EndIf If GetGadgetState(#xpar)=0 : xvidcmd.s=xvidcmd.s+"-par 1 ": EndIf If GetGadgetState(#xpar)=1 : xvidcmd.s=xvidcmd.s+"-par 2 ": EndIf If GetGadgetState(#xpar)=2 : xvidcmd.s=xvidcmd.s+"-par 3 ": EndIf If GetGadgetState(#xpar)=3 : xvidcmd.s=xvidcmd.s+"-par 4 ": EndIf If GetGadgetState(#xpar)=4 : xvidcmd.s=xvidcmd.s+"-par 5 ": EndIf If GetGadgetText(#xprogress)<>"" : xvidcmd.s=xvidcmd.s+"-progress "+GetGadgetText(#xprogress)+" " : EndIf If GetGadgetText(#xreaction)<>"16" : xvidcmd.s=xvidcmd.s+"-reaction "+GetGadgetText(#xreaction)+" " : EndIf If GetGadgetText(#xaveraging)<>"100" : xvidcmd.s=xvidcmd.s+"-averaging "+GetGadgetText(#xaveraging)+" " : EndIf If GetGadgetText(#xsmoother)<>"100" : xvidcmd.s=xvidcmd.s+"-smoother "+GetGadgetText(#xsmoother)+" " : EndIf If GetGadgetText(#xkboost)<>"10" : xvidcmd.s=xvidcmd.s+"-kboost "+GetGadgetText(#xkboost)+" " : EndIf If GetGadgetText(#xkthresh)<>"1" : xvidcmd.s=xvidcmd.s+"-kthresh "+GetGadgetText(#xkthresh)+" " : EndIf If GetGadgetText(#xkreduction)<>"20" : xvidcmd.s=xvidcmd.s+"-kreduction "+GetGadgetText(#xkreduction)+" " : EndIf If GetGadgetText(#xostrength)<>"5" : xvidcmd.s=xvidcmd.s+"-ostrength "+GetGadgetText(#xostrength)+" " : EndIf If GetGadgetText(#xoimprove)<>"5" : xvidcmd.s=xvidcmd.s+"-oimprove "+GetGadgetText(#xoimprove)+" " : EndIf If GetGadgetText(#xodegrade)<>"5" : xvidcmd.s=xvidcmd.s+"-odegrade "+GetGadgetText(#xodegrade)+" " : EndIf If GetGadgetText(#xchigh)<>"0" : xvidcmd.s=xvidcmd.s+"-chigh "+GetGadgetText(#xchigh)+" " : EndIf If GetGadgetText(#xclow)<>"0" : xvidcmd.s=xvidcmd.s+"-clow "+GetGadgetText(#xclow)+" " : EndIf If GetGadgetText(#xoverhead)<>"24" : xvidcmd.s=xvidcmd.s+"-overhead "+GetGadgetText(#xoverhead)+" " : EndIf If GetGadgetText(#xvbvsize)<>"" : xvidcmd.s=xvidcmd.s+"-vbvsize "+GetGadgetText(#xvbvsize)+" " : EndIf If GetGadgetText(#xvbvmax)<>"" : xvidcmd.s=xvidcmd.s+"-vbvmax "+GetGadgetText(#xvbvmax)+" " : EndIf If GetGadgetText(#xvbvpeak)<>"" : xvidcmd.s=xvidcmd.s+"-vbvpeak "+GetGadgetText(#xvbvpeak)+" " : EndIf If GetGadgetText(#xcustom)<>"Append custom command" : xvidcmd.s=xvidcmd.s+" "+GetGadgetText(#xcustom)+" " : EndIf If GetGadgetText(#xqtype)="H263" : xvidcmd.s=xvidcmd.s+"-qtype 0 " : EndIf If GetGadgetText(#xqtype)="MPEG" : xvidcmd.s=xvidcmd.s+"-qtype 1 " : EndIf If GetGadgetText(#xqtype)<>"MPEG" And GetGadgetText(#xqtype)<>"H263" xvidcmd.s=xvidcmd.s+"-qmatrix "+Chr(34)+GetGadgetText(#xqtype)+Chr(34)+" " EndIf If GetGadgetState(#full1pass)=1 And xvidpass.s="2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"fullquality_firstpass_movie.avi"+Chr(34) EndIf If GetGadgetState(#full1pass)<>1 And xvidpass.s="2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"movie.avi"+Chr(34) EndIf If xvidpass.s<>"2" xvidcmd.s=xvidcmd.s+"-avi "+Chr(34)+dest.s+"movie.avi"+Chr(34) EndIf Debug("xvidcmd.s="+xvidcmd.s) Debug("xvidpass.s="+xvidpass.s) If xvidpass.s="1" writelog("XviD Single Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidsingle.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="2" writelog("XviD First Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidfirstpass.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="3" writelog("XviD Second Pass: "+xvidcmd.s) CreateFile(0,dest.s+"xvidsecondpass.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf If xvidpass.s="4" writelog("XviD Constant Quality : "+xvidcmd.s) CreateFile(0,dest.s+"xvidcq.bat") WriteStringN(0,pexe.s+"encoder\xvid_encraw.exe "+xvidcmd.s) CloseFile(0) EndIf EndProcedure Procedure pgc() ClearGadgetItemList(#subtracks1) ClearGadgetItemList(#audiotracks1) ClearGadgetItemList(#subtracks2) ClearGadgetItemList(#audiotracks2) AddGadgetItem(#SUBtracks1,-1,"NONE") AddGadgetItem(#subtracks2,-1,"NONE") AddGadgetItem(#audiotracks1,-1,"NONE") AddGadgetItem(#audiotracks2,-1,"NONE") fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") pgcx.l=-1 pgc.l=GetGadgetState(#pgc) Debug("pgcx.l start="+Str(pgcx.l)) Debug("pgc.l start="+Str(pgc.l)) While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) pgcx.l=pgcx.l+1 Debug("pgcx.l="+Str(pgcx.l)) EndIf If FindString(line.s," Audio ",1) And pgcx.l=pgc.l AddGadgetItem(#audiotracks1,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) AddGadgetItem(#audiotracks2,-1,Mid(line.s,FindString(line.s,".",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) Break EndIf Wend CloseFile(fh) SetGadgetState(#audiotracks1,1) SetGadgetState(#audiotracks2,0) pgcx.l=-1 pgc.l=GetGadgetState(#pgc) fh = OpenFile(#PB_Any,here.s+"dvdinfo.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"PGC",1) : pgcx.l=pgcx.l+1 : Debug("pgcx.l="+Str(pgcx.l)) : EndIf If FindString(line.s," Subtitle",1) And pgcx.l=pgc.l AddGadgetItem(#subtracks1,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) AddGadgetItem(#subtracks2,-1,Mid(line.s,FindString(line.s,". ",1)+2,50)) EndIf If pgcx.l>pgc.l SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) Break EndIf Wend CloseFile(fh) AddGadgetItem(#subtracks1,-1,"RIP ALL SUBS") SetGadgetState(#subtracks1,0) SetGadgetState(#subtracks2,0) EndProcedure Procedure numzones() numzones.s=Str(GetGadgetState(#numzones)) SetGadgetState(#numzones,Val(numzones.s)) SetGadgetText(#numzones,numzones.s) EndProcedure Procedure avsoptimizer() writelog("Starting Avs Optimizer Routines") OpenFile(2,pfilt.s+"Default.avs") OpenFile(3,dest.s+"avsopt.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,"LoadPlugin("+Chr(34)+pfilt.s+line.s+Chr(34)+")") Wend CloseFile(2) If avs1.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs1.s+Chr(34)+")") : EndIf If avs2.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs2.s+Chr(34)+")") : EndIf If avs3.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs3.s+Chr(34)+")") : EndIf If avs4.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs4.s+Chr(34)+")") : EndIf If avs5.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs5.s+Chr(34)+")") : EndIf If avs6.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs6.s+Chr(34)+")") : EndIf If avs7.s<>"" : WriteStringN(3,"LoadPlugin("+Chr(34)+avs7.s+Chr(34)+")") : EndIf If iavs1.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs1.s+Chr(34)+")") : EndIf If iavs2.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs2.s+Chr(34)+")") : EndIf If iavs3.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs3.s+Chr(34)+")") : EndIf If iavs4.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs4.s+Chr(34)+")") : EndIf If iavs5.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs5.s+Chr(34)+")") : EndIf If iavs6.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs6.s+Chr(34)+")") : EndIf If iavs7.s<>"" : WriteStringN(3,"Import("+Chr(34)+iavs7.s+Chr(34)+")") : EndIf WriteStringN(3,"Import("+Chr(34)+pfilt.s+"LimitedSharpen.avs"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"HybridFuPP.avsi"+Chr(34)+")") WriteStringN(3,"Import("+Chr(34)+pfilt.s+"spresso.avs"+Chr(34)+")") If GetGadgetState(#resizer)=-1 Debug("LCase(Mid(GetGadgetText(#resizer),0,7))="+LCase(Mid(GetGadgetText(#resizer),0,7))) If LCase(Mid(GetGadgetText(#resizer),0,7))="limited" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"LimitedSharpen.avs"+Chr(34)+")") EndIf EndIf If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" WriteStringN(3,"Import("+Chr(34)+pfilt.s+"QMF.avs"+Chr(34)+")") EndIf If GetGadgetText(#loadfilter)<>"NONE" : WriteStringN(3,GetGadgetText(#loadfilter)) :EndIf If enco=3 ; "d2v" WriteStringN(3,"movie = mpeg2source("+Chr(34)+inputfile.s+Chr(34)+")") Else If enco=4 ; "avi" If GetGadgetState(#eavi)=1 WriteStringN(3,"movie = avisource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(3,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf If GetGadgetState(#eavi)=0 WriteStringN(3,"movie = directshowsource("+Chr(34)+inputfile.s+Chr(34)+",audio=false)") WriteStringN(3,"movie = isRGB(movie) ? ConvertToYV12(movie) : movie") WriteStringN(3,"movie = isYUY2(movie) ? ConvertToYV12(movie) : movie") EndIf EndIf If enco=1 Or enco=2 Or enco=0 Or enco=6 WriteStringN(3,"movie = mpeg2source("+Chr(34)+dest.s+"movie.d2v"+Chr(34)+")") EndIf EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" If LCase(Mid(GetGadgetText(#deint),0,5))="mvbob" WriteStringN(3,"movie = "+GetGadgetText(#deint)) EndIf EndIf WriteStringN(3,"function getOrder(clip c) { ") WriteStringN(3,"order = GetParity(c) ? 1 : 0 ") WriteStringN(3,"Return order } ") If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : qmf2() : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : qmf2() : EndIf WriteStringN(3,"cropclip = autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=0,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") width.s=twidth.s If GetGadgetText(#widthctest)="AUTO" : width.s = twidth.s : EndIf If GetGadgetText(#widthctest)<>"AUTO" : width.s = GetGadgetText(#widthctest) : EndIf If GetGadgetText(#AR)<>"Anamorphic+SAR" If ar.s="16:9" WriteStringN(3,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*16/9)) ElseIf ar.s="4:3" WriteStringN(3,"fixed_aspect = "+StrF(Val(theight.s)/Val(twidth.s)*4/3)) ElseIf ar.s<>"16:9" Or ar.s<>"4:3" Or ar.s="1:1" WriteStringN(3,"fixed_aspect = 1") EndIf EndIf If GetGadgetText(#AR)="Anamorphic+SAR" WriteStringN(3,"fixed_aspect = 1") EndIf If GetGadgetText(#deint)<>"AUTO" : writelog("Loaded Deinterlacer: "+GetGadgetText(#deint)) : EndIf WriteStringN(3,"c_width = width(cropclip)") WriteStringN(3,"c_height = Round(height(cropclip) / fixed_aspect)") WriteStringN(3,"input_par = float(float(c_width)/float(c_height))") WriteStringN(3,"input_par = input_par > 1.4 ? input_par : (4.0/3.0)") WriteStringN(3,"out_width = "+width.s) WriteStringN(3,"out_height = Round(float(out_width) / input_par)") WriteStringN(3,"hmod = out_height - (floor(out_height / 16 ) * 16)") WriteStringN(3,"out_height = (hmod > 4) ? (out_height + (16 - hmod)) : (out_height - hmod)") WriteStringN(3,"new_aspect = (float(out_width) / float(out_height)) / fixed_aspect") WriteStringN(3,"autocrop(movie,mode=0,wmultof=4,hmultof=4,samples="+GetGadgetText(#cframes)+",aspect=new_aspect,threshold="+GetGadgetText(#thresh)+",samplestartframe="+GetGadgetText(#sframes)+")") If GetGadgetText(#cwidth)="AUTO" : WriteStringN(3,"global out_width = out_width") : EndIf If GetGadgetText(#cwidth)="AUTO" : WriteStringN(3,"global out_height = out_height") : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(3,"global out_width = "+GetGadgetText(#cwidth)) : EndIf If GetGadgetText(#cwidth)<>"AUTO" : WriteStringN(3,"global out_height = "+GetGadgetText(#cheight)) : EndIf If GetGadgetText(#deint)<>"NONE" And GetGadgetText(#deint)<>"AUTO" WriteStringN(3,GetGadgetText(#deint)) EndIf If GetGadgetText(#deint)="AUTO" If enco=1 Or enco=2 Or enco=0 Or enco=6 If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(9,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(9,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(3,"tfm(d2v="+Chr(34)+dest.s+"movie.d2v"+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf If enco=3 ; "d2v" If deint.s="1" If fieldOrder.l=1 Or fieldOrder.l=0 WriteStringN(3,"LeakKernelDeint(order="+Str(fieldOrder.l)+",sharp=true)") EndIf If fieldOrder.l=3 WriteStringN(3,"TDeint()") EndIf EndIf If deint.s="2" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If deint.s="3" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=1)") : EndIf If deint.s="4" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(hybrid=3)") : EndIf If deint.s="5" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate()") : EndIf If GetGadgetState(#vfr)=1 If deint.s="9" : WriteStringN(3,"tfm(d2v="+Chr(34)+inputfile.s+Chr(34)+").tdecimate(mode=3,hybrid=2,vfrDec=0,mkvOut="+Chr(34)+"mkv-timecodesfile.txt"+Chr(34)+")") : EndIf EndIf EndIf EndIf If GetGadgetState(#pcrop)=1 WriteStringN(3,"crop(movie,"+GetGadgetText(#cleft)+","+GetGadgetText(#ctop)+",-"+GetGadgetText(#cright)+",-"+GetGadgetText(#cbottom)+")") EndIf If GetGadgetText(#bres1)<>"" : WriteStringN(3,GetGadgetText(#bres1)) : EndIf If GetGadgetText(#bres2)<>"" : WriteStringN(3,GetGadgetText(#bres2)) : EndIf If GetGadgetText(#bres3)<>"" : WriteStringN(3,GetGadgetText(#bres3)) : EndIf If GetGadgetText(#bres4)<>"" : WriteStringN(3,GetGadgetText(#bres4)) : EndIf If GetGadgetText(#bres5)<>"" : WriteStringN(3,GetGadgetText(#bres5)) : EndIf If GetGadgetText(#bres6)<>"" : WriteStringN(3,GetGadgetText(#bres6)) : EndIf If GetGadgetText(#bres7)<>"" : WriteStringN(3,GetGadgetText(#bres7)) : EndIf If GetGadgetState(#greyscale)=1 : WriteStringN(3,"Greyscale()") : EndIf WriteStringN(3,"#@") WriteStringN(3,"SimpleResize(out_width,out_height)") If GetGadgetState(#pcrop)=1 WriteStringN(3,"addborders("+GetGadgetText(#addl)+","+GetGadgetText(#addt)+","+GetGadgetText(#addr)+","+GetGadgetText(#addb)+")") EndIf WriteStringN(3,"#@") If GetGadgetText(#resizer)="NONE" WriteStringN(3,"last=movie") WriteStringN(3,"function AddAudio(clip v1) { ") WriteStringN(3,"v2 = Blankclip() ") WriteStringN(3,"v1 = AudioDub(v1,v2) ") WriteStringN(3,"Return v1 ") WriteStringN(3,"}") WriteStringN(3,"addaudio()") EndIf If GetGadgetText(#pres1)<>"" : WriteStringN(3,GetGadgetText(#pres1)) : EndIf If GetGadgetText(#pres2)<>"" : WriteStringN(3,GetGadgetText(#pres2)) : EndIf If GetGadgetText(#pres3)<>"" : WriteStringN(3,GetGadgetText(#pres3)) : EndIf If GetGadgetText(#pres4)<>"" : WriteStringN(3,GetGadgetText(#pres4)) : EndIf If GetGadgetText(#pres5)<>"" : WriteStringN(3,GetGadgetText(#pres5)) : EndIf If GetGadgetText(#pres6)<>"" : WriteStringN(3,GetGadgetText(#pres6)) : EndIf If GetGadgetText(#pres7)<>"" : WriteStringN(3,GetGadgetText(#pres7)) : EndIf If GetGadgetText(#filter1)<>"NONE" If LCase(Mid(GetGadgetText(#filter1),0,3))<>"qmf" If GetGadgetText(#filter1)<>"clean" If LCase(Mid(GetGadgetText(#filter1),0,4))<>"def-" WriteStringN(3,GetGadgetText(#filter1)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter2)<>"NONE" If LCase(Mid(GetGadgetText(#filter2),0,3))<>"qmf" If GetGadgetText(#filter2)<>"clean" If LCase(Mid(GetGadgetText(#filter2),0,4))<>"def-" WriteStringN(3,GetGadgetText(#filter2)) EndIf EndIf EndIf EndIf If GetGadgetText(#filter3)<>"Write your filter configuration" WriteStringN(3,GetGadgetText(#filter3)) EndIf If LCase(Mid(GetGadgetText(#filter1),0,3))="qmf" : WriteStringN(3,"QMF()") : EndIf If LCase(Mid(GetGadgetText(#filter2),0,3))="qmf" : WriteStringN(3,"QMF()") : EndIf If LCase(Mid(GetGadgetText(#filter1),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter1)) OpenFile(3,dest.s+"avsopt.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If LCase(Mid(GetGadgetText(#filter2),0,4))="def-" OpenFile(2,pscript.s+GetGadgetText(#filter2)) OpenFile(3,dest.s+"avsopt.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter1)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"avsopt.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf If GetGadgetText(#filter2)="clean" OpenFile(2,pscript.s+"clean") OpenFile(3,dest.s+"avsopt.avs") While Eof(2) = 0 line.s = ReadString(2) WriteStringN(3,line.s) Wend CloseFile(2) EndIf CloseFile(3) If enco=9 CreateFile(3,dest.s+"avsopt.avs") WriteStringN(3,"Import("+Chr(34)+inputfile.s+Chr(34)+")") WriteStringN(3,"#@") WriteStringN(3,"#@") CloseFile(3) EndIf CreateFile(3,dest.s+"par.txt") WriteStringN(3,"LOGFILE <"+dest.s+"output.log>") WriteStringN(3,"KSTD <"+GetGadgetText(#kstd)+">") WriteStringN(3,"MIN <"+GetGadgetText(#MINn)+">") WriteStringN(3,"SENS <"+GetGadgetText(#sens)+">") WriteStringN(3,"NUMZONES <7>");"+GetGadgetText(#numzones)+">") If GetGadgetText(#filterzone1)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone1)+"."+GetGadgetText(#filterzone1)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone1)+">") EndIf If GetGadgetText(#filterzone2)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone2)+"."+GetGadgetText(#filterzone2)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone2)+">") EndIf If GetGadgetText(#filterzone3)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone3)+"."+GetGadgetText(#filterzone3)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone3)+">") EndIf If GetGadgetText(#filterzone4)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone4)+"."+GetGadgetText(#filterzone4)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone4)+">") EndIf If GetGadgetText(#filterzone5)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone5)+"."+GetGadgetText(#filterzone5)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone5)+">") EndIf If GetGadgetText(#filterzone6)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone6)+"."+GetGadgetText(#filterzone6)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone6)+">") EndIf If GetGadgetText(#filterzone7)<>"NONE" WriteStringN(3,"<."+GetGadgetText(#resizezone7)+"."+GetGadgetText(#filterzone7)+">") Else WriteStringN(3,"<."+GetGadgetText(#resizezone7)+">") EndIf WriteStringN(3,"VIRTUALDUBMODPATH <"+pexe.s+"VDubMod\VirtualDubMod.exe>") CloseFile(3) writelog(pexe.s+"encoder\HGAVSOptimizer.exe "+dest.s+"par.txt "+dest.s+"avsopt.avs "+dest.s+"output.avs") CreateDirectory(dest.s+"temp") CreateFile(4,dest.s+"avsopt.bat") WriteStringN(4,pexe.s+"encoder\HGAVSOptimizer.exe "+dest.s+"par.txt "+dest.s+"avsopt.avs "+dest.s+"output.avs") CloseFile(4) If GetGadgetState(#minimized)=1 : minz.l=0: thread1avs=CreateThread(@minimized(),"VirtualDubMod") : EndIf RunProgram(dest.s+"avsopt.bat","","",#PB_Program_Wait) If GetGadgetState(#minimized)=1 : KillThread(thread1avs) : EndIf EndProcedure ProcedureDLL.s WindowsEnum() Static Flag,hwnd Repeat If Flag=0 hwnd = FindWindow_( 0, 0 ) Flag=1 Else hwnd = GetWindow_(hwnd, #GW_HWNDNEXT) EndIf If hwnd <> 0 If GetWindowLong_(hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE ; pour lister que les fenêtres visibles If GetWindowLong_(hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW ; pour lister que les fenêtres qui ne sont pas des ToolWindow ou barre d'outils retour.s = Space(256) GetWindowText_(hwnd, retour, 256) If retour<>"" : Break : EndIf EndIf EndIf Else Flag=0 EndIf Until hwnd=0 ProcedureReturn retour EndProcedure Procedure minimized(progz.s) Debug("progz.s="+progz.s) Repeat Delay(100) temp.s=WindowsEnum() If FindString(temp.s,progz.s,0)And minz.l<>1 title.s=temp.s Debug("title.s="+title.s) minz.l=1 hwnd=FindWindow_(0,title.s) ShowWindow_(hwnd,#SW_MINIMIZE) EndIf ForEver EndProcedure ; Author : Le Soldat Inconnu ; List all open Windows by Title ; When retun an empty string : Search is finished Procedure minimizex(progz.s) Repeat Delay(100) temp.s=WindowsEnum() If FindString(temp.s,progz.s,0) title.s=temp.s Debug("title.s="+title.s) minz.l=1 hwnd=FindWindow_(0,title.s) ShowWindow_(hwnd,#SW_MINIMIZE) Break EndIf ForEver EndProcedure Procedure mencheckmedia() ClearGadgetItemList(#mensubtracks1) ClearGadgetItemList(#menaudiotracks1) AddGadgetItem(#mensubtracks1,-1,"NONE") AddGadgetItem(#menaudiotracks1,-1,"NONE") dest.s=GetGadgetText(#menttoutput) exts.s = LCase(GetExtensionPart(inputfile.s)) Debug ("exts.s="+exts.s) If exts.s ="ifo" CreateFile(99,here.s+"checkifo.bat") WriteStringN(99,pexe.s+"encoder\mplayer.exe -vo null -ao null -frames 1 -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// -v -identify >"+here.s+"checkmedia.txt") CloseFile(99) RunProgram(here.s+"checkifo.bat","","",#PB_Program_Wait) ;DeleteFile(dest.s+"checkifo.bat") Debug("enco=1") enco=1 EndIf If exts.s <>"ifo" CreateFile(99,here.s+"checknoifo.bat") WriteStringN(99,pexe.s+"encoder\mplayer.exe -vo null -ao null -frames 1 "+Chr(34)+inputfile.s+Chr(34)+" -v -identify >"+here.s+"checkmedia.txt") enco=0 CloseFile(99) RunProgram(here.s+"checknoifo.bat","","",#PB_Program_Wait) ;DeleteFile(dest.s+"check.bat") EndIf If LCase(exts.s)<>"ifo" fh = OpenFile(#PB_Any,here.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"Found audio stream:",1) AddGadgetItem(#menaudiotracks1,-1,"aid: "+Trim(StringField(line.s,2,":"))) EndIf Wend CloseFile(fh) EndIf If LCase(exts.s)="ifo" fh = OpenFile(#PB_Any,here.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"[open] audio stream:",1) type.s=Trim(StringField(line.s,3,":")) Debug (st) lang.s=Mid(Trim(StringField(line.s,4,":")),1,2) Debug (st) aid.s=Trim(StringField(line.s,5,":")) AddGadgetItem(#menaudiotracks1,-1,type.s+" "+lang.s+" - aid: "+aid.s) EndIf Wend CloseFile(fh) EndIf If LCase(exts.s)="ifo" fh = OpenFile(#PB_Any,here.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"[open] subtitle ( sid ):",1) type.s=Trim(StringField(line.s,3,":")) Debug(st) AddGadgetItem(#mensubtracks1,-1,"Subtitle Lang: "+type.s) EndIf Wend CloseFile(fh) EndIf SetGadgetState(#menaudiotracks1,1) SetGadgetState(#mensubtracks1,0) Debug("GetGadgetText(#menaudiotracks1)="+GetGadgetText(#menaudiotracks1)) If GetGadgetText(#menaudiotracks1)="" : SetGadgetState(#menaudiotracks1,0) : EndIf EndProcedure Procedure meninput_File() inputfile.s = OpenFileRequester("Open File to Encode", dest.s+"*", "*.vob,*.mpeg,*.mpg,*.ifo,*.ts,*.avi,*.mkv,*.wmv)|*.Vob;*.Mpeg;*.Mpg;*.Ifo;*.TS;*.AVI;*.MKV;*.WMV|All, (*.*)|*.*", 0) SetGadgetText(#menttinput, inputfile.s) If inputfile.s="" SetGadgetText(#menttinput,"Click on INPUT for choosing FILE to ENCODE") inputfile.s="Click on INPUT for choosing FILE to ENCODE" EndIf SetGadgetText(#menttoutput,GetPathPart(inputfile.s)) dest.s=GetPathPart(inputfile.s) mencheckmedia() mencrop() EndProcedure Procedure mensave_File() dest.s = PathRequester("Choose directory to output",dest.s) SetGadgetText(#menttoutput, dest.s) If dest.s="" SetGadgetText(#menttoutput,here.s) EndIf mencheckout(dest.s) EndProcedure Procedure.s menGetBiggestFileSize(dir$) Debug("sono in getbig") Debug("dir$= "+dir$) If ExamineDirectory(0,dir$,"*.ifo") Repeat type=NextDirectoryEntry(0) If type=1 ; File. a$=dir$+DirectoryEntryName(0) a=FileSize(a$) If a>b : b=a : Ifo.s=a$ : EndIf EndIf Until type=0 EndIf ProcedureReturn Ifo.s EndProcedure Procedure mendrive() ClearGadgetItemList(#mensubtracks1) ClearGadgetItemList(#menaudiotracks1) AddGadgetItem(#mensubtracks1,-1,"NONE") AddGadgetItem(#menaudiotracks1,-1,"NONE") Debug ("sono in checkdriver drive") mediadvd.s=GetGadgetText(#mencdvd) Debug ("mediadvd.s= " + mediadvd.s) menGetBiggestFileSize(mediadvd.s+"\video_ts\") Debug("ifo.s="+Ifo.s) CreateFile(0,dest.s+"checkifo.bat") WriteStringN(0,pexe.s+"encoder\mplayer.exe -vo null -ao null -frames 1 -dvd-device "+mediadvd.s+"\ dvd:// -v -identify >"+dest.s+"checkmedia.txt") CloseFile(0) RunProgram(dest.s+"checkifo.bat","","",#PB_Program_Wait) fh = OpenFile(#PB_Any,dest.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"[open] audio stream:",1) type.s=Trim(StringField(line.s,3,":")) Debug (st) lang.s=Mid(Trim(StringField(line.s,4,":")),1,2) Debug (st) aid.s=Trim(StringField(line.s,5,":")) AddGadgetItem(#menaudiotracks1,-1,type.s+" "+lang.s+" - aid: "+aid.s) EndIf Wend CloseFile(fh) fh = OpenFile(#PB_Any,dest.s+"checkmedia.txt") While Eof(fh) = #False line.s = ReadString(fh) If FindString(line.s,"[open] subtitle ( sid ):",1) type.s=Trim(StringField(line.s,3,":")) Debug(st) AddGadgetItem(#mensubtracks1,-1,"Subtitle Lang: "+type.s) EndIf Wend CloseFile(fh) SetGadgetState(#menaudiotracks1,1) SetGadgetState(#mensubtracks1,0) enco=6 mencrop() EndProcedure Procedure menriponly() Ifopos.s=Mid(Ifo.s,Len(Ifo.s)-6,1) Debug("ifopos.s="+Ifopos.s) writelog("Starting ripping from "+mediadvd.s+" to "+dest.s) If GetGadgetText(#mencdvd)<>"NONE" CreateFile(0,dest.s+"rip.bat") WriteStringN(0,pexe.s+"encoder\mplayer.exe dvd:// -dvd-device "+GetGadgetText(#mencdvd)+" -dumpstream -dumpfile "+Chr(34)+dest.s+"movie.vob"+Chr(34)) CloseFile(0) RunProgram(dest.s+"rip.bat","","",1) EndIf writelog("Finished Ripping") EndProcedure Procedure mensubrip() CreateFile(0,dest.s+"subrip.bat") WriteStringN(0,pexe.s+"encoder\mencoder.exe -dvd-device "+mediadvd.s+"\ dvd:// -o nul -nosound -ovc copy -vobsubout subtiles -sid "+Str(GetGadgetState(#mensubtracks1))) CloseFile(0) RunProgram(dest.s+"subrip.bat","","",1) EndProcedure Procedure menlancia() writelog(dest.s+"MkvMagic.log") writelog("- - - - - - - - - - - - START JOBS - - - - - - - - - - - -") writelog("Choosed output dir: "+dest.s) writelog("Choosed input file: "+inputfile.s) menDimb() Debug ("inputfile="+inputfile.s) Debug ("dest.s="+dest.s) If GetGadgetText(#menttinput)<>"Click on INPUT for choosing FILE to ENCODE" If enco<>6 enco=0 ; file esterno EndIf EndIf Debug("enco in lancia1="+Str(enco)) If exts.s="ifo" enco=1 ;dvdrip EndIf If LCase(exts.s)="avi" enco=4 ; file avi EndIf If LCase(exts.s)="wav" Or LCase(exts.s)="ac3" Or LCase(exts.s)="mp2" Or LCase(exts.s)="mp3" Or LCase(exts.s)="ogg" Or LCase(exts.s)="mpa" Or LCase(exts.s)="aac" enco=5 ; file audio EndIf Debug ("Enco="+Str(enco)) Debug("GetGadgetText(#mensubtracks1)="+GetGadgetText(#mensubtracks1)) If enco=6 menriponly() inputfile.s=dest.s+"movie.vob" CreateFile(0,dest.s+"checknoifo.bat") WriteStringN(0,pexe.s+"encoder\mplayer.exe -vo null -ao null -frames 1 "+Chr(34)+inputfile.s+Chr(34)+" -v -identify >"+dest.s+"checkmedia.txt") CloseFile(0) EndIf menmovielenght() If enco=6 : enco=0 : EndIf Debug("sub="+Str(sub)) Debug ("ar.s lancia="+ar.s) If GetGadgetText(#mensubtracks1)<>"NONE" : mensubrip() : EndIf menautosize1() menfcod() writelog("- - - - - - - - - - - - END JOBS - - - - - - - - - - - -") ProcedureReturn EndProcedure Procedure menmovielenght() Debug("in movielenght enco="+Str(enco)) If enco=0 Or enco=4 gz = OpenFile(#PB_Any,dest.s+"checkmedia.txt") While Eof(gz) = #False gzs.s = ReadString(gz) If FindString(gzs,"ID_VIDEO_FPS=",0) framer.s=StringField(gzs.s,0,"=") framer.s=Mid(gzs.s,Len(framer.s)+2,8) Debug("fps.s="+framer.s) EndIf If FindString(gzs,"ID_LENGTH=",0) mentsec.s=StringField(gzs.s,0,"=") mentsec.s=Mid(gzs.s,Len(mentsec.s)+2,8) Debug("mentsec.s="+mentsec.s) EndIf If FindString(gzs,"ID_VIDEO_WIDTH=",0) twidth.s=StringField(gzs.s,0,"=") twidth.s=Mid(gzs.s,Len(twidth.s)+2,8) Debug("twidth.s="+twidth.s) EndIf If FindString(gzs,"ID_VIDEO_HEIGHT=",0) theight.s=StringField(gzs.s,0,"=") theight.s=Mid(gzs.s,Len(theight.s)+2,8) Debug("theight.s="+theight.s) EndIf If FindString(gzs,"ID_VIDEO_ASPECT=",0) ar.s=StringField(gzs.s,0,"=") ar.s=Mid(gzs.s,Len(ar.s)+2,8) Debug("ar.s="+ar.s) EndIf Wend CloseFile(gz) EndIf If enco=1 Or enco=6 id.s=Mid(Ifo.s,Len(Ifo.s)-6,1) Debug ("id.s="+id.s) gz = OpenFile(#PB_Any,dest.s+"checkmedia.txt") While Eof(gz) = #False gzs.s = ReadString(gz) If FindString(gzs,"ID_VIDEO_FPS=",0) framer.s=StringField(gzs.s,0,"=") framer.s=Mid(gzs.s,Len(framer.s)+2,8) Debug("fps.s="+fps.s) EndIf If FindString(gzs,"ID_DVD_TITLE_"+id.s+"_LENGTH=",0) mentsec.s=StringField(gzs.s,0,"=") mentsec.s=Mid(gzs.s,Len(mentsec.s)+2,8) Debug("mentsec.s="+mentsec.s) EndIf If FindString(gzs,"ID_VIDEO_WIDTH=",0) twidth.s=StringField(gzs.s,0,"=") twidth.s=Mid(gzs.s,Len(twidth.s)+2,8) Debug("twidth.s="+twidth.s) EndIf If FindString(gzs,"ID_VIDEO_HEIGHT=",0) theight.s=StringField(gzs.s,0,"=") theight.s=Mid(gzs.s,Len(theight.s)+2,8) Debug("theight.s="+theight.s) EndIf If FindString(gzs,"ID_VIDEO_ASPECT=",0) ar.s=StringField(gzs.s,0,"=") ar.s=Mid(gzs.s,Len(ar.s)+2,8) Debug("ar.s="+ar.s) EndIf Wend CloseFile(gz) EndIf framec.s=Str(Val(mentsec.s)*Val(framer.s)) Debug("framec.s="+framec.s) writelog("Calculated Number of Frames: "+framec.s) writelog("Calculated Framerate: "+framer.s) writelog("Movie lenght in Seconds: "+mentsec.s) writelog("Movie Width: "+twidth.s) writelog("Movie Height: "+theight.s) writelog("Movie AR: "+ar.s) EndProcedure Procedure menfcod() Debug ("use_bvop.s="+use_bvop.s) sizembd.f=ValF(Dimb.s)*1024*1024 Debug ("sizembd="+StrF(sizembd.f,0)) Debug ("audiosz1="+Str(audiosz1)) Debug ("audiosz2="+Str(audiosz2)) Debug ("subssize1="+Str(subssize1)) Debug ("mentsec.s="+mentsec.s) Debug ("framer.s="+framer.s) Debug ("width.s.s="+width.s) ;audios1.f=(Val(GetGadgetText(#menaudiobit1))/8)*Val(tsec.s) Debug("ValF(GetGadgetText(#menaudiobit1)="+GetGadgetText(#menaudiobit1)) bitrate.s=Str(Int((sizembd.f/1024-(Val(GetGadgetText(#menaudiobit1))/8*Val(mentsec.s)))/Val(mentsec.s)*8)) ;(700*1024-(128/8*8036))/8036*8 writelog("Bitrate Calculated: "+bitrate.s) If GetGadgetText(#menbitq)<>"AUTO" : bitrate.s=GetGadgetText(#menbitq) : EndIf If GetGadgetText(#menvolume)="AUTO" : vol.s="-af volume=10:volnorm=1 " : EndIf If GetGadgetText(#menvolume)="NONE" : vol.s=" " : EndIf If GetGadgetText(#menvolume)<>"AUTO" And GetGadgetText(#menvolume)<>"NONE" : vol.s="-af "+GetGadgetText(#menvolume) : EndIf If GetGadgetText(#mendenoise)<>"NONE" : aq.s=GetGadgetText(#mendenoise)+"," : EndIf If GetGadgetText(#mendenoise)="NONE" : aq.s="" : EndIf If GetGadgetText(#mentrell)="YES" : trell.s="trell:" : EndIf If GetGadgetText(#menqpel)="YES" : qpel.s="qpel:" : EndIf If GetGadgetText(#menAR)<>"AUTO" ar.s="-force-avi-aspect "+GetGadgetText(#menAR) Else ar.s="" EndIf If GetGadgetText(#menofps)<>"AUTO" : ofps.s=" -ofps "+GetGadgetText(#menofps) : EndIf If GetGadgetText(#menGrays)="NO" greys.s="" Else greys.s="gray:" EndIf If GetGadgetText(#menmv0)="YES" mv0.s="mv0:" Else mv0.s="" EndIf If GetGadgetText(#mencbp)="YES" And GetGadgetText(#mentrell)="YES" cbp.s="cbp:" Else cbp.s="" EndIf If GetGadgetText(#mendeint)="NONE" deint.s="" Else deint.s=GetGadgetText(#mendeint)+"," EndIf aidid.s=Mid(GetGadgetText(#menaudiotracks1),FindString(GetGadgetText(#menaudiotracks1),":",0)+1,4) Debug("aidid1.s="+aidid.s) If aidid.s="NONE" : aidid.s="0" : EndIf Debug("aidid2.s="+aidid.s) If GetGadgetText(#menCRopman)<>"" : crop.s="crop="+GetGadgetText(#menCRopman)+"," : EndIf If GetGadgetText(#menchoosecodec)="Constant Quality" If enco<>1 writelog("Starting Encoding in Costant Quality Mode") CreateFile(4,dest.s+"CqPass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":preme="+GetGadgetText(#menpreme)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vqscale="+GetGadgetText(#menbitq)+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -priority idle -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) CloseFile(4) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":preme="+GetGadgetText(#menpreme)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vqscale="+GetGadgetText(#menbitq)+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -priority idle -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) RunProgram(dest.s+"CqPass.bat","","",1) writelog("Finished Constant Quality Encoding") EndIf If enco=1 writelog("Starting Encoding in Costant Quality Mode") CreateFile(4,dest.s+"CqPass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":preme="+GetGadgetText(#menpreme)+":qns="+GetGadgetText(#menqns)+":last_pred="+GetGadgetText(#menlast_pred)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vqscale="+GetGadgetText(#menbitq)+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie.avi") CloseFile(4) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":preme="+GetGadgetText(#menpreme)+":qns="+GetGadgetText(#menqns)+":last_pred="+GetGadgetText(#menlast_pred)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vqscale="+GetGadgetText(#menbitq)+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie.avi") RunProgram(dest.s+"CqPass.bat","","",1) writelog("Finished Constant Quality Encoding") EndIf ProcedureReturn EndIf If enco<>1 If GetGadgetText(#menchoosecodec)="1 Pass Automatic" writelog("Starting Encoding in 1 Pass Automatic") CreateFile(4,dest.s+"cbr.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="FAAC" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="MP2" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="Copy Original" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) EndIf CloseFile(4) RunProgram(dest.s+"cbr.bat","","",1) writelog("Finished 1 Pass Encoding") EndIf If GetGadgetText(#menchoosecodec)="2 Pass Automatic" CreateFile(4,dest.s+"1pass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":cmp="+GetGadgetText(#mencmp)+":subcmp="+GetGadgetText(#mensubcmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":vpass=1:"+greys.s+"turbo:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -nosound -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -o NUL "+Chr(34)+inputfile.s+Chr(34)) CloseFile(4) writelog("Starting First pass") writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":cmp="+GetGadgetText(#mencmp)+":subcmp="+GetGadgetText(#mensubcmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":vpass=1:"+greys.s+"turbo:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -nosound -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -o NUL "+Chr(34)+inputfile.s+Chr(34)) RunProgram(dest.s+"1pass.bat","","",1) writelog("Finished first pass") writelog("Starting second pass") CreateFile(4,dest.s+"2pass.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="FAAC" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":precmp="+GetGadgetText(#menprecmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":precmp="+GetGadgetText(#menprecmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="MP2" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="Copy Original" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":vqcomp="+GetGadgetText(#menvqcomp)+":dia="+GetGadgetText(#mendia)+":last_pred="+GetGadgetText(#menlast_pred)+":predia="+GetGadgetText(#menpredia)+":qns="+GetGadgetText(#menqns)+":preme="+GetGadgetText(#menpreme)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf CloseFile(4) RunProgram(dest.s+"2pass.bat","","",1) writelog("Finished Second Pass") EndIf If GetGadgetText(#menchoosecodec)="Doom9 2005 Final Round" writelog("Starting Doom9 2005 Final Round - First Pass") CreateFile(4,dest.s+"1pass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=2:mv0:trell:cbp:precmp=2:cmp=2:subcmp=2:predia=2:dia=2:preme=2:v4mv:last_pred=2:vqcomp=0.6:vmax_b_frames=2:qpel:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":vpass=1:turbo:autoaspect "+ar.s+" -nosound -o NUL "+Chr(34)+inputfile.s+Chr(34)) CloseFile(4) RunProgram(dest.s+"1pass.bat","","",1) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=2:mv0:trell:cbp:precmp=2:cmp=2:subcmp=2:predia=2:dia=2:preme=2:v4mv:last_pred=2:vqcomp=0.6:vmax_b_frames=2:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":qpel:vpass=1:turbo:autoaspect "+ar.s+" -nosound -o NUL "+Chr(34)+inputfile.s+Chr(34)) writelog("Finished Doom9 2005 Final Round - First Pass") CreateFile(4,dest.s+"2pass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=2:mv0:trell:cbp:precmp=2:cmp=2:subcmp=2:predia=2:dia=2:preme=2:v4mv:last_pred=2:vqcomp=0.6:vmax_b_frames=2:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":qpel:vpass=2:autoaspect "+ar.s+" -aid "+aidid.s+" -oac mp3lame -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) CloseFile(4) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=2:mv0:trell:cbp:precmp=2:cmp=2:subcmp=2:predia=2:dia=2:preme=2:v4mv:last_pred=2:vqcomp=0.6:vmax_b_frames=2:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":qpel:vpass=2:autoaspect "+ar.s+" -aid "+aidid.s+" -oac mp3lame -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) RunProgram(dest.s+"2pass.bat","","",1) writelog("Finished Doom9 2005 Final Round - Second Pass") EndIf If GetGadgetText(#menchoosecodec)="Fast&Good Quality 1 Pass" writelog("Starting Encoding in Fast&Good Quality 1 Pass") CreateFile(4,dest.s+"cbr.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="FAAC" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="MP2" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="Copy Original" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="+bitrate.s+":mbd=1:v4mv:autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie.avi "+Chr(34)+inputfile.s+Chr(34)) EndIf CloseFile(4) RunProgram(dest.s+"cbr.bat","","",1) writelog("Finished Fast&Good Quality 1 Pass") EndIf If GetGadgetText(#menchoosecodec)="Fast&Good Quality 2 Pass" CreateFile(4,dest.s+"1pass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:turbo:vbitrate="+bitrate.s+":v4mv:mbd=1:vmax_b_frames=1:autoaspect -nosound -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -o NUL "+Chr(34)+inputfile.s+Chr(34)) CloseFile(4) writelog("Starting First pass") writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vpass=1:turbo:vbitrate="+bitrate.s+":v4mv:vmax_b_frames=1:autoaspect -nosound -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -o NUL "+Chr(34)+inputfile.s+Chr(34)) RunProgram(dest.s+"1pass.bat","","",1) writelog("Finished first pass") writelog("Starting second pass") CreateFile(4,dest.s+"2pass.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:mbd=1:vbitrate="+bitrate.s+":v4mv:vmax_b_frames=1:autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:mbd=1:vbitrate="+bitrate.s+":v4mv:vmax_b_frames=1:autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="FAAC" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate="+bitrate.s+":v4mv:mbd=1:vmax_b_frames=1:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate="+bitrate.s+":v4mv:mbd=1:vmax_b_frames=1:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="MP2" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate="+bitrate.s+"::v4mv:mbd=1:vmax_b_frames=1:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vpass=2:vbitrate="+bitrate.s+":vmax_b_frames=1:v4mv:autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf If GetGadgetText(#menaudiocodec1)="Copy Original" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate="+bitrate.s+":vmax_b_frames=1:v4mv:mbd=1:autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) writelog("Mencoder string: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+"scale -zoom -xy "+width.s+" "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate="+bitrate.s+":vmax_b_frames=1:v4mv:mbd=1:autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)+" "+Chr(34)+inputfile.s+Chr(34)) EndIf CloseFile(4) RunProgram(dest.s+"2pass.bat","","",1) writelog("Finished Second Pass") EndIf EndIf If enco=1 writelog("Starting 1 Pass Automatic") If GetGadgetText(#menchoosecodec)="1 Pass Automatic" CreateFile(4,dest.s+"cbr.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) writelog("Mencoder String: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) EndIf If GetGadgetText(#menaudiocodec1)="FAAC" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) writelog("Mencoder String: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -faacopts br="+GetGadgetText(#menaudiobit1)+":mpeg=4 -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) EndIf If GetGadgetText(#menaudiocodec1)="MP2" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) writelog("Mencoder String: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac lavc -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -twolameopts br="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) EndIf If GetGadgetText(#menaudiocodec1)="Copy Original" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie"+GetGadgetText(#mencontainer)) writelog("Mencoder String: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac copy -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -o "+dest.s+"movie"+GetGadgetText(#mencontainer)) EndIf CloseFile(4) RunProgram(dest.s+"cbr.bat","","",1) writelog("Finished 1 Pass Automatic") EndIf If GetGadgetText(#menchoosecodec)="2 Pass Automatic" writelog("Starting 2 Pass Automatic") CreateFile(4,dest.s+"1pass.bat") WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// -ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":cmp="+GetGadgetText(#mencmp)+":subcmp="+GetGadgetText(#mensubcmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=1:turbo:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -nosound -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -o NUL") CloseFile(4) RunProgram(dest.s+"1pass.bat","","",1) CreateFile(4,dest.s+"2pass.bat") If GetGadgetText(#menaudiocodec1)="MP3" WriteString(4,pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+" "+ar.s+" -aid "+aidid.s+" -srate "+GetGadgetText(#menfreq44)+" -lameopts "+LCase(GetGadgetText(#menabr))+":aq="+GetGadgetText(#menaq)+":preset="+GetGadgetText(#menaudiobit1)+" -o "+dest.s+"movie."+GetGadgetText(#mencontainer)) writelog("Mencoder String: "+pexe.s+"encoder\mencoder.exe -vf "+crop.s+aq.s+deint.s+"scale -zoom -xy "+width.s+" -sws "+GetGadgetText(#mensws)+" "+ofps.s+" -dvd-device "+Mid(GetPathPart(inputfile.s),1,Len(GetPathPart(inputfile.s))-1)+" dvd:// "+vol.s+"-ovc lavc -lavcopts vcodec=mpeg4:"+mv0.s+cbp.s+"precmp="+GetGadgetText(#menprecmp)+":preme="+GetGadgetText(#menpreme)+":vqcomp="+GetGadgetText(#menvqcomp)+":qns="+GetGadgetText(#menqns)+":dia="+GetGadgetText(#mendia)+":predia="+GetGadgetText(#menpredia)+":last_pred="+GetGadgetText(#menlast_pred)+":subcmp="+GetGadgetText(#mensubcmp)+":cmp="+GetGadgetText(#mencmp)+":vfdct="+GetGadgetText(#menvfdct)+":idct="+GetGadgetText(#menidct)+":"+greys.s+"vpass=2:vbitrate="+bitrate.s+":vme="+GetGadgetText(#menvme)+":vmax_b_frames="+GetGadgetText(#menmaxbframes)+":mbd="+GetGadgetText(#menmdb)+":v4mv:lumi_mask="+GetGadgetText(#menlmask)+":dark_mask="+GetGadgetText(#menbmask)+":tcplx_mask="+GetGadgetText(#mentcplx_mask)+":scplx_mask="+GetGadgetText(#menscplx_mask)+":"+trell.s+qpel.s+"autoaspect -oac mp3lame -priority idle -ffourcc "+GetGadgetText(#menfourcc)+"