From 226ecba7d6d648ac605083e4de85ad51a10b60cc Mon Sep 17 00:00:00 2001
From: firebingo <matthew.t.kides@gmail.com>
Date: Fri, 20 Dec 2019 18:52:38 -0700
Subject: [PATCH] Moved Symphogear/XV scripts into its own folder.

---
 .gitignore                           |   4 +-
 01/x265_Icebingo.vpy                 |  50 -------------
 03/x265_w2x_svp.vpy                  | 102 ---------------------------
 04/x264 - w2x.vpy                    |  44 ------------
 07/x265_w2x.vpy                      |  58 ---------------
 {01 => Symphogear/XV/01}/audiocut.py |   0
 {01 => Symphogear/XV/01}/x264.vpy    |   0
 {02 => Symphogear/XV/02}/ac.py       |   0
 {02 => Symphogear/XV/02}/x264.vpy    |   0
 {03 => Symphogear/XV/03}/ac.py       |   0
 {03 => Symphogear/XV/03}/x264.vpy    |   0
 {04 => Symphogear/XV/04}/ac.py       |   0
 {04 => Symphogear/XV/04}/x264.vpy    |   0
 {05 => Symphogear/XV/05}/ac.py       |   0
 {05 => Symphogear/XV/05}/x264.vpy    |   0
 {06 => Symphogear/XV/06}/ac.py       |   0
 {06 => Symphogear/XV/06}/x264.vpy    |   0
 {07 => Symphogear/XV/07}/ac.py       |   0
 {07 => Symphogear/XV/07}/mask_2.png  | Bin
 {07 => Symphogear/XV/07}/x264.vpy    |   0
 {08 => Symphogear/XV/08}/ac.py       |   0
 {08 => Symphogear/XV/08}/mask_2.png  | Bin
 {08 => Symphogear/XV/08}/x264.vpy    |   0
 {09 => Symphogear/XV/09}/ac.py       |   0
 {09 => Symphogear/XV/09}/mask_2.png  | Bin
 {09 => Symphogear/XV/09}/x264.vpy    |   0
 {10 => Symphogear/XV/10}/ac.py       |   0
 {10 => Symphogear/XV/10}/mask_2.png  | Bin
 {10 => Symphogear/XV/10}/x264.vpy    |   0
 {11 => Symphogear/XV/11}/ac.py       |   0
 {11 => Symphogear/XV/11}/mask_2.png  | Bin
 {11 => Symphogear/XV/11}/x264.vpy    |   0
 {12 => Symphogear/XV/12}/ac.py       |   0
 {12 => Symphogear/XV/12}/mask_2.png  | Bin
 {12 => Symphogear/XV/12}/x264.vpy    |   0
 {13 => Symphogear/XV/13}/ac.py       |   0
 {13 => Symphogear/XV/13}/mask_2.png  | Bin
 {13 => Symphogear/XV/13}/x264.vpy    |   0
 README => Symphogear/XV/README       |   0
 Symphogear/XV/Shinai1/shinai.vpy     |  33 +++++++++
 Symphogear/XV/Shinai1/shinai_ac.py   |  12 ++++
 41 files changed, 48 insertions(+), 255 deletions(-)
 delete mode 100644 01/x265_Icebingo.vpy
 delete mode 100644 03/x265_w2x_svp.vpy
 delete mode 100644 04/x264 - w2x.vpy
 delete mode 100644 07/x265_w2x.vpy
 rename {01 => Symphogear/XV/01}/audiocut.py (100%)
 rename {01 => Symphogear/XV/01}/x264.vpy (100%)
 rename {02 => Symphogear/XV/02}/ac.py (100%)
 rename {02 => Symphogear/XV/02}/x264.vpy (100%)
 rename {03 => Symphogear/XV/03}/ac.py (100%)
 rename {03 => Symphogear/XV/03}/x264.vpy (100%)
 rename {04 => Symphogear/XV/04}/ac.py (100%)
 rename {04 => Symphogear/XV/04}/x264.vpy (100%)
 rename {05 => Symphogear/XV/05}/ac.py (100%)
 rename {05 => Symphogear/XV/05}/x264.vpy (100%)
 rename {06 => Symphogear/XV/06}/ac.py (100%)
 rename {06 => Symphogear/XV/06}/x264.vpy (100%)
 rename {07 => Symphogear/XV/07}/ac.py (100%)
 rename {07 => Symphogear/XV/07}/mask_2.png (100%)
 rename {07 => Symphogear/XV/07}/x264.vpy (100%)
 rename {08 => Symphogear/XV/08}/ac.py (100%)
 rename {08 => Symphogear/XV/08}/mask_2.png (100%)
 rename {08 => Symphogear/XV/08}/x264.vpy (100%)
 rename {09 => Symphogear/XV/09}/ac.py (100%)
 rename {09 => Symphogear/XV/09}/mask_2.png (100%)
 rename {09 => Symphogear/XV/09}/x264.vpy (100%)
 rename {10 => Symphogear/XV/10}/ac.py (100%)
 rename {10 => Symphogear/XV/10}/mask_2.png (100%)
 rename {10 => Symphogear/XV/10}/x264.vpy (100%)
 rename {11 => Symphogear/XV/11}/ac.py (100%)
 rename {11 => Symphogear/XV/11}/mask_2.png (100%)
 rename {11 => Symphogear/XV/11}/x264.vpy (100%)
 rename {12 => Symphogear/XV/12}/ac.py (100%)
 rename {12 => Symphogear/XV/12}/mask_2.png (100%)
 rename {12 => Symphogear/XV/12}/x264.vpy (100%)
 rename {13 => Symphogear/XV/13}/ac.py (100%)
 rename {13 => Symphogear/XV/13}/mask_2.png (100%)
 rename {13 => Symphogear/XV/13}/x264.vpy (100%)
 rename README => Symphogear/XV/README (100%)
 create mode 100644 Symphogear/XV/Shinai1/shinai.vpy
 create mode 100644 Symphogear/XV/Shinai1/shinai_ac.py

