Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Subtitles

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th July 2013, 17:15   #1  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,834
xy-VSFilter Project (High Performance VSFilter Compatible Subtitle Filters)

Our project was first publicly released in 2011, with the goal of bringing VSFilter performance closer to that of Libass. We succeeded.
xy-VSFilter has been included in most well known codec packs (CCCP, K-Lite, Shark, KCP), as well as distributed with players like Zoom Player.

Now in 2013, we bring XySubFilter, a collaboration with madshi (developer of madVR) using a brand-new subtitle interface for high quality rendering.
__________

Stable Release
The current xy-VSFilter stable version is: 3.0.0.306 (git 9a21450)
The current XySubFilter stable version is: None

xy-VSFilter .zip Archive (32-bit) | xy-VSFilter .zip Archive (64-bit)

Debug Symbols for XySubFilter 3.0.0.306

Installation Instructions

Troubleshooting Q&A
__________

Preview Release

The current xy-VSFilter beta version is: None
The current XySubFilter beta version is: 3.1.0.746 (git e67b464)

XySubFilter Beta3 Downloads

XySubFilter Beta3 .zip Archive (32-bit) | XySubFilter Beta3 .zip Archive (64-bit)

Debug Symbols for XySubFilter 3.1.0.746

Note: XySubFilter requires a compatible subtitle consumer. We recommend madVR 0.87.5+ or MPC-HC 1.7.2+ (EVR-CP)

After downloading XySubFilter BETA3, you must ensure to run the 'Install' bat (not only replace) or else XySubFilter's autoload helper required for entering the DirectShow graph with external subtitles will not be installed.
__________

What Is Different

Recent Changelog
Old Changelog

Significantly faster overall compared to Libass.
Up to multiple orders of magnitude faster than VSFilter 2.41
  • High resolution subtitle rendering (XySubFilter only)
  • External support for PGS/HDMV subtitles (XySubFilter only)
  • New Style Override Dialog (XySubFilter only)
  • Force Default Style (XySubFilter only)
  • Support U+10000-U+10FFFF UTF-8 encoded character (XySubFilter only)
  • 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

__________

Create New Bug Report

Reported Issues List

Last edited by cyberbeing; 16th October 2015 at 15:20.
cyberbeing is offline   Reply With Quote
Old 19th July 2013, 17:16   #2  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,834
MPC-HC & MPC-BE Users:


Failure to do so with xy-VSFilter (VSFilter.dll) will result in it being blocked and not used.

Failure to do so with XySubFilter will in result in horrible performance since the ISR will be rendering subtitles with madVR at the same time as XySubFilter.
If you are not achieving near-identical performance with XySubFilter+madVR compared to xy-VSFilter+madVR, this is the most likely reason why.

Last edited by cyberbeing; 7th December 2014 at 03:37.
cyberbeing is offline   Reply With Quote
Old 19th July 2013, 17:16   #3  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,834
Reserved
cyberbeing is offline   Reply With Quote
Old 19th July 2013, 17:21   #4  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,069
From what I can see, XySubFilter should combine all advantages of the MPC-HC internal subtitle renderer (high-resolution rendering, DXVA decoding compatability) with all advantages of VSFilter (correct colors, correct drawing of all ASS effects) and all advantages of xy-VSFilter (less CPU consumption etc). So for madVR users it should be the ultimate subtitle rendering solution. Of course rendering subtitles at a higher resolution does come with a cost (slightly higher CPU and GPU consumption), but it shouldn't be too much, I hope...

There's one limitation: The combination of XySubFilter + madVR only works properly if your GPU is able to perform alpha blending in more than 8bit. Some older GPUs (e.g. NVidia 9xxx series up to 2xx or maybe 3xx) can only perform alpha blending up to 10bit. For these GPUs you have to enable the madVR option "use 10bit image buffer instead of 16bit". Newer generation GPUs have no problem performing alpha blending at 16bit. Very very old GPUs might not even be able to do alpha blending at 10bit. If you have such a GPU you may have to stick with xy-VSFilter or the internal MPC-HC subtitle renderer.

