Irrational-Encoding-Wizardry / guide.encode.moe

A guide for fansubbing
https://guide.encode.moe
Creative Commons Attribution Share Alike 4.0 International
146 stars 19 forks source link

Multiple arguments have been removed from _generate_descale_mask in kagefunc #68

Open MewX opened 3 years ago

MewX commented 3 years ago

In descaling section, the tutorial mentioned a way to use internal functions to generate credits masks:

descaled = kgf.inverse_scale(src, height=874, kernel='bicubic', b=0, c=1/2)
descaled_mask = kgf._generate_descale_mask(vsutil.get_y(core.resize.Spline36(src, descaled.width, descaled.height)), vsutil.get_y(descaled), kernel='bicubic', b=0, c=1/2)

However, the function has been reworked in: https://github.com/Irrational-Encoding-Wizardry/kagefunc/commit/5c7cd6725fec0688aab8d3272e653dea39ee946a

LightArrowsEXE commented 3 years ago

I believe I rewrote that part in #56, but that was closed because I wasn't happy with my write-ups. Maybe it's time I get around to writing one I am happy with.

MewX commented 3 years ago

Ah, great thanks! Looking forward to it :D

Attaching some snippets that I ended up using to compare source (8 bit), mask and filtered if that helps:

from lvsfunc import kernels, scale
... ...

src8 = core.text.Text(src8, "Source")
debanded = core.text.Text(debanded, "Filtered")

descaled_mask = scale.descale(dirtylines, height=855, kernel=kernels.Bicubic(), show_mask=True)
descaled_mask = descaled_mask.resize.Point(format=debanded.format)
descaled_mask = core.text.Text(descaled_mask, "Mask")
comparison = core.std.Interleave([src8, descaled_mask, debanded])
comparison.set_output()