Skip to content

Releases: rlaphoenix/pvsfunc

v4.4.0

28 Apr 23:53
Compare
Choose a tag to compare

This is generally an overall bug fix and cleanup release. Not much changes have been made.
This version has dropped support for Python 3.6.

  • Spline16 will be used instead of Point when casting format if needed during deinterlacing.
  • Fully progressive CFR material will now have its FPS fixed by effectively ignoring repeat-fields.
  • ceil() now duplicates frames more efficiently.

v4.3.0

03 Nov 16:28
Compare
Choose a tag to compare

Override the behaviour of d2v_source's _ColorRange set approach in PD2V. Instead, PD2V will try to obtain the color
range of the original input video of the D2V file. This would be the demuxed MPEG stream since the input file path
might not be a video container, but may be a D2V file instead.

If no color range is found in the MPEG stream, then limited/TV range will be assumed as there's more of a chance
that MPEG media will be limited/TV ranger over full/PC range.

For more information on this, see dwbuiten/d2vsource#41

v4.2.1

13 Oct 08:44
Compare
Choose a tag to compare
  • Fix regressions from v4.2.0 in PD2Vs deinterlace() causing runtime errors if recover() was not used first.

v4.2.0

13 Oct 08:22
Compare
Choose a tag to compare
  • Add new recover() method to PD2V for recovering progressive frames with VFM optimally
  • Support VFM recovered input clips in PD2V deinterlace()

v4.1.0

07 Oct 02:32
3e65fb2
Compare
Choose a tag to compare
  • Update pyd2v to 1.3.0, remove PD2V._get_d2v
  • Remove explicit VapourSynth dependency (prevents annoying conflicts between vs users who are on non-pip-installs vs. those on pip-installs)
  • Rework release-packager workflow for releases

v4.0.3

23 Jun 02:24
Compare
Choose a tag to compare
  • Fix pathlib usage in PD2V._get_d2v and PLWI._fps_reset, stem and suffix was mixed up.

v4.0.2

23 Jun 02:21
Compare
Choose a tag to compare
  • Fix __ALL__ imports in __init__, was using old PLS name after it was renamed to PLWI.

PLWI

  • State "Progressive" instead of "Deinterlaced (Progressive)" in deinterlace()'s verbose info.

v4.0.1

23 Jun 01:54
Compare
Choose a tag to compare
  • Create HISTORY.md
  • Highly update the README with up-to-date information.
  • Rename the new class PLS to PLWI.
  • General improvements.

PD2V

  • Ensure deinterlace() kernel has no positional arguments set, and clip is a VideoNode.

v4.0.0

23 Jun 00:35
Compare
Choose a tag to compare

New classes: PD2V, PLS, and, PKernel.
Removed classes: PSourcer, PDeinterlacer.

PD2V and PLS are derivatives from PSourcer and PDeinterlacer code. They work a lot differently too. The idea with the
new classes is to be specific for a codec/indexer format with specific functions for specific purposes that can be
used as needed. Each class method returns back the class instance so you can keep calling new methods on other methods
(one-line approach) until you ask for the clip of the class instance. This method makes using the classes very
convenient!

The main reason for this change has been to consolidate the code to their respective use-case. It's been a nightmare
to have one class deal with code for every codec, this way it allows me to manage only the code for the codec/indexer
that the class is for, much better!

  • Added mypy configuration.
  • Moved from setuptools to poetry for a much better package management experience.
  • Update pyd2v requirements to 1.2.0 to take advantage of it's new load() method and other fixes.
  • Properly handle the ALL short hand imports for the classes in __init__.py. Including missing imports!
  • Various improvements all over the README including fixes to typos, improving the information, removing unnecessary
    information, etc.

PSourcer

  • PSourcer has been removed entirely and split off into two classes. PD2V for MPEG-1/2 videos, and PLS for AVC (H.264) videos. Changes mentioned below have been accompanied to their associated new class but were changed as part of PSourcer originally.
  • Image/imwri usage has been removed. There's no new class where that code is split off too. Images are simply no longer supported.
  • Functions in the helper file that PSourcer has used, have been removed if it wasn't used elsewhere.
  • change_chroma_loc has been removed, it isnt needed. If you really wanted to change the chroma loc, you could do it manually with a one-liner core.resize call.

PDeinterlacer

  • Like PSourcer, PDeinterlacer has had its close split off into PD2V and PLS where appropriate.
  • Image/imwri usage has been removed. There's no new class where that code is split off too. Images are simply no longer supported.
  • Functions in the helper file that PDeinterlacer has used, have been removed if it wasn't used elsewhere.

PSourcer changes that made its way to PD2V

  • core.d2v plugin will now be checked to ensure it's available.
  • Fix decimation-based fps matching. It crashed when trying to apply the changes to the flags due to an incorrect flag enumeration.
  • debug option has been changed to verbose. The info provided by verbose has changed. Some data is now split off to be applied during __init__ and some during the deinterlace() call.
  • Improve accuracy of the pulldown cycle calculation by checking each RFF group section separately from one another, and then choosing the most common computed cycle. This fixes accuracy issues that may occur when there are lots and lots of short sparse sections between interlaced sections.
  • Pulldown calculation will no longer panic if no pulldown is used on the source.
  • fps_divisor argument is no longer needed, all computations for it have been automated.

PKernel

  • New class which is just storage for any kind of custom deinterlacing kernel stuff I am working on that you may want to use.
  • VoidWeave has been moved from PDeinterlacer to PKernel.

helpers

  • All D2V and LWI specific code has been moved to their respective new classes.
  • Removed anti_file_prefix, file paths are now expected to be pathlib Path objects.
  • Removed gcd, replaced all uses of it with math.gcd.
  • Added get_standard function to convert an aspect float to a standard string.

v3.16.2

08 Jun 02:07
Compare
Choose a tag to compare

PSourcer:

  • Fix potential crash when calculating pulldown cycle if indexing a file with only one or two coded pictures with the rff (pulldown) flag. Not enough information to get a reliable pulldown cycle.