Skip to content

Releases: JustinTArthur/vsfieldkit

v2.1.0

07 Oct 21:48
Compare
Choose a tag to compare
  • vsfieldkit.prepare_nnedi3_chroma_upsampler can now use the znedi3 or nnedi3cl plugin in addition to plain nnedi3 as before.
  • Add compatibility with VapourSynth>=63 Python wrapper, broken due to renamed PresetVideoFormat enum. Thanks @Mikewando.

v2.0.1

26 Mar 08:44
Compare
Choose a tag to compare

Fix vsfieldkit.resample_as_progressive's avoid_chroma_shift option. It was having an opposite effect from intended and resampling with even lossier shift.

The new method avoids the subsampling grid altogether by resampling the Cb and Cr planes separately, avoid unnecessary re-siting even with nearest-neighbor resampling.

v2.0.0

14 Mar 01:49
Compare
Choose a tag to compare

New Features

Interlacing! Targeting deinterlacer testers and engineers in the broadcast space who’ve been instructed to avoid soft telecine. Two new functions:

  • vsfieldkit.telecine
  • vsfieldkit.weave_fields

[Re]sampling kernels to supplement the out of the box vapoursynth.resize functions, but specialized for vsfieldkit tasks. They can be found in the vsfieldkit.kernels module. Includes an nnedi3 kernel-maker for use as a chroma upsampler.

vsfieldkit.annotate_bobbed_fields for retro-actively adding a property to bobbed frames noting the field (top or bottom) they came from.

vsfieldkit.output_frame_inferred_y4m for outputting YUV4MPEG2 (y4m) data with metadata derived from the first frame’s properties, allowing for interlaced output, SAR, and chroma siting as available.

Changed APIs

vsfieldkit.resample_as_progressive kernel argument renamed to subsampling_kernel for clarity. upsampling_kernel argument added. It also now fakes luma-co-sited chroma during upsampling to avoid lossy chroma re-siting.

vsfieldkit.resample_as_progressive and vsfieldkit.upsample_as_progressive now default to Spline 36 for any chroma subsampling or upsampling using the new vsfieldkit.kernels.resample_chroma_with_spline36.

vsfieldkit.upsample_as_progressive now has upsample_horizontally argument. Defaults to False. vsfieldkit.resample_as_progressive uses this as True internally.

v1.1.0

28 Nov 05:16
Compare
Choose a tag to compare

Contains updates to two existing functions.

vsfieldkit.fill_analog_frame_ends

  • Allows overriding the pre-fill mode and gives better error messaging when the fillborders plugin is missing the requested mode. The default mode is now "fillmargins" instead of "fixborders" in order to work with the release version of fillborders.
  • Works with progressive clips cropped by factors smaller than interlaced subsampling.
  • More compatible with code autocompletion via removal of decorators.

vsfieldkit.scan_interlaced

  • Can brighten newly-scanned fields via new attack_factor argument.

v1.0.2

31 May 06:18
Compare
Choose a tag to compare

Allows EdgeFixer to be used for vsfieldkit.fill_analog_frame_ends instead of ContinuityFixer. Defaults to EdgeFixer if both are present.

v1.0.1

12 May 07:19
Compare
Choose a tag to compare
  • Adds vsfieldkit.fill_analog_frame_ends for cleaning up half-black lines at the edges of analog frames.
  • vsfieldkit.bob now shifts to account for relative field position by default. Is deprecated in VapourSynth R58+

1.0.0 was yanked to immediately fix a vsfieldkit.fill_analog_frame_ends bug.

v0.3.0

17 Apr 09:38
Compare
Choose a tag to compare
  • New functions for re-interpreting progressive frames encoded with interlaced sub-sampled chroma: vsfieldkit.resample_as_progressive and vsfieldkit.upsample_as_progressive.
  • Adds phosphor decay simulation to vsfieldkit.scan_interlaced

v0.2.0

02 Mar 17:53
Compare
Choose a tag to compare

Adds vsfieldkit.bob, a simple bob-and-stretch deinterlacer using VapourSynth's built-in resizing.

vsfieldkit 0.1.0

13 Feb 22:36
Compare
Choose a tag to compare

First release. vsfieldkit.scan_interlaced and some nifty utilities.