Last edited by madshi; 19th July 2013 at 17:38.
madshi is offline   Reply With Quote
Old 19th July 2013, 18:03   #5  |  Link
wanezhiling
Registered User
 
Join Date: Apr 2011
Posts: 1,152
@madshi, can you post an standard ass/ssa sample file and screenshots between 16bit and 10bit/8bit? Then we can be sure if our GPUs is capable of "XySubFilter + madVR".
wanezhiling is offline   Reply With Quote
Old 19th July 2013, 18:04   #6  |  Link
zero9999
Registered User
 
Join Date: Oct 2011
Posts: 52
Quote:
Originally Posted by madshi View Post
There's one limitation: The combination of XySubFilter + madVR only works properly if your GPU is able to perform alpha blending in more than 8bit. Some older GPUs (e.g. NVidia 9xxx series up to 2xx or maybe 3xx) can only perform alpha blending up to 10bit. For these GPUs you have to enable the madVR option "use 10bit image buffer instead of 16bit". Newer generation GPUs have no problem performing alpha blending at 16bit. Very very old GPUs might not even be able to do alpha blending at 10bit. If you have such a GPU you may have to stick with xy-VSFilter or the internal MPC-HC subtitle renderer.
Quote:
<__ar> tp7, with that alpha blending issue, uh i managed to trigger it by changing rgb levels from pc -> auto in the most recent one i built. when i changed it back to pc it worked fine.
...
<__ar> tp7, yeah so changing RGB Level from Auto->PC in xy_sub_filter settings fixes the black box problem.
<__ar> leaving it on tv or auto
<__ar> causes the alpha blending to fail
any idea why this would fix the issue?
zero9999 is offline   Reply With Quote
Old 19th July 2013, 18:13   #7  |  Link
pirlouy
_
 
Join Date: May 2008
Location: France
Posts: 613
I don't manage to get *.srt subtitles to work.

Windows 7 x64
MadVR 0.86.9
Lav Filters 0.58.1
XySubFilter 3.1.0.546
MPC-BE dev 3073 32bits

I don't have the green arrow in systray. Which filter is responsible to detect .srt file (with the same name as the video file) ?

Embed subtitles are working though. FYI, I have uninstalled xy-VSFilter in order to have only XySubFilter.
__________________
Windows 10 x64; 1080p 60" TV, GTX 750; madVR, LAV Filters, MPC-BE

Last edited by pirlouy; 19th July 2013 at 18:15.
pirlouy is offline   Reply With Quote
Old 19th July 2013, 18:25   #8  |  Link
Soukyuu
Registered User
 
Soukyuu's Avatar
 
Join Date: Apr 2012
Posts: 169
I can confirm setting RGB output level to PC fixes the opaque box problem for me (260GTX) without having to switch to 10bit image buffer.

edit: how well threaded is XySubFilter? I'm still having dropped frames on some overstyled subtitles, without my CPU hitting 50% usage. Shouldn't be an I/O problem since I also tested playing back the same video from a RAM disk and it stuttered just as bad. madvr's OSD shows subtitle queue dropping to 0 so XySubFilter should be the one causing it. My CPU is an AMD Phenom II X4 970BE@4GHz.

Last edited by Soukyuu; 19th July 2013 at 18:46.
Soukyuu is offline   Reply With Quote
Old 19th July 2013, 18:47   #9  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,239
Quote:
Originally Posted by wanezhiling View Post
@madshi, can you post an standard ass/ssa sample file and screenshots between 16bit and 10bit/8bit? Then we can be sure if our GPUs is capable of "XySubFilter + madVR".
There is no big difference visible that you can easily screenshot between 16 or 10-bit, you would notice if your GPU is not compatible when the subtitles have a black opaque box around them.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 19th July 2013 at 18:53.
nevcairiel is offline   Reply With Quote
Old 19th July 2013, 19:10   #10  |  Link
wanezhiling
Registered User
 
