" Stamatakos.
I first learned about TASing before speedruning.
. I stumbled upon that when Google Video was still a thing.
I lurked around in TASVideos for a year after finally stumbling on the site (who knew that the logo said where the site was) and on 12th October 2011 I created my account and started posting complete nonsense and stupidity.
After finding out about TASing I soon learned about speed-running and the first group I always watched were; Jape,
and TRV back when speedrunners used ustream and not justin.tv (aka twitch).
Required AVSI
Import("programs\Pantarheon3D.avsi")
vid = AVISource("6909S.avi")
cw = vid.Width / 2
L = vid.Crop(0, 0, 380, 224).PointResize(cw*2,vid.Height * 2).Levels(0, 1, 255, 0, 157)
R = vid.Crop(384, 0, 384, 224).PointResize(cw*2,vid.Height * 2).Levels(0, 1, 255, 0, 157)
yt3d(L, R).AudioDub(L)
Unless feos has a different part on how to handle it compared to when this was first made, you need this final line after merging the file.
"./programs/ffmpeg" -i encode.mkv -c copy -metadata:s:v:0 stereo_mode=1 "virtualboy.mkv"
Don't forget to Greyscale first using Avisynth!
If Pink; Tweak(cont=1.5) |alternately| Levels(0, 1, 171, 0, 255)
If Red; Tweak(cont=2.08) |alternately| Levels(0, 1, 124, 0, 255).Levels(0, 1, 254, 0, 255)
If Blue; Tweak(cont=5.4) |alternately| Levels(0, 1, 47, 0, 255)
And if you're starting from Greyscale (Bleach) thanks to VBjin.
If Bleach; Tweak(cont=0.615) |alternately| Levels(0, 1, 255, 0, 157)
And for when Hawk goes Virtual Boy
Mednafen Red; Tweak(cont=2.08) |alternately| Levels(0, 1, 124, 0, 255).Levels(0, 1, 254, 0, 255)
Cropping it's a thing to save lives.
feos has this part defaulted to BizHawk Virtual Boy as VBjin is obsolete... there is a fix now provided by feos (bit below), this is here for reference now.
VBjin
L = sauce.Crop(0, 0, 384, 224)
R = sauce.Crop(400, 0, 384, 224)
BizHawk
L = sauce.Crop(0, 0, 384, 224)
R = sauce.Crop(384, 0, 384, 224)
Actual feos:
Here's all I can provide atm. The change in VB methods changed the scripts so heavily that there's no sane way to have both options.
Proper DS
Revision 2:
All values can be multiplied by 10 to reach the 8k resolution without issue.
Those marked with the Hash symbol are created for the 8K in mind, since they don't scale up as cleanly.
#FinalRes = 7680x4160
vid = "source.avi"
cr = vid.Height / 2
#Gameplay
bot = a.Crop(0, cr, -0, -0)
top = a.Crop(0, 0, -0, -cr).AddBorders(0, 0, 0, 192)
a = StackHorizontal(bot.PointResize(512,384), top).AddBorders(0, 16, 0, 16)
#Gameplay (top)
top = a.Crop(0, 0, -0, -cr)
bot = a.Crop(0, cr, -0, -0).AddBorders(0, 192, 0, 0)
a = StackHorizontal(top.PointResize(512,384), bot).AddBorders(0, 16, 0, 16)
#Single (Top)
a = a.Crop(0, 0, -0, -cr).PointResize(512,384).AddBorders(128, 16, 128, 16)
#Single (Bot)
a = a.Crop(0, cr, -0, -0).PointResize(512,384).AddBorders(128, 16, 128, 16)
#TopAndBot (NoGap)
a = a.AddBorders(256, 16, 256, 16)
#TopAndBot
top = a.Crop(0, 0, -0, -cr).AddBorders(0, 0, 0, 32)
bot = a.Crop(0, cr, -0, -0)
a = StackVertical(top,bot).AddBorders(256, 0, 256, 0)
#SideBySide
top = a.Crop(0, 0, -0, -cr)
bot = a.Crop(0, cr, -0, -0)
a = StackHorizontal(top, bot).LanczosResize(768,288).AddBorders(0, 64, 0, 64)
#StackHorizontal(top, bot).PointResize(8192,3072).LanczosResize(7680,2880,taps=2).AddBorders(0, 640, 0, 640)
#Gameplay (TASinfo)
bot = a.Crop(0, cr, -0, -0)
top = a.Crop(0, 0, -0, -cr).AddBorders(0, 0, 0, 192)
a = StackHorizontal(bot.PointResize(512,384).TextSubMod("Subs.ass"), top).AddBorders(0, 16, 0, 16)
#StackHorizontal(bot.PointResize(5120,3840).TextSubMod("Subs.ass"), top.PointResize(2560,3840)).AddBorders(0, 160, 0, 160)
heaven.
vid = "source.avi"
cw = vid.Width / 10
ch = vid.Height / 2
top = vid.crop(0, 0, -0, -ch)
bot = vid.crop(cw, ch, -cw, -0).AddBorders(0, ch, 0, 0)
StackHorizontal(top.PointResize(top.width*2,top.height*2), bot)
#If you're not following the native res of 400x480 use this instead:
StackHorizontal(top, bot.LanczosResize(bot.width/2,bot.height/2))
--you're pedantic for a "true" 30fps on a 30fps title.
Using
FixFPS
(Ignore adding Logo/Subtitles steps for now if you're following this, stuff's not down 100%)
LoadPlugin("ExactDedup.dll")
LoadPlugin("FixFPS.dll")
AVISource("N64Vid.avi")
ExactDedup(firstpass=true, dupinfo="EDD.txt", times="EDD-times.txt")
Do your first benchmark here.
LoadPlugin("ExactDedup.dll")
LoadPlugin("FixFPS.dll")
AVISource("N64Vid.avi")
ExactDedup(firstpass=false, dupinfo="EDD.txt")
FixFPS("EDD-times.txt", <half the total framecount minus 1>, 2, 1)
#Insert your logo and subtitle information here.
ExactDedup(firstpass=true, dupinfo="EDD2nd.txt", times="EDD2nd-times.txt")
Do your second benchmark here.
LoadPlugin("ExactDedup.dll")
LoadPlugin("FixFPS.dll")
AVISource("N64Vid.avi")
ExactDedup(firstpass=false, dupinfo="EDD.txt")
FixFPS("EDD-times.txt", <half the total framecount minus 1>, 2, 1)
#Insert your logo and subtitle information here.
ExactDedup(firstpass=false, dupinfo="EDD2nd.txt") #Disable this line when previewing.
#Insert your colourspace here.
In your x264 script insert this line before "output": --tcfile-in EDD2nd-times.txt
.