Skip to content

Releases: CrendKing/avisynth_filter

v0.5.7

18 Oct 08:06
Compare
Choose a tag to compare

We made some performance improvement and revamped the status page.

v0.5.4

18 Oct 08:06
Compare
Choose a tag to compare

For the recent few versions, we've been improving the output format and dynamic format changing logic. The new behavior should be working if the avs script unconditionally returns a clip completely independent to AvsFilterSource(), such as a ColorBars().

However, due to the design of DirectShow, there are dynamic format change from upstream and downstream filters during playback (reference). If the avs script returns independent clip conditionally based on these dynamic changes, it may or may not always work, depending on many factors.

General rule of thumbs:

  • Before returning a clip, check input pixel type and return a clip with the same type.
  • When resizing, returning clip larger than the input tends to fail. More often is the change is significant.

v0.5.3

18 Oct 08:06
Compare
Choose a tag to compare
  • Detect video size change automatically

  • Support changing video size in avs script

  • Change license to MIT License

  • Refactor AviSynth loading code

v0.5.1

18 Oct 08:06
Compare
Choose a tag to compare
  • Update handling logic for media type changes

  • Support RGB48 format

  • Reload script without deleting the AviSynth environment

  • Calibrate buffer sizes at beginning of every playback to avoid inaccurate values from previous session No longer writes buffer sizes to registry

v0.5.0

18 Oct 08:05
Compare
Choose a tag to compare
  • Automatically calibrate optimal buffer sizes and record them in registry

  • Optimize for faster pin connection when input formats are restricted

  • Optimize headers

  • Fix a memory leak on AvsFilterDisconnect()

v0.4.1

18 Oct 08:05
Compare
Choose a tag to compare
  • Handle cases where avs script returns clip with different dimension than the video size. For example, playing a video of 640x480 while return BlankClip(1280, 800). Improve error message formatting.

v0.4.0

18 Oct 08:10
Compare
Choose a tag to compare

This version changed the API names from snake case to pascal case, which is more popular among AviSynth community. You need to change your script after updating this filter as follows:

  • avsfilter_source -> AvsFilterSource
  • avsfilter_disconnect -> AvsFilterDisconnect

v0.3.0

18 Oct 08:09
Compare
Choose a tag to compare
  • Switch to fprintf logging method instead of DbgLog. Slightly more aggressive buffering.

  • Add status property page. Automatically adjust buffer ahead and back based on utilization feedback. Remove buffer ahead and back settings.

  • Rename BufferHandler to FrameHandler

  • Send synthetic sample time to downstream even if missing from upstream. This specifically fix compatiblity with BlueskyFRC. Fix race conditon at reloading AviSynth.

v0.2.0

18 Oct 08:09
Compare
Choose a tag to compare
  • More robust media type negotiation logic. Use DirectShow base classes for debug output. Fix bug causing crash during seeking, caused by not aquiring mutex early enough in Transform().

  • Media type negotiation supports avs script conversion. The pin's output type will match script's output format. Separate input and output formats. Base output format on script video info. Use SSSE3 intrinsics to (de-)interleave array.

  • Revert splitting the settings in separate class so that the filter can be used without regsvr32.

  • Delete the AviSynth environment when seeking happens to flush video frame buffer. Better handling of avsfilter_disconnect() during reloading. Fix bug of wrong calling convention for x86 in IAvsFilterSettings.

  • Back to single thread with back/ahead buffer Make capture source work

  • Add buffer back/ahead settings Add format settings

  • Use worker thread to deliver frames. Change to use AviSynth+ C++ API.

  • Fix bug caused by upstream not setting AvgTimePerFrame

  • Add avsfilter_disconnect()

  • Report script video info to downstream

  • Add edit button in property page

  • Implement RGB24 and RGB32

  • Add support for I420, IYUV, YUY2 and UYVY. Add Google Breakpad exception handler to debug build. Fix bug casued by sharing global object in multithread situation. Fix bug caused by incorrect video dimension from certain upstreams. Fix bug caused by not checking media type in CheckTransform(). Fix bug caused by too large num_frames, resulting some filters allocate too much memory. Fix bug caused by certain upstreams not setting sample times. Fix bug caused by applying FPS change lower than video's native FPS.

  • Remove release.bat

  • More instructions in README

v0.1.0

18 Oct 08:09
Compare
Choose a tag to compare

Initial commit