Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,834
|
Emulgator's QuadCompare - a script snippet for QC
Comparison of up to 4 source videos for QC, especially regarding framedrops/framedups.
You may even compare up to 4 sourcefilters with it, serving from the same source or mixed. Code:
#[*# +++++++++ Start of Emulgator's QuadCompare 2025-01-26 +++++++++++++++++++++ #avSource="AviSource" #avSource="DirectShowSource" #avSource="FFMS2" avSource1="BSSource"# You may use different source filters on the same source here just for a sourcefilter comparison... avSource2="BSSource"# You may use different source filters on the same source here just for a sourcefilter comparison... avSource3="BSSource"# You may use different source filters on the same source here just for a sourcefilter comparison... avSource4="BSSource"# You may use different source filters on the same source here just for a sourcefilter comparison... #--------------------------------------------------------- Comparewidth=1280 # use 1280 for 16:9 sources #Comparewidth=960 # use 960 for 4:3 sources #Comparewidth=480 # use 480 for mobile phone sources Compareheight=720 Comparefps=25.0 ManDecOSD=1 MDOverlayFontSize=Ceil(Compareheight/36) MDOverlayLineOffset=Ceil(Compareheight/36) MDOverlayTextColorSource=$0000FF00 MDOverlayTextColorOut=$00FF88FF avf1="<pathto>\yourfile1.mp4" avf2="<pathto>\yourfile2.mp4" avf3=av1 # leave this as av1 if you have only 2 files to compare, change only to 3rd file path "<pathto>\yourfile3.mp4" if you have a 3rd file to compare avf4=av2 # leave this as av2 if you have 2 or 3 files to compare, change only to 4th file path "<pathto>\yourfile4.mp4" if you have a 4th file to compare av1=Apply(avSource1,avf1).Assumefps(Comparefps).Subtitle("avf1", size=MDOverlayFontSize).Waveform() # remarks file1 av1=ManDecOSD>0 ? ScriptClip(av1, function[av1,MDOverlayFontSize,MDOverlayTextColorSource] \ {Subtitle(av1, "Srcframe "+String(current_frame)+"/"+String(framecount()),size=MDOverlayFontSize,align=8,x=Ceil(width*8/16),y=12,text_color=MDOverlayTextColorSource)}) : av1 av2=Apply(avSource2,avf2).Assumefps(Comparefps).Subtitle("avf2", size=MDOverlayFontSize).Waveform() # remarks file2 av2=ManDecOSD>0 ? ScriptClip(av2, function[av2,MDOverlayFontSize,MDOverlayTextColorSource] \ {Subtitle(av2, "Srcframe "+String(current_frame)+"/"+String(framecount()),size=MDOverlayFontSize,align=8,x=Ceil(width*8/16),y=12,text_color=MDOverlayTextColorSource)}) : av2 av3=Apply(avSource3,avf3).Assumefps(Comparefps).Subtitle("avf3", size=MDOverlayFontSize).Waveform() # remarks file3 av3=ManDecOSD>0 ? ScriptClip(av3, function[av3,MDOverlayFontSize,MDOverlayTextColorSource] \ {Subtitle(av3, "Srcframe "+String(current_frame)+"/"+String(framecount()),size=MDOverlayFontSize,align=8,x=Ceil(width*8/16),y=12,text_color=MDOverlayTextColorSource)}) : av3 av4=Apply(avSource4,avf4).Assumefps(Comparefps).Subtitle("avf4", size=MDOverlayFontSize).Waveform() # remarks file4 av4=ManDecOSD>0 ? ScriptClip(av4, function[av4,MDOverlayFontSize,MDOverlayTextColorSource] \ {Subtitle(av4, "Srcframe "+String(current_frame)+"/"+String(framecount()),size=MDOverlayFontSize,align=8,x=Ceil(width*8/16),y=12,text_color=MDOverlayTextColorSource)}) : av4 stack1=Comparewidth>Compareheight ? \ StackVertical((ConvertToYV12(Lanczos4Resize(Trim(av1,0,0),Comparewidth/2,Compareheight/2))),ConvertToYV12(Lanczos4Resize(Trim(av2,0,0),Comparewidth/2,Compareheight/2))) : \ StackHorizontal((ConvertToYV12(Lanczos4Resize(Trim(av1,0,0),Comparewidth/2,Compareheight/2))),ConvertToYV12(Lanczos4Resize(Trim(av2,0,0),Comparewidth/2,Compareheight/2))) stack2=Comparewidth>Compareheight ? \ StackVertical((ConvertToYV12(Lanczos4Resize(Trim(av3,0,0),Comparewidth/2,Compareheight/2))),ConvertToYV12(Lanczos4Resize(Trim(av4,0,0),Comparewidth/2,Compareheight/2))) : \ StackHorizontal((ConvertToYV12(Lanczos4Resize(Trim(av3,0,0),Comparewidth/2,Compareheight/2))),ConvertToYV12(Lanczos4Resize(Trim(av4,0,0),Comparewidth/2,Compareheight/2))) Comparewidth>Compareheight ? StackHorizontal(stack1,stack2) : StackVertical(stack1,stack2) ManDecOSD>0 ? ScriptClip(last, function[last,MDOverlayFontSize,MDOverlayLineOffset,MDOverlayTextColorOut] \ {Subtitle(last, "Outframe "+String(current_frame)+"/"+String(framecount()),size=MDOverlayFontSize,align=5,x=Ceil(width*8/16),y=height/2-MDOverlayLineOffset,text_color=MDOverlayTextColorOut)}) : NOP() return(last) #*]# ------ End of Emulgator's QuadCompare 2025-01-26 ------------------
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..." Last edited by Emulgator; 26th January 2025 at 04:24. |
![]() |
![]() |
![]() |
Tags |
compare, control, framedrops, framedups, quality |
Thread Tools | Search this Thread |
Display Modes | |
|
|