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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th January 2025, 18:23   #1  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 1,835
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.
Emulgator is online now   Reply With Quote
Reply

Tags
compare, control, framedrops, framedups, quality

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.