DirectShow filters that put AviSynth and VapourSynth into video playing
New DAR calculation, address issue #79
Add AvsFilterGetSourcePath() and VpsFilterSourcePath APIs, fulfil #80
This version mainly focused on fixing issue https://github.com/CrendKing/avisynth_filter/issues/76, i.e. player freezes when switching subtitles. Technical detail of the fix is documented in https://github.com/CrendKing/avisynth_filter/issues/76#issuecomment-1212830775.
Delay remote control start after input video format is initialized
Show error message if VapourSynth can't be initialized
This version mainly focused on fixing issue #75, i.e. playing 10-bit video with EVR suffers significant performance penalty.
Support RGB32 input format for VapourSynth Filter
Move the pre-buffer constant to configurable number (InitialSrcBuffer
, still default to 3). Related wiki: https://github.com/CrendKing/avisynth_filter/wiki/Configuration
Fix bug of using stride as the width of videoInfo, fix issue #74
Add support for Y410 and Y416 formats. As usual, bit shifts will happen for Y410. Note that the current implementation ignores the data in the alpha plane. If this causes problem, feel free to report the issue. (#69)
Properly support CPU without SSSE3 and AVX2 (we still require at least SSE2)
Properly support AviSynth+ v3.7.2 for the get-frame-zero-at-beginning problem, by introducing the pre-buffering mechanism (#70) Now that v3.7.x are supported, we encourage all users to upgrade, before older versions (e.g. 3.5.x) are inevitably dropped in the future.
Thanks to the pre-buffering mechanism, VapourSynth mvtools will also work now (#61, #66)
Negotiate media type with properly aligned stride to always enable LAV Filters' "direct" mode (#72)
Fix build error about AviSynthPlus
Use NOxx macros to minimize windows.h footprint
Use variadic template for logging
Make build script more flexible
Add bit shifting for P010 and P210 pixel formats (#65)
Previously P010 and P210 input formats are treated as their 16-bit counterparts, i.e. P016 and P216. This is due to opposite bit order expected from DirectShow and AviSynthPlus. By forcing the 16-bit formats, we can skip the pixel-wise bit order reversing and save some CPU cycles. However, since this is basically a performance hack, when user tries to convert the video to 10-bit, there will be incompatibility issue.
This version removes the hack and properly support the 10-bit formats by introducing the bit order reversing logic. It is implemented with SIMD instructions (if hardware supports) thus performance penalty should be minimal.
Increase input allocator buffer size to be aligned to 16 bytes, enabling LAV Filter's direct mode. Fix issue #63
Expose the extra source buffer increase/decrease step settings. Please refer to wiki for the up-to-date configuration.
Fix integer overflow of extra source buffer due to unsigned type
Starting with this version, VPSF makes use of VapourSynth API R4 (R55) and no longer compatible with earlier VapourSynth versions. If VapourSynth can't be upgraded, please stick to the previous version. The v1.2.1 version will still be maintained if any serious issue is found.
As the consequence of VapourSynth dropping support of YUY2 and RGB formats, VPSF also no longer supports these input formats.