diff --git a/.gitignore b/.gitignore
index d4c96d3..fb4b74f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,6 @@
 cudnn_data/
 *.webm
 ffmpeg2pass*.log
-!mask_2.png
\ No newline at end of file
+!mask_2.png
+*.m2ts
+*.lwi
\ No newline at end of file
diff --git a/01/x265_Icebingo.vpy b/01/x265_Icebingo.vpy
deleted file mode 100644
index 2747692..0000000
--- a/01/x265_Icebingo.vpy
+++ /dev/null
@@ -1,50 +0,0 @@
-import vapoursynth as vs
-import fag3kdb
-import kagefunc as kgf
-import fvsfunc as fvf
-import vsTAAmbk as vstaa
-
-core = vs.get_core()
-core.max_cache_size = 16384
-
-src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 01 [1080p].mkv",track=0)
-
-#resmapling to 444 and 16bit for filters
-resam = src.std.AssumeFPS(fpsnum=24000, fpsden=1001)
-resam = core.fmtc.bitdepth(resam, bits=16)
-resam = core.fmtc.resample(resam, css="444", kernel="lanczos")
-
-#gpu accelerated noise reduction
-#i use a h paramater quite a bit under the default 1.2 to prevent killing more details but mostly for personal taste
-fil = core.knlm.KNLMeansCL(resam, d=1, a=2, h=0.4, channels="YUV", device_type='gpu', device_id=0)
-
-#episode doesnt really have any aliasing but it doesnt hurt and doesnt eat cpu time at all relatively
-taa = vstaa.TAAmbk(fil,aatype='Nnedi3')
-
-#flash3kyuu_deband
-#retinex_edgemask merge is used to help preserve details on edges
-band = taa.f3kdb.Deband(range=12, y=60, cb=40, cr=40, grainy=15, grainc=0, output_depth=16)
-mask = kgf.retinex_edgemask(fil)
-merge = core.std.MaskedMerge(band, fil, mask)
-#adaptive grain helps preserve details from the encoder. this is less important for x265 but it doesnt hurt to do
-merge = kgf.adaptive_grain(merge)
-
-#debugging edgemask merge
-#stack1 = core.std.StackHorizontal([resam, fil])
-#blank = core.std.BlankClip(merge)
-#stack2 = core.std.StackHorizontal([core.std.ShufflePlanes(clips=[mask,blank], planes=[0, 1, 2], colorfamily=vs.YUV), merge])
-#merge = core.std.StackVertical([stack1, stack2])
-
-#debugging taa
-#stack1 = core.std.StackHorizontal([fil, taa])
-#stack2 = core.std.StackHorizontal([core.std.BlankClip(taa), core.std.MakeDiff(fil, taa, planes=[0])])
-#merge = core.std.StackVertical([stack1, stack2])
- 
-#actual final output
-final = core.fmtc.resample(merge, css="420", kernel="lanczos")
-final = core.fmtc.bitdepth(final, bits=10, dmode=3)
-final.set_output()
-
-#ffmpeg
-#vspipe -y "x265_Icebingo.vpy" - | ffmpeg -i pipe: -c:v libx264 -tune animation -crf 16 -pix_fmt yuv420p10 -preset slow -y "test1.mp4"
-#vspipe -y "x265_Icebingo.vpy" - | ffmpeg -i pipe: -c:v libx265 -tune animation -crf 17 -pix_fmt yuv420p10 -preset slow -y "xv01.mp4"
\ No newline at end of file
diff --git a/03/x265_w2x_svp.vpy b/03/x265_w2x_svp.vpy
deleted file mode 100644
index f3a7e41..0000000
--- a/03/x265_w2x_svp.vpy
+++ /dev/null
@@ -1,102 +0,0 @@
-import vapoursynth as vs
-import kagefunc as kgf
-import fvsfunc as fvf
-import vsTAAmbk as vstaa
-import adjust
-from nnedi3_rpow2 import nnedi3_rpow2
-
-core = vs.core
-core.max_cache_size = 32768
-
-#source
-src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 03 [1080p].mkv")
-src = src.std.Trim(first=8730, last=9815)
-src = src.std.AssumeFPS(fpsnum=24000, fpsden=1001)
-
-#deblock
-src = core.fmtc.bitdepth(src, bits=16)
-deblock = core.deblock.Deblock(src, quant=16)
-
-#rescale
-#Y, U, V = kgf.split(deblock)
-#Y = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True)
-#Y = nnedi3_rpow2(Y).resize.Spline36(1920, 1080, format=vs.GRAY16)
-#scaled = core.std.ShufflePlanes([Y, U, V], planes=[0], colorfamily=vs.YUV)
-scaled = kgf.inverse_scale(deblock, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True)
-scaled = core.fmtc.resample(scaled, css="420", kernel="lanczos")
-scaled = core.fmtc.bitdepth(scaled, bits=16)
-
-#denoise, let w2x do this?
-#denoisechroma = core.knlm.KNLMeansCL(scaled, d=1, a=2, h=0.45, channels="UV", device_type='gpu', device_id=0)
-#denoiseluma = core.knlm.KNLMeansCL(scaled, d=3, a=2, h=0.4, channels="Y", device_type='gpu', device_id=0)
-#denoise = core.std.ShufflePlanes([denoiseluma, denoisechroma], planes=[0, 1, 2], colorfamily=vs.YUV)
-
-#taa
-taa = vstaa.TAAmbk(scaled,aatype='Nnedi3')
-
-#deband
-db = taa.f3kdb.Deband(range=16, y=40, cb=32, cr=32, grainy=24, grainc=0, output_depth=16)
-mask = kgf.retinex_edgemask(taa)
-maskmerge = core.std.MaskedMerge(db, taa, mask)
-
-#w2x
-upscalewx = core.fmtc.bitdepth(maskmerge, bits=32)
-upscalewx = core.fmtc.resample(upscalewx, css="444", kernel="lanczos")
-upscalewx = core.caffe.Waifu2x(upscalewx, noise=0, scale=4, block_w=218, block_h=218, model=3, cudnn=True, processor=0, tta=False, batch=9)
-upscalewx = core.fmtc.bitdepth(upscalewx, bits=16, dmode=3)
-upscalewx = core.resize.Spline36(upscalewx,width=3840,height=2160)
-upscalewx = core.fmtc.resample(upscalewx, css="420", kernel="lanczos")
-
-#svp
-svp = core.fmtc.bitdepth(upscalewx, bits=8, dmode=3)
-svp1superparams = """{
-pel:4,
-gpu:1
-}"""
-svp1vectorsparams = """{
-block: {
-	w: 16,
-	h: 16,
-	overlap: 3
-},
-main: {
-	coarse: {
-		width: 3840,
-		satd: true,
-		trymany: true
-	}
-},
-penalty: {
-	lambda:	40.0,
-	plevel: 4.0
-},
-refine: [{
-	thsad:400
-}]
-}"""
-svp2smoothparams = """{
-rate: {
-	num: 48,
-	den: 1,
-	abs: true
-},
-algo: 13,
-mask: {
-	cover: 150,
-	area: 100
-},
-scene: {
-	mode: 3
-}
-}"""
-
-super  = core.svp1.Super(svp, svp1superparams)
-vectors= core.svp1.Analyse(super["clip"], super["data"], svp, svp1vectorsparams)
-smooth = core.svp2.SmoothFps(svp, super["clip"], super["data"], vectors["clip"], vectors["data"], svp2smoothparams)
-svp = core.std.AssumeFPS(smooth, fpsnum=smooth.fps_num, fpsden=smooth.fps_den)
-
-final = kgf.adaptive_grain(svp)
-final = core.fmtc.bitdepth(final, bits=10)
-
-final.set_output()
-#vspipe -y "x265_w2x_svp.vpy" - | ffmpeg -i pipe: -c:v libx265 -tune animation -crf 17 -preset slower -x265-params aq-mode=3 -pix_fmt yuv420p10le -y "x265_w2x_svp_2.mp4"
\ No newline at end of file
diff --git a/04/x264 - w2x.vpy b/04/x264 - w2x.vpy
deleted file mode 100644
index cc0d1fc..0000000
--- a/04/x264 - w2x.vpy	
+++ /dev/null
@@ -1,44 +0,0 @@
-import vapoursynth as vs
-import kagefunc as kgf
-import fvsfunc as fvf
-import vsTAAmbk as vstaa
-from nnedi3_rpow2 import nnedi3_rpow2
-
-core = vs.core
-core.max_cache_size = 32768
-
-src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 04 [1080p].mkv")
-src = core.fmtc.bitdepth(src, bits=16)
-scaled = kgf.inverse_scale(src, height=872, kernel="lanczos", taps=5, mask_detail=True)
-
-#upscalenn = nnedi3_rpow2(scaled).resize.Spline36(1920, 1080, format=vs.YUV420P16)
-#denoise = kgf.hybriddenoise(upscalenn, knl=0.5, sigma=1, radius1=0)
-#taa = vstaa.TAAmbk(denoise,aatype='Nnedi3')
-#db = taa.f3kdb.Deband(range=16, y=40, cb=32, cr=32, grainy=24, grainc=0, output_depth=16)
-#mask = kgf.retinex_edgemask(denoise)
-#finalnn = core.std.MaskedMerge(db, taa, mask)
-#finalnn = kgf.adaptive_grain(finalnn)
-#finalnn = core.fmtc.bitdepth(finalnn, bits=10, dmode=3)
-
-
-upscalewx = core.fmtc.bitdepth(scaled, bits=32)
-upscalewx = core.fmtc.resample(upscalewx, css="444", kernel="lanczos")
-upscalewx = core.caffe.Waifu2x(upscalewx, noise=1, scale=1, block_w=387, block_h=387, model=3, cudnn=True, processor=0, tta=False, batch=7)
-#upscalewx = core.resize.Spline16(upscalewx,width=1920,height=1080)
-upscalewx = core.fmtc.bitdepth(upscalewx, bits=16, dmode=3)
-upscalewx = nnedi3_rpow2(upscalewx).resize.Spline36(1920, 1080, format=vs.YUV444P16)
-taa = vstaa.TAAmbk(upscalewx,aatype='Nnedi3')
-db = taa.f3kdb.Deband(range=16, y=40, cb=32, cr=32, grainy=24, grainc=0, output_depth=16)
-mask = kgf.retinex_edgemask(upscalewx)
-finalwx = core.std.MaskedMerge(db, taa, mask)
-finalwx = kgf.adaptive_grain(finalwx)
-finalwx = core.fmtc.resample(finalwx, css="420", kernel="lanczos")
-finalwx = core.fmtc.bitdepth(finalwx, bits=10, dmode=3)
-
-
-#stack1 = core.std.StackHorizontal([finalnn, finalwx])
-#final = stack1
-#final = core.fmtc.bitdepth(final, bits=10, dmode=3)
-finalwx.set_output()
-
-#vspipe -y "x264.vpy" - | ffmpeg -i pipe: -c:v libx264 -tune animation -crf 16 -preset slower -pix_fmt yuv420p10le -y "x264.mp4"
\ No newline at end of file
diff --git a/07/x265_w2x.vpy b/07/x265_w2x.vpy
deleted file mode 100644
index 326a0b5..0000000
--- a/07/x265_w2x.vpy
+++ /dev/null
@@ -1,58 +0,0 @@
-import vapoursynth as vs
-import kagefunc as kgf
-import fvsfunc as fvf
-import vsTAAmbk as vstaa
-import adjust
-from nnedi3_rpow2 import nnedi3_rpow2
-
-core = vs.core
-core.max_cache_size = 49152
-
-#source
-src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 07 [1080p].mkv")
-src = src.std.Trim(first=30604, last=30704)
-src = src.std.AssumeFPS(fpsnum=24000, fpsden=1001)
-
-#deblock
-src = core.fmtc.bitdepth(src, bits=16)
-deblock = core.deblock.Deblock(src, quant=16)
-
-#rescale
-Y, U, V = kgf.split(deblock)
-Y = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True)
-
-#There is basically no difference between running taa and deband before or after w2x.
-#taa
-Y = core.fmtc.bitdepth(Y, bits=16)
-taa = vstaa.TAAmbk(Y,aatype='Nnedi3')
-
-#deband
-db = taa.f3kdb.Deband(range=16, y=32, cb=32, cr=32, grainy=24, grainc=0, random_algo_ref=2, random_algo_grain=2, output_depth=16)
-mask = kgf.retinex_edgemask(taa)
-maskmerge = core.std.MaskedMerge(db, taa, mask)
-
-#w2x
-#model 3 - block size: 218/270 batch: 50, benchmark: 0.3fps
-#model 5 - block size: 38 (rec), batch: 1440, benchmark: 0.0195fps
-#model 6 - block size: 8, batch: 5. takes minutes to execute per frame.
-yupscalewx = core.fmtc.bitdepth(maskmerge, bits=32)
-yupscalewx = core.caffe.Waifu2x(yupscalewx, noise=0, scale=4, block_w=218, block_h=218, model=3, cudnn=True, processor=0, tta=False, batch=50)
-yupscalewx = core.fmtc.bitdepth(yupscalewx, bits=16, dmode=3)
-yupscalewx = core.resize.Spline36(yupscalewx,width=3840,height=2160)
-
-uupscalewx = core.fmtc.bitdepth(U, bits=32)
-uupscalewx = core.caffe.Waifu2x(uupscalewx, noise=0, scale=4, block_w=270, block_h=270, model=3, cudnn=True, processor=0, tta=False, batch=50)
-uupscalewx = core.fmtc.bitdepth(uupscalewx, bits=16, dmode=3)
-
-vupscalewx = core.fmtc.bitdepth(V, bits=32)
-vupscalewx = core.caffe.Waifu2x(vupscalewx, noise=0, scale=4, block_w=270, block_h=270, model=3, cudnn=True, processor=0, tta=False, batch=50)
-vupscalewx = core.fmtc.bitdepth(vupscalewx, bits=16, dmode=3)
-
-scaled = core.std.ShufflePlanes([yupscalewx, uupscalewx, vupscalewx], planes=[0], colorfamily=vs.YUV)
-
-final = kgf.adaptive_grain(scaled)
-final = core.fmtc.bitdepth(final, bits=12)
-
-final.set_output()
-#vspipe -y "x265_w2x.vpy" - | ffmpeg -i pipe: -c:v libx265 -tune animation -crf 17 -preset slower -x265-params aq-mode=3 -pix_fmt yuv444p12le -y "x265_w2x.mp4"
-#vspipe -y "x265_w2x.vpy" --y4m - | x265 --demuxer y4m -o Sympho5_07p.264 - --preset slower --tune animation --crf 17 --aq-mode 3 --output-depth 12 --output-csp i444
\ No newline at end of file
diff --git a/01/audiocut.py b/Symphogear/XV/01/audiocut.py
similarity index 100%
rename from 01/audiocut.py
rename to Symphogear/XV/01/audiocut.py
diff --git a/01/x264.vpy b/Symphogear/XV/01/x264.vpy
similarity index 100%
rename from 01/x264.vpy
rename to Symphogear/XV/01/x264.vpy
diff --git a/02/ac.py b/Symphogear/XV/02/ac.py
similarity index 100%
rename from 02/ac.py
rename to Symphogear/XV/02/ac.py
diff --git a/02/x264.vpy b/Symphogear/XV/02/x264.vpy
similarity index 100%
rename from 02/x264.vpy
rename to Symphogear/XV/02/x264.vpy
diff --git a/03/ac.py b/Symphogear/XV/03/ac.py
similarity index 100%
rename from 03/ac.py
rename to Symphogear/XV/03/ac.py
diff --git a/03/x264.vpy b/Symphogear/XV/03/x264.vpy
similarity index 100%
rename from 03/x264.vpy
rename to Symphogear/XV/03/x264.vpy
diff --git a/04/ac.py b/Symphogear/XV/04/ac.py
similarity index 100%
rename from 04/ac.py
rename to Symphogear/XV/04/ac.py
diff --git a/04/x264.vpy b/Symphogear/XV/04/x264.vpy
similarity index 100%
rename from 04/x264.vpy
rename to Symphogear/XV/04/x264.vpy
diff --git a/05/ac.py b/Symphogear/XV/05/ac.py
similarity index 100%
rename from 05/ac.py
rename to Symphogear/XV/05/ac.py
diff --git a/05/x264.vpy b/Symphogear/XV/05/x264.vpy
similarity index 100%
rename from 05/x264.vpy
rename to Symphogear/XV/05/x264.vpy
diff --git a/06/ac.py b/Symphogear/XV/06/ac.py
similarity index 100%
rename from 06/ac.py
rename to Symphogear/XV/06/ac.py
diff --git a/06/x264.vpy b/Symphogear/XV/06/x264.vpy
similarity index 100%
rename from 06/x264.vpy
rename to Symphogear/XV/06/x264.vpy
diff --git a/07/ac.py b/Symphogear/XV/07/ac.py
similarity index 100%
rename from 07/ac.py
rename to Symphogear/XV/07/ac.py
diff --git a/07/mask_2.png b/Symphogear/XV/07/mask_2.png
similarity index 100%
rename from 07/mask_2.png
rename to Symphogear/XV/07/mask_2.png
diff --git a/07/x264.vpy b/Symphogear/XV/07/x264.vpy
similarity index 100%
rename from 07/x264.vpy
rename to Symphogear/XV/07/x264.vpy
diff --git a/08/ac.py b/Symphogear/XV/08/ac.py
similarity index 100%
rename from 08/ac.py
rename to Symphogear/XV/08/ac.py
diff --git a/08/mask_2.png b/Symphogear/XV/08/mask_2.png
similarity index 100%
rename from 08/mask_2.png
rename to Symphogear/XV/08/mask_2.png
diff --git a/08/x264.vpy b/Symphogear/XV/08/x264.vpy
similarity index 100%
rename from 08/x264.vpy
rename to Symphogear/XV/08/x264.vpy
diff --git a/09/ac.py b/Symphogear/XV/09/ac.py
similarity index 100%
rename from 09/ac.py
rename to Symphogear/XV/09/ac.py
diff --git a/09/mask_2.png b/Symphogear/XV/09/mask_2.png
similarity index 100%
rename from 09/mask_2.png
rename to Symphogear/XV/09/mask_2.png
diff --git a/09/x264.vpy b/Symphogear/XV/09/x264.vpy
similarity index 100%
rename from 09/x264.vpy
rename to Symphogear/XV/09/x264.vpy
diff --git a/10/ac.py b/Symphogear/XV/10/ac.py
similarity index 100%
rename from 10/ac.py
rename to Symphogear/XV/10/ac.py
diff --git a/10/mask_2.png b/Symphogear/XV/10/mask_2.png
similarity index 100%
rename from 10/mask_2.png
rename to Symphogear/XV/10/mask_2.png
diff --git a/10/x264.vpy b/Symphogear/XV/10/x264.vpy
similarity index 100%
rename from 10/x264.vpy
rename to Symphogear/XV/10/x264.vpy
diff --git a/11/ac.py b/Symphogear/XV/11/ac.py
similarity index 100%
rename from 11/ac.py
rename to Symphogear/XV/11/ac.py
diff --git a/11/mask_2.png b/Symphogear/XV/11/mask_2.png
similarity index 100%
rename from 11/mask_2.png
rename to Symphogear/XV/11/mask_2.png
diff --git a/11/x264.vpy b/Symphogear/XV/11/x264.vpy
similarity index 100%
rename from 11/x264.vpy
rename to Symphogear/XV/11/x264.vpy
diff --git a/12/ac.py b/Symphogear/XV/12/ac.py
similarity index 100%
rename from 12/ac.py
rename to Symphogear/XV/12/ac.py
diff --git a/12/mask_2.png b/Symphogear/XV/12/mask_2.png
similarity index 100%
rename from 12/mask_2.png
rename to Symphogear/XV/12/mask_2.png
diff --git a/12/x264.vpy b/Symphogear/XV/12/x264.vpy
similarity index 100%
rename from 12/x264.vpy
rename to Symphogear/XV/12/x264.vpy
diff --git a/13/ac.py b/Symphogear/XV/13/ac.py
similarity index 100%
rename from 13/ac.py
rename to Symphogear/XV/13/ac.py
diff --git a/13/mask_2.png b/Symphogear/XV/13/mask_2.png
similarity index 100%
rename from 13/mask_2.png
rename to Symphogear/XV/13/mask_2.png
diff --git a/13/x264.vpy b/Symphogear/XV/13/x264.vpy
similarity index 100%
rename from 13/x264.vpy
rename to Symphogear/XV/13/x264.vpy
diff --git a/README b/Symphogear/XV/README
similarity index 100%
rename from README
rename to Symphogear/XV/README
diff --git a/Symphogear/XV/Shinai1/shinai.vpy b/Symphogear/XV/Shinai1/shinai.vpy
new file mode 100644
index 0000000..1be2366
--- /dev/null
+++ b/Symphogear/XV/Shinai1/shinai.vpy
@@ -0,0 +1,33 @@
+import os
+
+import vapoursynth as vs
+import kagefunc as kgf
+import fvsfunc as fvf
+import vsTAAmbk as vstaa
+import vsutil
+from nnedi3_rpow2 import nnedi3_rpow2
+
+from ytttfunc import adaptivegrain
+
+
+core = vs.core
+core.max_cache_size = 8192
+
+src = core.lsmas.LWLibavSource("bdmv/KIXA_90890/BDMV/STREAM/00007.m2ts")[24:-24]
+src = core.fmtc.bitdepth(src, bits=16)
+
+Y = vsutil.get_y(src)
+
+Y800 = kgf.inverse_scale(Y, height=800, kernel="bicubic", b=1/3, c=1/3, mask_detail=True)
+Y800 = nnedi3_rpow2(Y800).resize.Spline36(1920, 1080, format=vs.GRAY16)
+
+Y872 = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True)
+Y872 = nnedi3_rpow2(Y872).resize.Spline36(1920, 1080, format=vs.GRAY16)
+
+Yd = fvf.rfs(Y872, Y800, "[8952 9695]")
+scaled = core.std.ShufflePlanes([Yd, src], planes=[0, 1, 2], colorfamily=vs.YUV)
+
+final = src
+final = adaptivegrain.adaptive_grain(final)
+final = core.fmtc.bitdepth(final, bits=10, dmode=3)
+final.set_output()
diff --git a/Symphogear/XV/Shinai1/shinai_ac.py b/Symphogear/XV/Shinai1/shinai_ac.py
new file mode 100644
index 0000000..124cff4
--- /dev/null
+++ b/Symphogear/XV/Shinai1/shinai_ac.py
@@ -0,0 +1,12 @@
+#!/usr/bin/env python3
+
+import acsuite
+import os
+import vapoursynth as vs
+
+core = vs.core
+
+ac = acsuite.AC()
+path = r"bdmv/KIXA_90890/BDMV/STREAM/00007.m2ts"
+src = core.lsmas.LWLibavSource(path)
+ac.eztrim(src, [(24, -24)], os.path.splitext(path)[0] + ".wav", "shinai.wav")