My favorites | Sign in
Project Home Downloads Wiki Issues
Project Information
Members
Featured
Downloads
Links

xy-VSFilter - VSFilter Fork for Smooth Playback


January 8th 2012: With the release of xy-VSFilter 3.0.0, the project will be on hiatus for a few months


Based on VSFilter 2.39 Guliverkli2 with various important changes from VSFilter 2.40 MPC-HC

Supports and ONLY supports subtitle scripts supported by Official VSFilter 2.39 builds, but in a more efficient way.

What Is Different

  • Much faster than Official VSFilter 2.39 & 2.40
    • 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
    • More efficient Blur code
    • 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: madVR video renderer and a video decoder which supports P010 or P016 output 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
    • Option for automatic matrix selection based on video resolution
    • Official VSFilter always does color rendering using BT.601, so this has been left as the default for compatibility
  • HDMV(PGS) & DVB Subtitle support from VSFilter 2.40
  • Removed pre-buffer subpics option (may be re-added in the future)

Install

Current builds available for download: http://code.google.com/p/xy-vsfilter/downloads/list

If you have another version of VSFilter currently installed, merely replacing the VSFilter.dll file will NOT work correctly.

You MUST run regsvr32 VSFilter.dll from an Administrative Command Prompt from the directory you extracted VSFilter.dll in order to reinstall it.


For example, if you extracted VSFilter.dll to "C:\Program Files (x86)\xy-VSFilter" (replace this path with the directory of your choice in the command lines below):

Open an Administrative Command Prompt

cd "C:\Program Files (x86)\xy-VSFilter"

regsvr32 VSFilter.dll

OR

Open an Administrative Command Prompt

regsvr32 "C:\Program Files (x86)\xy-VSFilter\VSFilter.dll"

It is NOT recommended to store VSFilter.dll in your System32 or SystemWOW64 directory. If you have a copy of VSFilter.dll in either of these locations, run regsvr32 /u VSFilter.dll to unregister/uninstall, and then follow the steps above to move and register/install it in a new location.


The recommend download(s) will always be Featured on the left column of this page.

Any builds tagged as test or experimental are for beta-testing only.

Zoom Player Users: An automated xy-VSFilter (VSFilter 3.0) installer is now included as an optional download from the Zoom Player Install Center, starting with the release of Zoom Player 8.1 on January 5th, 2012.

CCCP Codec Pack Users: Download xy-VSFilter and replace the VSFilter.dll found in the CCCP Filters directory. Open the CCCP Settings application and enable 'Re-register Filters' on the second page and click Apply. This will cause CCCP to silently reinstall VSFilter with regsvr32. If you ever run into problems running xy-VSFilter with CCCP, we recommend you run 'Reset All Settings' from the CCCP Settings application as your first troubleshooting step before reporting a bug.

Source Code is located at

http://repo.or.cz/w/xy_vsfilter.git

Our developer's ISP in China has blocked him from creating a repository here at code.google.com, so we're using repo.or.cz instead.

Bug Report

If you ever encounter any issue using this mod, you can open a issue here

OR contact me via email yuzhuohuang@qq.com

I'll try to fix it.

Troubleshooting Q&A


Q: Why do I get a crash whenever I open xy-VSFilter's property page?

A: You've forgotten to register VSFilter.dll. Please re-read the Install instructions above.


Q: Which operating systems are supported by xy-VSFilter?

Q: Which CPU instruction sets are required by xy-VSFilter?

A: Supports 32-bit (x86) & 64-bit (x64) versions of Windows XP SP2/SP3, Windows Vista, and Windows 7. Must be used with a 32-bit media player on 64-bit Windows. Requires a CPU with SSE2 support.


Q: I use MPC-HC, why are subtitles not displayed or flicker?

A: xy-VSFilter is not being used. Please check the following common issues:

Make sure you've run regsvr32 on VSFilter.dll as described in the Install section above.

If using MPC-HC, go into Options->Playback and confirm Auto-load subtitles is unchecked/disabled. If you're running MPC-HC on Windows Vista or Win7, you'll also need to confirm that either DirectVobSub (auto-loading version) or DirectVobSub is set to Prefer in MPC-HC External Filters.