Join Date: Apr 2011
Posts: 1,152
Quote:
Originally Posted by nevcairiel View Post
You would notice if your GPU is not compatible when the subtitles have a black opaque box around them.
Thx, got it.


http://forum.doom9.org/showpost.php?...postcount=1398
@cyberbeing, why XySubFilter is still in filter chains under such situations?
wanezhiling is offline   Reply With Quote
Old 19th July 2013, 19:19   #11  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 621
Great, is big new. Thanks for your effort.
__________________
Intel i7-6700K + Noctua NH-D15 + Z170A XPower G. Titanium + Kingston HyperX Savage DDR4 2x8GB + Nvidia GTX750 2GB DDR5 + SSD Vertex 4 256 GB + Antec EDG750 80 Plus Gold Mod + Corsair 780T Graphite
Overdrive80 is offline   Reply With Quote
Old 19th July 2013, 19:41   #12  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,567
Is it possible to make an option for XySubFilter to apply blur to the subtitles before they are rendered on the screen? Possibly with selectable strength.
For example I'd like to have some equivalent to gaussing blur with radius 0.1-0.5 (edit: well, this is for 1080p screen, for bigger screens I probably want more)
Or this is should be request for the consumer?

Last edited by Keiyakusha; 19th July 2013 at 19:47.
Keiyakusha is offline   Reply With Quote
Old 19th July 2013, 20:06   #13  |  Link
Nevilne
Registered User
 
Join Date: Aug 2010
Posts: 134
^
Use 8x8 bilinear Subpixel Position
Nevilne is offline   Reply With Quote
Old 19th July 2013, 20:32   #14  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,567
Quote:
Originally Posted by Nevilne View Post
^
Use 8x8 bilinear Subpixel Position
I don't see how it helps.
8x8 8x8bilinear
0.5gauss <- I want this and possibility to set it stronger or weaker.

Edit: and yes I tried setting layout res to something like 576p and checking "render at video res", this is what I'll use probably, but it adds aliasing.

Last edited by Keiyakusha; 19th July 2013 at 20:51.
Keiyakusha is offline   Reply With Quote
Old 19th July 2013, 20:34   #15  |  Link
Warlock
Registered User
 
Join Date: Mar 2012
Posts: 29
Quote:
Originally Posted by madshi View Post
From what I can see, XySubFilter should combine all advantages of the MPC-HC internal subtitle renderer (high-resolution rendering, DXVA decoding compatability) with all advantages of VSFilter (correct colors, correct drawing of all ASS effects) and all advantages of xy-VSFilter (less CPU consumption etc). So for madVR users it should be the ultimate subtitle rendering solution. Of course rendering subtitles at a higher resolution does come with a cost (slightly higher CPU and GPU consumption), but it shouldn't be too much, I hope...

There's one limitation: The combination of XySubFilter + madVR only works properly if your GPU is able to perform alpha blending in more than 8bit. Some older GPUs (e.g. NVidia 9xxx series up to 2xx or maybe 3xx) can only perform alpha blending up to 10bit. For these GPUs you have to enable the madVR option "use 10bit image buffer instead of 16bit". Newer generation GPUs have no problem performing alpha blending at 16bit. Very very old GPUs might not even be able to do alpha blending at 10bit. If you have such a GPU you may have to stick with xy-VSFilter or the internal MPC-HC subtitle renderer.
The GeForce 8600GT has alpha blending?
This here is another question I have. When the XySubFilter is installed, looks like this:

http://i.imgur.com/Qr8zLGo.jpg

When the xy-VSFilter looks like this:

http://i.imgur.com/q3XaV74.jpg

It's supposed to be so even with the XySubFilter installed? Another thing I noticed was regarding the pin info generated by lav. When the xy-VSFilter is installed, the pin info output equals pin info input, in the case of the video image is 720p. Already in XySubFilter, Pin out information generated is 2048x720. Is that correct?

