View Full Version : xy-VSFilter Project (High Performance VSFilter Compatible Subtitle Filters)
sneaker_ger
19th August 2017, 17:34
With MPC-HC's internal subtitle renderer start the movie, then "Play">"Subtitle Track">"Default Style". You can set default style in options. (I don't remember if possible with xy-vsfilter.)
vivan
19th August 2017, 21:28
"Force Default" in the main tab.
It won't help if they are using style override tags (\c), sadly.
gfxnow
29th December 2017, 07:11
Is there an alternate for this considering that this has been abandoned?
Ryushin
29th December 2017, 18:44
I'm trying to find a solution that will fix vsfilter's issue with 10 bit color. Will xy-VSFilter handle 10 bit color without having to dither down to 8 bit color? Shame that this software has been abandoned.
Skibicki
29th December 2017, 19:20
I'm not sure about 10-bit but you can try AssFilterMod. It can use EVR Custom Presenter and other renderers, not EVR.
https://github.com/Blitzker/assfiltermod
https://forum.doom9.org/showthread.php?t=173573
Ryushin
30th December 2017, 14:52
I'm not sure about 10-bit but you can try AssFilterMod. It can use EVR Custom Presenter and other renderers, not EVR.
https://github.com/Blitzker/assfiltermod
https://forum.doom9.org/showthread.php?t=173573
I'll look into those. Forgot to mention that I need it to work with avisynth scripts to render vobsub/pgs subtitles directly into the video.
sneaker_ger
30th December 2017, 19:34
Render the subtitles over alpha, then overlay them onto 10 bit video. Shouldn't be too hard.
Ryushin
30th December 2017, 21:27
Actually, it looks like xy-vsfilter worked perfectly for me. I plugged it into the Ripbot264 avs script and it rendered the subtitles for a 4K UHD Disc.
Ryushin
22nd January 2018, 22:24
Well, it looks like I was mistaken. xy-vsfilter did not work after all. I can't seem to find the options for xy-vsfilter for running inside a avs script. Though I have not read all 42 pages of this forum. Is there any other source of documentation I can read?
sneaker_ger
22nd January 2018, 22:30
https://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm + MaskSub() to render over/with alpha
pinterf
26th February 2018, 10:02
Preliminary: recently modded xy-vsfilter to work natively with YUV420P10 and YUV420P16.
Question: did someone use this filter (3.0.0.306) successfully in a multithreaded way (E.g. Avisynth+ MT_MULTI_INSTANCE)?
It's freezing for me and I can neither see the protecting mechanism in the source.
madshi
26th February 2018, 10:20
Which recently modded version are you referring to?
pinterf
26th February 2018, 10:39
Two days ago I was playing with the existing source, replaced avisynth header to a current avs+ one, fixed some things to compile under VS2017 and put the 10/16 bit support in it for AVS+. Not published, will put on my git.
madshi
26th February 2018, 10:50
Ah, I see!
amayra
1st April 2018, 22:16
where can i get that ?
pinterf
2nd April 2018, 11:42
where can i get that ?
I will do a small clean up and put it to git when I have time. Or PM for test build.
iakoboss7
5th April 2018, 02:09
cant you post it here?
pinterf
5th April 2018, 19:11
O.k., here comes my mod. If it works for you, enjoy.
Download xy-VSFilter 3.0.0.400 (https://github.com/pinterf/xy-VSFilter/releases/tag/3.0.0.400)
- Origin of mod source: https://github.com/Cyberbeing/xy-VSFilter/releases/tag/3.0.0.306
- This project: https://github.com/pinterf/xy-VSFilter/
- Forum: https://forum.doom9.org/showthread.php?t=168282
- Rebuilt with Visual Studio 2017
- Avisynth+ headers
- Native support for YUV420P10 and YUV420P16 formats in Avisynth filter TextSub
Internal conversion to and from P010 and P016 with SSE2 support
- Still doesn't work in any MT mode (I think): automatically registers itself as MT_SERIALIZED to prevent troubles
- Avisynth filter MaskSub: new pixel_type (default: "RGB32") parameter. Can be set to "YUV420P10" or "YUV420P16"
- Versioning: 3.0.0 prefix is kept, build number goes from 400 and up for my mod, set manually in src/filters/transform/vsfilter/version_in.h
- All credits to the previous authors.
iakoboss7
10th April 2018, 15:49
thank you for your work, any chance you can integrate that into "XySubFilter Beta3" ( 3.1.0.746 ) that is the latest version?
huhn
10th April 2018, 23:54
most of the changes are basic for xy subfilter because it don't render the subs on the frame the renderer is doing that.
pinterf
11th April 2018, 10:22
thank you for your work, any chance you can integrate that into "XySubFilter Beta3" ( 3.1.0.746 ) that is the latest version?
I have no insight to the history of this project, nor what it does aside being an Avs plugin. I have simply took the last version which I was said that worked as an Avisynth plugin and tried to build and mod it. Are there really important fixes? (the code history and project arrangement I'm seeing on github is not clear to me)
ryrynz
11th April 2018, 11:51
Yeah there are some good additions and fixes since that release.
Features & Changes
Add support for reporting if the subtitles are Bitmaps or Movable
Support Animated Vobsub
Update Boost, UnRAR, and log4cplus Libraries
Significantly improved parsing speed
Slightly faster \clip \iclip
Support Yasm 1.3.0
Query the EVR Presenter for ISubRenderConsumer
Update Boost & UnRAR Libraries
Bug Fixes
Fix override tag argument splitting
Add ISubRenderFrame to NonDelegatingQueryInterface
Certain PGS subtitles display an opaque background instead of transparent.
Avoid loading .sub as MicroDVD text when VOBSUB .idx present
Revert Insane Border Support (temporary crash fix)
Rare crash during border rendering
Allow 'Auto' to disable internal RGB matrix correction when needed
Various minor parser issues
Do not flag SSA/ASS subtitles as movable
Fix typo which broke \r tag in 3.1.0.744
pinterf
11th April 2018, 17:50
O.k., I didn't want to spend any more time on this project but fortunately it was easier than I had thought.
So. Source differences were synchronized (on file level, no git was involved, just the published sources; the old project and the commits were not clear to me), then made it work again under Visual Studio 2017.
Download xy-VSFilter / XySubFilter v3.1.0.800 (https://github.com/pinterf/xy-VSFilter/releases/tag/3.1.0.800)
This build has two dlls now. VsFilter.dll and XySubFilter.dll.
Please report if something is wrong, test it first, I can give no warranty that this XySubFilter works 100% the same way as it worked in the old builds. You are the ones who have all the knowledge of the subtitling world.
Please report the troubles, differences and also the fact when it works.
Happy testing ;)
# xy-VSFilter v3.1.0.800 (20180411)
https://github.com/pinterf/xy-VSFilter/
A modification by pinterf:
- xy-vsfilter 3.0.0.306 (https://github.com/Cyberbeing/xy-VSFilter/releases/tag/3.0.0.306) =>
pfmod:VS2017 + VSFilter-TextSub 10/16bit Avisynth extension =>
apply XySubfilter-3.1.0.746<->3.0.0.306 file differences =>
make VSFilter work again as an Avisynth plugin
- Forum: https://forum.doom9.org/showthread.php?t=168282
- Other useful link: https://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm
- All credits to the previous authors.
Info:
- Package contains VSFilter.dll and XySubFilter.dll (x86 and x64 versions)
- VSFilter.DLL: Included Avisynth filters (name and parameter signature)
VobSub "cs"
TextSub "c[file]s[charset]i[fps]f[vfr]s"
TextSubSwapUV "b"
MaskSub "[file]s[width]i[height]i[fps]f[length]i[charset]i[vfr]s[pixel_type]s"
- Warning by the XySubFilter-3.1.0.746 beta authors (on forum's 1st post, from 2015):
"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."
Change log:
- v3.1.0.800 (20180411)
-- apply XySubFilter-3.1.0.746<->xy-VSFilter 3.0.0.306 file differences
-- get it work again under VS2017
-- make VSFilter work again as an Avisynth plugin
-- Versioning: 3.1.0 prefix is kept, build number goes from 800 and up for my mod manually in src/filters/transform/vsfilter/version_in.h
- v3.0.0.400 (20180405) (work in February 2018)
-- Get the last known xy-vsfilter version (3.0.0.306) which worked as the Avisynth plugin.
Plan: have a native 10/16 bit compatible Avisynth TextSub filter.
-- xy-vsfilter 3.0.0.306 rebuilt with Visual Studio 2017
-- Avisynth+ headers
-- Native support for YUV420P10 and YUV420P16 formats in Avisynth filter TextSub and probably VobSub.
Internal conversion to and from P010 and P016 with SSE2 support
-- Still doesn't work in any MT mode (I think): automatically registers itself as MT_SERIALIZED to prevent troubles
-- Avisynth filter MaskSub: new pixel_type (default: "RGB32") parameter. Can be set to "YUV420P10" or "YUV420P16"
-- Versioning: 3.0.0 prefix kept, build number goes from 400 and up for my mod manually in src/filters/transform/vsfilter/version_in.h
YxP
11th April 2018, 20:28
Incredible this project lives! Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaim very happy about this :)
amayra
11th April 2018, 23:02
Incredible this project lives! Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaim very happy about this :)
nope all what he did is make VSFilter work again as an avs+ plugin
there no change in playback side
i wish if he did this with assfiltermod instead
Atak_Snajpera
12th April 2018, 10:51
nope all what he did is make VSFilter work again as an avs+ plugin
there no change in playback side
i wish if he did this with assfiltermod instead
That's not true. Old VSfilter didn't support 10bit color.
amayra
12th April 2018, 14:12
That's not true. Old VSfilter didn't support 10bit color.
neither avisynth vanilla
Atak_Snajpera
12th April 2018, 16:56
neither avisynth vanilla
and...? Thanks to printerf we have working VSfilter in 10 bit color space so do not write that "all what he did is make VSFilter work again as an avs+ plugin". He did more than that!
sneaker_ger
12th April 2018, 18:31
@pinterf
Madshi made a small fix for italics in srt. I assume it is not included?
https://forum.doom9.org/showpost.php?p=1830772&postcount=48444
pinterf
13th April 2018, 08:05
@pinterf
Madshi made a small fix for italics in srt. I assume it is not included?
https://forum.doom9.org/showpost.php?p=1830772&postcount=48444
I don't think it's included. Nevertheless the link contains only binaries (two DLLs).
amayra
13th April 2018, 10:15
and...? Thanks to printerf we have working VSfilter in 10 bit color space so do not write that "all what he did is make VSFilter work again as an avs+ plugin". He did more than that!
well my mistake what i mean there no change in playback side this is answer for YxP
and this project is without question is dead unless someone decide to rewrite spaghetti code
clsid
13th April 2018, 10:42
Do these changes use existing 10bit code of xy-VSFilter, or would it also be applicable to vanilla VSFilter?
sneaker_ger
13th April 2018, 11:49
While xy-vsfilter could overlay over 10 bit was there actually 10 bit subtitle rendering in the first place?
@pinterf
I pinged madshi about the source/patch.
huhn
13th April 2018, 19:37
xy vsfilter was able to render 10 bit correctly outside of AVS not sure about AVS.
tuanden0
15th April 2018, 08:37
Can I use xy-vsfilter for Vapoursynth?
sneaker_ger
15th April 2018, 11:16
There are mods for it:
https://github.com/HomeOfVapourSynthEvolution/VSFilter/releases
https://www.nmm-hd.org/newbbs/viewtopic.php?t=1823
https://github.com/Tsuki/VapourSynth-XY-VSFilter
But the VapourSynth package already includes other plugins for rendering subtitles, so vsfilter is only needed if you are somehow not happy with the result of those:
http://www.vapoursynth.com/doc/plugins/subtext.html
tuanden0
16th April 2018, 03:04
@sneaker_ger
thank you very much
cyberbeing
18th April 2018, 22:14
@pinterf
Madshi made a small fix for italics in srt. I assume it is not included?
https://forum.doom9.org/showpost.php?p=1830772&postcount=48444
Sorry that was my fault, I was busy and forgot to push it. The build from that post is outdated since it had some issues with ASS subtitles, which was fixed a week later. The latest madshi patch is now on the RC4 branch.
I'll need to figure out what to do about making a new release soon with at least the SRT italic fix. We got sidetracked with possible HDR rendering support for awhile, but that never materialized (see discussion on Libass issue tracker). pinterf if you could make a few pull requests on github at some point for changes you'd consider stable, that would be helpful.
One thing to note though, is I remember that xy-VSFilter built from the XySubFilter branches had some bugs. It's been so long now, but I believe some of the rendering features we were using in XySubFilter didn't function correctly in xy-VSFilter builds, and I also remember crashes. It would be nice if the XySubFilter codebase could be stabilized for xy-VSFilter builds, but unfortunately it was something which was never done before the project died.
That said, I'd suggest treating pinterf's xy-VSFilter v3.1.0.800 as extremely experimental at least in terms of directshow usage, compared to his xy-VSFilter 3.0.0.400 build which is based on a stable branch and should be safe.
hello_hello
13th May 2018, 08:31
pinterf,
I'm having an issue with VSFilter 3.1.0.800.
Full XP discloser: I'm running XP.
If I have VSFilter in a script it results in the following error when I try to preview it in MeGFUI or AvsPmod:
LoadPlugin: unable to load "C:\Program Files\MeGUI\tools\avisynth_plugin\VSFilter.dll", error=0x3e6
If I open the script with MPC-HC, VitrualDub, or VirtualDubMod there's no error and the subtitles are displayed.
VSFilter 3.0.0.306 works fine, but I haven't tried any other more recent versions.
Any idea what the cause might be?
Cheers.
gfxnow
9th June 2018, 08:47
I'll need to figure out what to do about making a new release soon with at least the SRT italic fix.
Best news of the year!
FranceBB
5th August 2018, 00:28
Download xy-VSFilter / XySubFilter v3.1.0.800 (https://github.com/pinterf/xy-VSFilter/releases/tag/3.1.0.800)
-- Native support for YUV420P10 and YUV420P16 formats in Avisynth filter TextSub and probably VobSub.
thank you very much indeed for making it available in 10bit and 16bit!!
I don't have to do this anymore:
#Hardsub 8bit
s16 = last
DitherPost (mode=-1)
TextSub("Ep1.ass")
#Overlay 8bit subs to 16bit video
Dither_convert_8_to_16 ()
s16.Dither_limit_dif16 (last, thr=1.0, elast=2.0)
Thank you!! :D
pinterf,
I'm having an issue with VSFilter 3.1.0.800.
Full XP discloser: I'm running XP.
If I have VSFilter in a script it results in the following error when I try to preview it in AvsPmod:
LoadPlugin: unable to load "C:\Program Files\MeGUI\tools\avisynth_plugin\VSFilter.dll", error=0x3e6
That's because when he compiled he didn't target XP in Visual Studio 2017.
The dll calls DeleteProcThreadAttributeList and InitializeProcThreadAttributeList that are missing in the XP kernel.
pinterf
6th August 2018, 09:38
for hello_hello's problem:
That's because when he compiled he didn't target XP in Visual Studio 2017.
The dll calls DeleteProcThreadAttributeList and InitializeProcThreadAttributeList that are missing in the XP kernel.
Actually vsfilter was compiled with the v141_xp toolset with the usual /Zc:threadSafeInit- option.
FranceBB
6th August 2018, 20:25
That's weird, 'cause I tried to run it on an XP virtual machine just to be sure and it doesn't recognise the command "TextSub()" with the new DLL, 'cause it fails to load and when I opened it with Dependency Walker I noticed these two missing function calls.
(And by the way, I have all the C++ Redistributable on my VM 2005 - 2017 and it's an AVX2 capable CPU, although XP supports up to SSE4.2 only).
Siso
28th August 2018, 12:18
Can anyone help me with xy-vsfilter 3.0.0.400, when I watch 1.85:1 movies the subtitles are in high quality. But when I watch 2.35:1 or 2.40:1 movies, the subtitles quality is low...
sneaker_ger
28th August 2018, 13:06
xy-vsfilter renders the subtitles at the video resolution. So if you want to increase quality you would have to upscale (at least the chroma) in the chain before the picture reaches xy-vsfilter.
But it is more straight-forward to use a subtitle renderer that renders at the display resolution to begin with like e.g. the internal subtitle renderer (ISR) of MPC-HC or XySubFilter.
jmonier
28th August 2018, 13:31
Can anyone help me with xy-vsfilter 3.0.0.400, when I watch 1.85:1 movies the subtitles are in high quality. But when I watch 2.35:1 or 2.40:1 movies, the subtitles quality is low...
Are you using madVR as the renderer and LAV Splitter? xy-vsfilter interfaces directly with them and then should not have the problem you are seeing.
Siso
28th August 2018, 14:19
Are you using madVR as the renderer and LAV Splitter? xy-vsfilter interfaces directly with them and then should not have the problem you are seeing.
Yes I'm using madvr and lav filters.
Siso
28th August 2018, 14:20
xy-vsfilter renders the subtitles at the video resolution. So if you want to increase quality you would have to upscale (at least the chroma) in the chain before the picture reaches xy-vsfilter.
But it is more straight-forward to use a subtitle renderer that renders at the display resolution to begin with like e.g. the internal subtitle renderer (ISR) of MPC-HC or XySubFilter.
Is the bug with the italics has been fixed in xysubfilter?
sneaker_ger
28th August 2018, 15:17
Madshi released a fixed version for it. I think it's still not in pinterf's fork, though.
https://forum.doom9.org/showthread.php?p=1839284#post1839284
Siso
28th August 2018, 19:53
Madshi released a fixed version for it. I think it's still not in pinterf's fork, though.
https://forum.doom9.org/showthread.php?p=1839284#post1839284
Thank you for the link.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.