From 90cd40688a08c16a3922ffd6067c8f07e8b930b3 Mon Sep 17 00:00:00 2001 From: firebingo <matthew.t.kides@gmail.com> Date: Sat, 10 Aug 2019 10:19:46 -0700 Subject: [PATCH] updating scripts --- .gitignore | 6 ++- 01/x265_Icebingo.vpy | 4 +- 02/ac.py | 23 ++++++++++ 02/x264.vpy | 18 ++++++++ 03/ac.py | 23 ++++++++++ 03/x264.vpy | 21 +++++++++ 03/x265_w2x_svp.vpy | 102 +++++++++++++++++++++++++++++++++++++++++++ 04/ac.py | 23 ++++++++++ 04/x264 - w2x.vpy | 44 +++++++++++++++++++ 04/x264.vpy | 23 ++++++++++ 05/ac.py | 22 ++++++++++ 05/x264.vpy | 43 ++++++++++++++++++ 06/ac.py | 22 ++++++++++ 06/x264.vpy | 41 +++++++++++++++++ README | 1 + 15 files changed, 413 insertions(+), 3 deletions(-) create mode 100644 02/ac.py create mode 100644 02/x264.vpy create mode 100644 03/ac.py create mode 100644 03/x264.vpy create mode 100644 03/x265_w2x_svp.vpy create mode 100644 04/ac.py create mode 100644 04/x264 - w2x.vpy create mode 100644 04/x264.vpy create mode 100644 05/ac.py create mode 100644 05/x264.vpy create mode 100644 06/ac.py create mode 100644 06/x264.vpy create mode 100644 README diff --git a/.gitignore b/.gitignore index ba734fd..8d6384f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,8 @@ *.wav *.flac *.ffindex -*.png \ No newline at end of file +*.png +*.aac +cudnn_data/ +*.webm +ffmpeg2pass*.log \ No newline at end of file diff --git a/01/x265_Icebingo.vpy b/01/x265_Icebingo.vpy index 9b8304d..2747692 100644 --- a/01/x265_Icebingo.vpy +++ b/01/x265_Icebingo.vpy @@ -2,7 +2,7 @@ import vapoursynth as vs import fag3kdb import kagefunc as kgf import fvsfunc as fvf -import vsTAAmbk as taa +import vsTAAmbk as vstaa core = vs.get_core() core.max_cache_size = 16384 @@ -19,7 +19,7 @@ resam = core.fmtc.resample(resam, css="444", kernel="lanczos") 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 = taa.TAAmbk(fil,aatype='Nnedi3') +taa = vstaa.TAAmbk(fil,aatype='Nnedi3') #flash3kyuu_deband #retinex_edgemask merge is used to help preserve details on edges diff --git a/02/ac.py b/02/ac.py new file mode 100644 index 0000000..d2968e2 --- /dev/null +++ b/02/ac.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear XV - 02 (MX).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(799, 2557, "Intro"), (2558, 4947, "OP"), (6625, 20267, "Part A"), +(21706, 35252, "Part B"), (35253, 37409, "ED"), (37410, 37963, "Part C")]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("mx_audio.m4a", audio_source="cap/mx_adjusted.m4a") diff --git a/02/x264.vpy b/02/x264.vpy new file mode 100644 index 0000000..3af3f4c --- /dev/null +++ b/02/x264.vpy @@ -0,0 +1,18 @@ +import vapoursynth as vs +import kagefunc as kgf +import fvsfunc as fvf +from nnedi3_rpow2 import nnedi3_rpow2 +core = vs.core +core.max_cache_size = 32768 + +src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 02 [1080p].mkv") +src = fvf.Depth(src, 16) +scaled = kgf.inverse_scale(src, height=872, kernel="lanczos", taps=5, mask_detail=True) +scaled = nnedi3_rpow2(scaled).resize.Spline36(1920, 1080, format=vs.YUV420P16) +denoise = kgf.hybriddenoise(scaled, knl=0.5, sigma=1, radius1=0) +db = denoise.f3kdb.Deband(range=12, y=60, cb=40, cr=40, grainy=15, grainc=0, output_depth=16) +mask = kgf.retinex_edgemask(denoise) +final = core.std.MaskedMerge(db, denoise, mask) +final = kgf.adaptive_grain(final) +final = fvf.Depth(final, 10) +final.set_output() \ No newline at end of file diff --git a/03/ac.py b/03/ac.py new file mode 100644 index 0000000..122b6ef --- /dev/null +++ b/03/ac.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear XV - 03 (MX).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(810, 1554, "Intro"), (1555, 3951, "OP"), (5630, 18386, "Part A"), + (19826, 35815, "Part B"), (35816, 37973, "ED")]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("mx_audio.m4a", audio_source="cap/mx_adjusted.m4a") diff --git a/03/x264.vpy b/03/x264.vpy new file mode 100644 index 0000000..226ea6f --- /dev/null +++ b/03/x264.vpy @@ -0,0 +1,21 @@ +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 - 03 [1080p].mkv") +src = fvf.Depth(src, 16) +scaled = kgf.inverse_scale(src, height=872, kernel="lanczos", taps=5, mask_detail=True) +scaled = nnedi3_rpow2(scaled).resize.Spline36(1920, 1080, format=vs.YUV420P16) +denoise = kgf.hybriddenoise(scaled, knl=0.5, sigma=1, radius1=0) +taa = vstaa.TAAmbk(denoise,aatype='Nnedi3') +db = taa.f3kdb.Deband(range=12, y=60, cb=40, cr=40, grainy=15, grainc=0, output_depth=16) +mask = kgf.retinex_edgemask(denoise) +final = core.std.MaskedMerge(db, taa, mask) +final = kgf.adaptive_grain(final) +final = core.fmtc.bitdepth(final, bits=10, dmode=3) +final.set_output() \ No newline at end of file diff --git a/03/x265_w2x_svp.vpy b/03/x265_w2x_svp.vpy new file mode 100644 index 0000000..f3a7e41 --- /dev/null +++ b/03/x265_w2x_svp.vpy @@ -0,0 +1,102 @@ +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/ac.py b/04/ac.py new file mode 100644 index 0000000..96c583f --- /dev/null +++ b/04/ac.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear XV - 04 (MX).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(139, 1395, "Intro"), (1396, 3783, "OP"), (5462, 16826, "Part A"), + (18265, 35143, "Part B"), (35144, 37302, "ED")]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("mx_audio.m4a", audio_source="cap/mx_adjusted.m4a") diff --git a/04/x264 - w2x.vpy b/04/x264 - w2x.vpy new file mode 100644 index 0000000..cc0d1fc --- /dev/null +++ b/04/x264 - w2x.vpy @@ -0,0 +1,44 @@ +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/04/x264.vpy b/04/x264.vpy new file mode 100644 index 0000000..6574685 --- /dev/null +++ b/04/x264.vpy @@ -0,0 +1,23 @@ +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 = fvf.Depth(src, 16) +scaled = kgf.inverse_scale(src, height=872, kernel="lanczos", taps=5, mask_detail=True) +scaled = nnedi3_rpow2(scaled).resize.Spline36(1920, 1080, format=vs.YUV420P16) +denoise = kgf.hybriddenoise(scaled, knl=0.5, sigma=1, radius1=0) +taa = vstaa.TAAmbk(denoise,aatype='Nnedi3') +db = taa.f3kdb.Deband(range=12, y=60, cb=40, cr=40, grainy=15, grainc=0, output_depth=16) +mask = kgf.retinex_edgemask(denoise) +final = core.std.MaskedMerge(db, taa, mask) +final = kgf.adaptive_grain(final) +final = core.fmtc.bitdepth(final, bits=10, dmode=3) +final.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/05/ac.py b/05/ac.py new file mode 100644 index 0000000..93800a3 --- /dev/null +++ b/05/ac.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear XV - 05 (MX).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(151, 3819), (5498, 19211), (20649, 37313)]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("mx_audio.m4a", audio_source="cap/mx_adjusted.m4a") diff --git a/05/x264.vpy b/05/x264.vpy new file mode 100644 index 0000000..80170f6 --- /dev/null +++ b/05/x264.vpy @@ -0,0 +1,43 @@ +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 + +src = core.ffms2.Source("[Erai-raws] Senki Zesshou Symphogear XV - 05 [1080p][Multiple Subtitle].mkv") +src = core.fmtc.bitdepth(src, bits=16) +deblock = core.deblock.Deblock(src, quant=16) +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) + +dim1 = adjust.Tweak(scaled, sat=1.35, cont=1.35) +dim2 = adjust.Tweak(scaled, sat=1.20, cont=1.20) +dim3 = adjust.Tweak(scaled, sat=1.15, cont=1.15) +undim = fvf.rfs(scaled, dim1, mappings="[23298 23322] 23339") +undim = fvf.rfs(undim, dim2, mappings="[2888 2931]") +undim = fvf.rfs(undim, dim3, mappings="[27161 27166]") + +denoisechroma = core.knlm.KNLMeansCL(undim, d=1, a=2, h=0.45, channels="UV", device_type='gpu', device_id=0) +denoiseluma = core.knlm.KNLMeansCL(undim, 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 = 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) +final = core.std.MaskedMerge(db, taa, mask) +final = kgf.adaptive_grain(final) +final = core.fmtc.bitdepth(final, bits=10, dmode=3) +final.set_output() + +#vspipe -y "x264.vpy" - | ffmpeg -i pipe: -c:v libx264 -tune animation -crf 16 -preset slower -aq-mode 3 -pix_fmt yuv420p10le -x264-params no-dct-decimate:no-fast-pskip -y "x264.mp4" + +#vspipe -y "x264.vpy" -s 13500 -e 13800 - | ffmpeg -i pipe: -c:v hevc_nvenc -profile:v 1 -b:v 3.5M -maxrate:v 4.5M -preset slow -rc vbr_hq -cq 1 -spatial_aq true -temporal_aq true -rc-lookahead 32 -aq-strength 12 -gpu 0 -pix_fmt p010le -y "x265_gpu.mp4" + +#vspipe -y "x264.vpy" -s 13500 -e 13800 - | ffmpeg -i pipe: -c:v libx265 -tune animation -crf 16 -preset slower -x265-params aq-mode=3 -pix_fmt yuv420p10le -y "x265.mp4" + +#vspipe -y "x264.vpy" -s 27900 -e 28200 - | ffmpeg -i pipe: -c:v libx264 -preset veryslow -crf 16 -g 480 -keyint_min 23 -refs 16 -bf 16 -aq-mode 3 -aq-strength 0.70 -qcomp 0.70 -psy-rd 0.72 -x264-params no-dct-decimate:no-fast-pskip -pix_fmt yuv420p10le -y "x264_newline.mp4" \ No newline at end of file diff --git a/06/ac.py b/06/ac.py new file mode 100644 index 0000000..31d6e7e --- /dev/null +++ b/06/ac.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear XV - 06 (BS11).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(680, 4805), (6484, 20773), (22211, 37844)]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("bs11_audio.m4a", audio_source="cap/bs11_adjusted.m4a") diff --git a/06/x264.vpy b/06/x264.vpy new file mode 100644 index 0000000..7f8a4d4 --- /dev/null +++ b/06/x264.vpy @@ -0,0 +1,41 @@ +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 + +opstart, edstart = 1726, 31888 + +src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 06 [1080p].mkv") +src = core.fmtc.bitdepth(src, bits=16) +deblock = core.deblock.Deblock(src, quant=16) +Y, U, V = kgf.split(deblock) +Y = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True, + descale_mask_zones=f"[{opstart} {opstart+3000}] [{edstart} {edstart+2159}]") +Y = nnedi3_rpow2(Y).resize.Spline36(1920, 1080, format=vs.GRAY16) +scaled = core.std.ShufflePlanes([Y, U, V], planes=[0], colorfamily=vs.YUV) + +dim1 = adjust.Tweak(scaled, sat=1.35, cont=1.35) +dim2 = adjust.Tweak(scaled, sat=1.12, cont=1.12) +dim3 = adjust.Tweak(scaled, sat=1.20, cont=1.20) + +undim = fvf.rfs(scaled, dim1, mappings=f"[{opstart+1613} {opstart+1659}]]") +undim = fvf.rfs(undim, dim2, mappings=f"[{opstart+1665} {opstart+1693}] [25567 26014]") +undim = fvf.rfs(undim, dim3, mappings="[26254 26283]") + +denoisechroma = core.knlm.KNLMeansCL(undim, d=1, a=2, h=0.45, channels="UV", device_type='gpu', device_id=0) +denoiseluma = core.knlm.KNLMeansCL(undim, 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 = 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) +final = core.std.MaskedMerge(db, taa, mask) +final = kgf.adaptive_grain(final) +final = core.fmtc.bitdepth(final, bits=10, dmode=3) +final.set_output() + +#vspipe -y "x264.vpy" - | ffmpeg -i pipe: -c:v libx264 -tune animation -crf 16 -preset slower -aq-mode 3 -pix_fmt yuv420p10le -x264-params no-dct-decimate:no-fast-pskip -y "x264.mp4" \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..27a65f8 --- /dev/null +++ b/README @@ -0,0 +1 @@ +Scripts in here not titled "x264.vpy" are incomplete/experimental and currently unused. \ No newline at end of file