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. |
|
|
Thread Tools | Search this Thread | Display Modes |
30th September 2018, 18:42 | #1005 | Link | |
Registered User
Join Date: Sep 2011
Posts: 78
|
Quote:
I've experienced this only once through the whole episode with many other moments of signs displayed together with dialogs, and everything else was OK. I don't know yet how often and in what exact conditions can this happen. I've cut out and uploaded that part, so maybe you could determine what's happening there. But even now your fix is pretty usable, many thanks again! |
|
30th September 2018, 19:21 | #1006 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
@Telion,
I think the test build has a bug, if cyberbeing implements my tweaked code, it might fix it. Not 100% sure, though. @ikarad, thanks for the video, it helped me reproduce the problem. I'd suggest that you remove the link because it's more than a little sample, so from a copyright point of view it's not a good idea to post it publically. Anyway, the problem is this: XySubFilter connects to madVR first. For DVD subtitles, however, LAV Video Decoder is the one who's responsible and XySubFilter is not involved at all! LAV Video Decoder tries to connect to madVR, too (for subtitles), but the connection gets rejected because XySubFilter is already connected. Because of that LAV Video Decoder can't deliver the subtitles to madVR. This might actually be a timing problem: If XySubFilter connects first, it won't work. If LAV connects first, it will work. That might explain why it works in one bitdepth, but not the other. Or maybe it even varies. In any case, you can "solve" it by disabling XySubFilter, when watching DVDs. Unfortunately I don't really have a better solution available right now. It is on my to do list to support more than one subtitle connection. That would fully solve the problem, but I didn't get around implementing that yet. |
30th September 2018, 20:51 | #1007 | Link | ||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Your tweaked code fixes the flickering back and forth with that sample. Though the original movable line still becomes unmovable when the typesetting appears, and movable again when it disappears. As mentioned in email, it would be preferred if lines could maintain their initial movable/unmovable state throughout their duration. Is that possible? Quote:
When "Load when needed" is set, XySubFilter shouldn't connect to madVR unless there is a connectable subtitle pin or an auto-loaded external subtitle in the directory. Since you previously said it worked when you blocked LavSplitter, I assume that means XySubFilter is connecting to LavSplitter's Subtitle Pin? What does "XySubFilter->Properties->Pin Info" show in those cases? I'm somewhat curious what kind of subtitle pin LavSplitter is exposing for DVD titles if LavVideo is already connected to LavSplitter. Maybe you could try adding Lav Video Decoder to MPC-HC external filters, and setting the merit to Preferred and see if that allows it to enter the graph early enough to fix the issue. Last edited by cyberbeing; 30th September 2018 at 22:00. |
||
30th September 2018, 21:37 | #1008 | Link | |
Registered User
Join Date: Apr 2008
Posts: 546
|
Quote:
|
|
30th September 2018, 21:43 | #1009 | Link | |
Registered User
Join Date: Apr 2008
Posts: 546
|
Quote:
When subs are displayed (for example if I turn off madvr), pin info show nothing but subs are displayed Last edited by ikarad; 30th September 2018 at 21:54. |
|
30th September 2018, 21:55 | #1010 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
"Always Load" by design is set to have XySubFilter be loaded into the graph extremely aggressively by a Video Decoder helper filter with max merit, and always connect to madVR even if no subtitles or connectable pins exists. "Load when Needed" by comparison loads XySubFilter into the graph with a Audio Decoder helper, and will leave the graph if no subtitles or connectable pins exist. |
|
30th September 2018, 22:16 | #1011 | Link | |
Registered User
Join Date: Apr 2008
Posts: 546
|
Quote:
I have set "always load" because on some videos, xysubfilter doesn't launched and xysubfilter has less bug than internal sub renderer of mpc-hc with fonts. Last edited by ikarad; 30th September 2018 at 22:21. |
|
30th September 2018, 22:46 | #1012 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
"Always Load" really shouldn't be needed for general use. It mainly exists for users who want to be able to display subtitles on videos without an Audio Track. It also gives users the option to manually load external subtitles on videos without a subtitle pin. For that second part though, external subtitles will be auto-loaded by XySubFilter set to "Load when needed" if they have an identical name to the video.
In which situations were you finding XySubFilter failing to load when "Load when needed" was set? Last edited by cyberbeing; 30th September 2018 at 22:49. |
30th September 2018, 22:55 | #1013 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
So the only question is which problem is worse: The one reported by Telion? Or the one we may get if we allow the global movable state to switch back and forth, affecting *all* rendered subtitle lines immediately? |
|
30th September 2018, 23:12 | #1014 | Link |
Registered User
Join Date: Sep 2011
Posts: 78
|
I've quickly run the build based on your fix against the same aforementioned episode and didn't notice any apparent problems. Surely that doesn't guarantee anything, so it's up to you guys to decide - I just hope you'll find a way.
|
1st October 2018, 05:59 | #1015 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
The setting is disabled by default specifically, since we don't expect it to handle extremely complex SSA/ASS scripts flawlessly. I'm sure someone could create a script intentionally to cause movable/non-movable to be toggled so frequently that is causes severe readability issues, in which case the feature should just be disabled by the user. Until the behavior is enhanced, we are not expecting it to handle such a situation perfectly. [Edit: Actually, after thinking about this, maybe you could add a feature which limits the frequency that changes from IsMovable=False to IsMovable=True are processed (i.e. ignore Provider IsMovable=True for X seconds after IsMovable=False occurs, user defined?), while always processing IsMovable=True to IsMovable=False instantly. Though I'm unsure if that would be worth the development effort to add, since it would only be a workaround for a problem which likely won't occur often.] Last edited by cyberbeing; 1st October 2018 at 08:07. |
|
1st October 2018, 08:59 | #1016 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
|
|
3rd October 2018, 23:44 | #1017 | Link | |
Registered User
Join Date: Sep 2018
Posts: 1
|
Quote:
My player never freezes, but the subtitles get out-of-sync as the movie goes on. The subtitle delay seems to be dependent on how far I am into the movie, rather than how long the video file has been playing for. Muxing the subs into the file, or using the default MPC-BE subtitle renderer always makes things work fine. |
|
4th October 2018, 08:29 | #1018 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
External PGS support has always had known-issues in XySubFilter ever since it was implemented.
1) External PGS seeking is completely broken and will cause the subs to go way out-of-sync. For non-stop sequential playback starting from frame 0, it generally works acceptably if you never seek. 2) Slow opening of external PGS was a regression caused a long time ago by this commit (Rewrite CTextFile::ReadString, specifically the TextFile.cpp changes) for unknown reasons. Unfortunately, neither of these external PGS bugs were tracked down and fixed by the original developer while he was still around. Last edited by cyberbeing; 4th October 2018 at 08:35. |
|
|