xy-VSFilter is a
VSFilter (the famous DirectShow filter used to display subtitles) fork for smooth playback, based on VSFilter 2.39 Guliverkli2 with various important changes from VSFilter 2.41 MPC-HC.
It supports and ONLY supports subtitle scripts supported by Official VSFilter 2.39 builds, but in a more efficient way.
What Is Different from Official VSFilter:
- Significantly faster overall compared to MPlayer2 Libass.
- Up to multiple orders of magnitude faster than VSFilter 2.41
* Subpics are now drawn directly in YUV/RGB as needed to improve performance
** Official VSFilter always rendered subtitles in RGB and did a RGB -> YUV conversion when outputting YUV formats
* Floating-point Gaussian Blur implementation (higher quality + significantly faster with large blur values)
* More efficient Border code (higher quality + up to 12x faster with large border sizes)
* More efficient Clip code (significantly faster + up to 1.8GB reduction in RAM usage when rendering gradients)
* More efficient Color Conversion, Chroma Placement, Alpha Blending, and Rasterization code (SSE2 optimized)
* Alpha blending on dirty areas of the frame only
* Alpha-blending with sub-sampled/interlaced chroma where applicable
* Addition of numerous caches to speed up animated effects
* Proper implementation of animation detection to speed up static typesetting
* New script parser to speed up loading of very large subtitle scripts
* 75% reduction in CPU load overhead when idle
- Input/Output support for 10-bit P010 & 16-bit P016 4:2:0 YUV formats
* Requires: P010 or P016 support in both the video renderer (e.g.
madVR) and video decoder to use this optional feature.
- Input/Output support for NV12 & NV21 4:2:0 YUV formats
* Important for users of ATI GPUs and EVR-CP
- Sub-pixel Positioning configuration option [None, 2x2, 4x4, 8x8, 8x8(bilinear)]
* Official VSFilter defaults to 8x8. New method 8x8(bilinear) offers 8x8 positioning using bilinear scaling instead of rasterization.
- BT.709/BT.601 matrix configuration option for subtitle rendering
* Support for 'YCbCr Matrix' tagging in SSA/ASS scripts.
* Defaults to BT.601 when 'YCbCr Matrix' is not present in the script.
- TV/PC YCbCr level range configuration option for subtitle rendering
* Support for 'YCbCr Matrix' tagging in SSA/ASS scripts.
* Defaults to TV range when 'YCbCr Matrix' is not present in the script.
- Support for sub-pixel drawing of vector shapes.
* Warning: Unsafe outside of hardsubbing. VSFilter 2.39 will crash. VSFilter 2.40/2.41 won't display anything.
- Support for non-integer values of \fcsx \fcxy
- Support for 'correct' MPEG-2/H.264 left chroma placement for YCbCr output
* VSFilter 2.39/2.41 uses 'incorrect' MPEG-1 centered chroma placement
- HDMV(PGS) & DVB Subtitle support from VSFilter 2.40
- Option to hide VSFilter tray icon
- Removed pre-buffer subpics option (may be re-added in the future)
Important Notes:
- If you have another version of VSFilter currently installed, merely replacing the VSFilter.dll file will NOT work correctly. Check their Troubleshooting Q&A for more details
here.