#######################################################################################################
#######################################################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Chihiro V9000.000000000000000000000000000000000000000000000000000000000001
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# A function to replicate the filtering done by Chihiro.
#
# Note: I've seen even worse than Chihiro. Oh god...
#
#######################################################################################################
#
# Usage: Chihiro()
# Chihiro(Serious=true) #The SRS BSNS option.
#
# Required script and dlls:
# AnimeAntiAliasing (script)
# AWarpSharp
# Deen
# Dfttest
# DeBlock
# FastLineDarkenMod (script)
# Masktools2
# MSharpen
# Sangnom
# TTempSmooth
# Undot
# Unfilter
# VMToon (Script)
# Warpsharp
#
# C'mon, everyone knows MORE = BETTER!!!
#
#######################################################################################################
#
# ==Changelog==
#
# 25/11/08 V9000.000000000000000000000000000000000000000000000000000000000001
# It's over 9000 !!1!1!one1!1eleven!1
# 16/9/08 V0.3: Not checks if your video still has noise or not. (of course it has!)
# And deals with it accordingly. (Aren't I awesome?)
# 16/9/08 V0.2: Added strength parameter.
# Cos a function has to have that, right, tight, right... yeah, I'm right!
# 15/9/08 V0.1 The Beginning of The End.
#
#######################################################################################################
Function Chihiro(clip c, int "Strength", bool "Serious") {
c = c.IsYV12() ? c : c.ConvertToYV12()
Serious = default(Serious, false)
Str = "blah" #Everyone knows if something works, stick to it. DON'T CHANGE!!!
#So I don't give a fuck what strength value you set. The function is ALWAYS the same.
#The option is only there because GOOD fucntions MUST have a strength parameter...
c
ChangeFPS(23.976) #EVERYONE knows anime is ALWAYS 23.976fps.
Crop(8,8,-8,-8).Spline36Resize(c.width,c.height) #KILL ugly boarders!!!
d=last
Crop(16,16,-16,-16).Spline36Resize(c.width,c.height) #Again. Being safe is good. Noone notices overcrop anyway...
Spline36Resize(width/2,height/2) #Cos smaller = better speed.
Lanczos4Resize(width*2,height*2) #Cos larger = better quality.
#Now we have better quality AND speed!!! (Witness the 1337ness!!!)
LanczosResize(width/2,height/2) #Because of its awesomeness, with only benefits with no loss,
BilinearResize(width*2,height*2) #we have to do this again too!!!
FastLineDarkenMod(200,190,0,0).DeBlock(50).Deen() #This is LIGHT filtering.
CanYouSeeNoise()
\ ? last.TTempSmooth().aWarpSharp().AAA().dfttest()
\ : last #Noise = evil = KILLLLLLLLLL!!! ... Now it's all nice and clean!!!
WarpSharp().FastLineDarkenMod(200,190,2,0).WarpSharp().aWarpSharp() #The final DELICATE touch!!!
FFT3DFilter(3.0,1.0,4,32,32,5,16,16).VMToon() #Here JUST to make it SLOOOOOOWER. Because slow = good quality!!!
BilinearResize(1280,720) #At this day and age, who the fuck doesn't use HD?
#Ok, this is the actual real thing (it's still horrible). See Chihiro's encoding guide. (LOL @ guide).
Serious ? d.aWarpSharp().deen().MSharpen(90).Undot() : last
}
#Helper function CanYouSeeNoise()
Function CanYouSeeNoise(clip e) {
IsClip(e) #If it's a goddamn clip, of course it has noise!!!
}
#######################################################################################################
|