For first-time users of madVR, you'll need disable the built-in madVR decoders, which are enabled by default, in order to use VSFilter. When a video is playing in MPC-HC, right-click the video window, Filters -> madVR Renderer -> Edit Settings -> Processing -> Decoding. Uncheck all three boxes in this section and click OK.


Q: I use FFDShow, why do I get a crash whenever opening a video?

A: This is not a xy-VSFilter issue. FFDShow does not support Vertical Padding set to anything other than Original Height (xy-VSFilter default & recommended setting) when a non-default colorspace is used. Either install and use LAV Video which does support the Vertical Padding setting, or open regedit and delete any VSFilter keys located at HKEY_CURRENT_USER\Software\Gabest\ to reset xy-VSFilter settings to defaults.


Q: I use CoreAVC 3.0, why do I get a green bar on the right side of some 10-bit videos?

A: This is not a xy-VSFilter issue. CoreAVC 3.0.1 has a P010 bug with non-mod16 (display width/height not divisible by 16) videos. Either disable P010 output in CoreAVC, or use LAV Video instead.


Q: Why are certain fonts not loading with MKV files muxed with mkvtoolnix >=5.1.0 ?

Q: Why does typesetting sometimes render too big, too small, or get cut off with MKV files muxed with mkvtoolnix >=5.1.0 ?

A: This is not a xy-VSFilter issue. Loading fonts is the splitter's job. mkvtoolnix >=5.1.0 changed the auto-detected MIME types for fonts, while splitters like Haali Media Splitter only support application/x-truetype-font. You can fix this by first demuxing the fonts with mkvextract, and then re-adding them into mkvmerge GUI with application/x-truetype-font manually specified as MIME type.


Q: Why aren't Blu-ray PGS subtitles showing on my cropped/resized video?

A: Blu-ray PGS subtitles often have a fixed resolution of 1920x1080. Unless the encoded video frame matches the PGS subtitle resolution, no subtitles will be displayed. This is a limitation of the VSFilter 2.40 PGS code we are using. You can workaround this problem by padding the video back to 1920x1080 with black bars using using FFDShow's Resize filter or similar.


Q: Why do Blu-ray PGS subtitles appear late with TRUEHD audio streams?

A: This is a limitation of the VSFilter 2.40 PGS code we are using, which is potentially caused by the splitter not giving VSFilter enough time to process subtitles with the tiny TRUEHD packet intervals. You can workaround this problem by re-encoding the TRUEHD audio to FLAC using eac3to.


Q: Performance of 10-bit video playback with madVR + xy-VSFilter is too slow. Anything I can do to make it faster?

A: Unfortunately, P010 10-bit and P016 16-bit formats have a performance overhead of a few percent for both the video decoder and xy-VSFilter. LAV Video should offer the best P010 performance, but if still too slow, disabling P010 and P016 in your decoder and using YV12 output will be fastest. It may seem unintuitive, but having the decoder dither 10-bit 4:2:0 video to 8-bit YV12, is actually faster than outputting 10-bit 4:2:0 as 10-bit P010 or 16-bit P016.


Q: Why won't xy-VSFilter let me override the DEFAULT style of ASS/SSA subtitles like VSFilter 2.39/2.40 does?

Q: Why do certain xy-VSFIlter settings not apply until I re-open the video?

A: We found the instant apply/override behavior extremely annoying with styled subtitles, so it's been disabled until we get around to revamping the functionality into something more flexible.


Q: I use Windows XP, why do I see boxes instead instead of Japanese hiragana/kanji?

A: Windows XP has limited Unicode support, and years after the release of Vista and Win7 which added proper Unicode support, some people have forgotten the requirements to properly support Japanese subtitles on English WinXP. 1) The exact Japanese font(s) specified in the script must either be embedded in the video or installed on the system. 2) The primary English font name for the Japanese font must be used, not the secondary Japanese font name. 3) NOT RECOMMENDED... If neither of the previous requirements are met, as a last resort the end-user can set 'Language for non-Unicode programs' to 'Japanese' which will allow fallback behavior similar to Vista/Win7 and reading secondary Japanese font names from scripts. This will have the unintended side-effect of causing other multilingual programs to show up in Japanese instead of English, which is why I don't recommend this as a general purpose setting unless you can read Japanese.


Related Links

VSFilter 2.39

VSFilter 2.40 Another VSFilter fork Other ASS/SSA subtitle renderer

Powered by Google Project Hosting