Skip to content

Releases: CrendKing/avisynth_filter

v1.2.1

31 Jul 23:03
Compare
Choose a tag to compare
  • Fix bug caused by marking the lambda with "this" capture static in worker thread. Fix this.

v1.2.0

24 Jul 05:56
Compare
Choose a tag to compare

The main change of this version is to add support for interlaced videos. Specifically, downstream will receive samples with AM_SAMPLE2_PROPERTIES::dwTypeSpecificFlags properly filled. Also, in the AviSynth variant, if AviSynth+ with version equal of above 3.6.0 is detected, the source video frames will have the reserved frame properties set like the VapourSynth variant.

Unfortunately, due to the lack of frame properties and historical reasons, if AviSynth+ v3.5.1 and below is used, the interlace status can't be conveyed, and downstream will always see the frames as progressive.


  • Preserve AM_SAMPLE2_PROPERTIES::dwTypeSpecificFlags in the output samples, fix issue 59

  • Move remote control starting point back to Active(), after a FS reload, so that metadata are available by then, fix issue 60.

  • VPSF: Instead of passing through the dwTypeSpecificFlags, properly construct this data from related output frame information. AVSF: AVS+ does not have API to support this until the introduction of frame properties in 3.6.

  • Add frame properties for AVS+ 3.6+

v1.1.6

08 Jul 07:49
Compare
Choose a tag to compare
  • VPSF: Report error if source frame is requested before the frame handler is ready

  • Support the color-space related RFP in VapourSynth filter

  • Add hidden settings for min and max extra source buffer sizes

v1.1.5

02 Jul 00:47
Compare
Choose a tag to compare
  • Fix bug that VPSF doesn't wait for pending async frame request before destroying the script, causing VapourSynth to crash

  • Increase extraSourceBuffer faster in case of drought

v1.1.4

30 Jun 00:52
Compare
Choose a tag to compare
  • Always use UTF-8 locale, fix issue 57

  • More reliable approach to handle track switch

  • Replace the static extraSourceBuffer config with a reactive, self-adjusting mechanism. The old hidden config is no longer used.

  • Fix bug of reporting incorrect source average FPS

v1.1.3

25 Jun 12:21
Compare
Choose a tag to compare
  • Wait for Receive() to finish before entering EndFlush(). This fixes a bug that a source frame is received before flush is finished.

  • Use actual system time (millisecond precision) instead of frame time for frame rate calculations. User will notice the slight change in status page.

  • Add delivery frame rate to the status page

  • Use our own output frame start time, fix issue 56

v1.1.2

17 Jun 23:49
Compare
Choose a tag to compare
  • Stop frame handler and remote control at the filter's destruction time, instead of Inactive() time, fix issue 54

v1.1.1

12 Jun 23:32
Compare
Choose a tag to compare

Important: Please review the new section in README for proper configuration.

  • Remove duplicate output media types from GetMediaType() results

  • Reinstate the input pin reconnection logic, again fix issue 37. This fixes the issue of having "Video Renderer" when using MPC-HC + EVR + 10-bit video content. New input and output format will be 8-bit. Other players are unaffected.

  • Reset enumerated input media types when pin breaks connection

  • Use the _AbsoluteTime RFP to store frame start time

  • Fix bug where VapourSynth frame_handler's GetSourceFrame() returns source frames before the frame duration RFPs become available

v1.1.0

05 Jun 21:06
Compare
Choose a tag to compare
  • Add relevant Reserved Frame Properties to VapourSynth filter

  • Set VapourSynth output frame duration by the "_DurationXXX" reserved properties.

  • Handle output media type change in case of not receiving an update from upstream

  • Lower VapourSynth API version requirement to R3.5

v1.0.0

05 May 07:04
Compare
Choose a tag to compare

Backward incompatible version. You will need to follow the notes below to change the config files.

Introduce support for VapourSynth:

  1. New Visual Studio project that outputs a new "vapoursynth_filter.dll" artifact. Codes that share the same logic AviSynth version are placed in a Visual Studio Shared Project "filter_common", while each filter maintains their special frame server and handler codes.

  2. Replace most "AviSynth" and "avs" words in the filter_common project with something neutral. For example, CAviSynthFilter -> CSynthFilter.

  3. Settings are changed:

  • For registry, the old settings are stored in "HKCU\Software\AviSynthFilter", the new settings are stored in "HKCU\Software\AviSynthFilter\AviSynth Filter" and "HKCU\Software\AviSynthFilter\VapourSynth Filter".
  • For portable, the new VapourSynth settings are stored in vapoursynth_filter.ini.
  • The old "AvsFile" setting name is renamed to "ScriptFile".
  • Note that since VapourSynth does not natively support RGB24 format, the setting "InputFormat_RGB24" is removed for VapourSynth Filter.
  1. The filters now links to the frame server's import library, but delay load the dlls at runtime.

  2. Change the build script from Windows batch to PowerShell for more functionality and control, mostly due to batch's lack of JSON processing power, and now we need to call GitHub API for information.

  3. Fix a bug where switching video files may cause a crash due to the streaming thread not properly shut down.