Last edited by Warlock; 19th July 2013 at 21:30.
Warlock is offline   Reply With Quote
Old 19th July 2013, 20:38   #16  |  Link
TheShadowRunner
Registered User
 
TheShadowRunner's Avatar
 
Join Date: Feb 2004
Posts: 399
Thank you for this beta of xySubFilter, I just tested and have a couple of questions / bugs to report:
My setup: WinXP SP3, Zoom Player Max, xySubFilter beta 3.1.0.546 (removed all traces of previous XYVSfilter/VSFilter), madVR 0.86.9, newest Haali 1.13.138.14.

Bugs:
1. The subtitles never display when they are embedded!? (for exemple all the matroska files I tested).
madVR does report "subtitle queue 7-8/8" so I know the filter is connected.
On the property page of xySubFilter, Language is empty and grayed out, like if it wasn't able to load the subtitle track at all.
"Loading when needed" with "External" and "Embedded" checked.
Please see: xysubfilterbug.png
External subtitles are picked up and work correctly.

2. The "PAR compensation" setting doesn't stick. I chose "Accurate Size", restart playback, and it's reset to "Disabled". (even tried to force automatic_par_compensation to reg_dword value 3, no go)

Questions:
3. What is the purpose (if any) of the option "Render To Original Video Size" when "Use Original Video Size" is selected in the dropdown menu?

4. What is the difference between "Auto" and "Guess" settings for the YCbCr matrix ?
Please let me know!
__________________
XP SP3 / Geforce 8500 / Zoom Player
TheShadowRunner is offline   Reply With Quote
Old 19th July 2013, 20:53   #17  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 4,624
at 1: try lavfilter haali is so old the page is even down.
huhn is offline   Reply With Quote
Old 19th July 2013, 20:55   #18  |  Link
TheShadowRunner
Registered User
 
TheShadowRunner's Avatar
 
Join Date: Feb 2004
Posts: 399
Quote:
Originally Posted by huhn View Post
at 1: try lavfilter haali is so old the page is even down.
This very Haali was released a month ago. And it works perfectly fine with XY-VSFilter/VSFilter, that's not it.
(edit: as you can see on the picture i linked, the subtitle track was auto-selected correctly in XYSubFilter context menu)
__________________
XP SP3 / Geforce 8500 / Zoom Player

Last edited by TheShadowRunner; 19th July 2013 at 21:07.
TheShadowRunner is offline   Reply With Quote
Old 19th July 2013, 21:08   #19  |  Link
DarkSpace
Registered User
 
Join Date: Oct 2011
Posts: 204
Quote:
Originally Posted by TheShadowRunner View Post
PAR compensation
PAR Compensation broke, use Layout Resolution instead (set it to anamorphic-corrected video size).
Quote:
Originally Posted by TheShadowRunner View Post
What is the purpose (if any) of the option "Render To Original Video Size" when "Use Original Video Size" is selected in the dropdown menu?
Those two are totally separate things.
Render To Original Video Size makes XySubFilter output subtitles at video resolution instead of using the scaled output resolution.
Use Original Video Size sets the Layout Resolution to use the original video size.
Quote:
Originally Posted by TheShadowRunner View Post
What is the difference between "Auto" and "Guess" settings for the YCbCr matrix ?
Auto uses the ASS script's YCbCr Matrix flag if it's present and otherwise defaults to using TV.601 (or, for PC-range content, PC.601) YUV values.
Guess chooses the YUV values to use by resolution, although I don't know if it attempts to read the YCbCr Matrix field first.
DarkSpace is offline   Reply With Quote
Old 19th July 2013, 21:13   #20  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 4,624
that's "normal" that xysubfilter is loaded with every file at least for me. it's maybe a bug.

when i start a file without subtitle i get the same filter like you with "(xySubFilter connected with madvr, none)".

i just tryed haali and it works after i block xyvobsub.
huhn is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.