PDA

View Full Version : DirectVobSub feature request


Yusaku
8th January 2002, 00:18
Hi Gabest,

I have (yet another) feature request ^_^

Would it be possible to check, say on every resume of paused video (as much as possible, but not affecting performance), whether the subfile has changed; and if so reload subtitles?

It would really help, especially as an alternative mode of timing/editing SSA files. (SSA's preview sucks)

And, speaking of SSA: there is now a small few-bytes-changed bugfix release of subtitler filter, could you incorporate it to current sources? (I could do it, but that wouldn't help with old sources anyway....). Especially the "}\n" parser bug is annoying sometimes...

And last, but not least: when using DVobSub in prebuffer mode, http://www.anime.cz/temp/omy.ssa rendered on DivX4 video (any) crashes at 6:00. Works well without prebuffering, though.

gabest
8th January 2002, 13:14
Originally posted by Yusaku
Would it be possible to check, say on every resume of paused video (as much as possible, but not affecting performance), whether the subfile has changed; and if so reload subtitles?okAnd, speaking of SSA: there is now a small few-bytes-changed bugfix release of subtitler filter, could you incorporate it to current sources? (I could do it, but that wouldn't help with old sources anyway....). Especially the "}\n" parser bug is annoying sometimes...What's this bug about exactly? I think I forgot it...And last, but not least: when using DVobSub in prebuffer mode, http://www.anime.cz/temp/omy.ssa rendered on DivX4 video (any) crashes at 6:00. Works well without prebuffering, though. Fixed.

Rasqual
8th January 2002, 18:16
Originally posted by Yusaku
And, speaking of SSA: there is now a small few-bytes-changed bugfix release of subtitler filter, could you
incorporate it to current sources? (I could do it, but that wouldn't help with old sources anyway....). Especially the
"}\n" parser bug is annoying sometimes...

Which version of Subtitler?
Methods seem to have changed drastically from 2.0 to 2.1 (therefore 2.2 also), so I guess it would be hard to integrate all this new stuff in DVS.
int subtitler_init(FilterActivation *fa, const FilterFunctions *ff);
void subtitler_deinit(FilterActivation *fa, const FilterFunctions *ff); etc.

I'd love to ask Avery Lee for the why of this abrupt change of interface.

---
Rasqual

Yusaku
8th January 2002, 18:54
What's this bug about exactly? I think I forgot it...

well, it will crash *sometimes*. It is mainly problem with converted scripts, but no big deal - on lines like
{\i1}This is in italic{\i0}\NAnd this is not...

Just changing it to
{\i1}This is in italic{\i0} \NAnd this is not...
does the trick

Plus, it'll crash in one occurence in 50

Which version of Subtitler?
Methods seem to have changed drastically from 2.0 to 2.1 (therefore 2.2 also), so I guess it would be hard to integrate all this new stuff in DVS.


there is 2.1 in DVobSub. 2.0>2.1 was a major rewrite (or - W9x bugfix release ^_^), but 2.1>2.2 is really just bugfix

Rasqual
8th January 2002, 19:01
Originally posted by Yusaku

there is 2.1 in DVobSub. 2.0>2.1 was a major rewrite (or - W9x bugfix release ^_^), but 2.1>2.2 is really just bugfix
Huh? Open Main.h and it still declares this:
int subtitler_init(SubtitlerFilterData& sfd);
void subtitler_deinit(SubtitlerFilterData& sfd);

which are from Subtitler 2.0 if I remember well.

Yusaku
8th January 2002, 19:09
which are from Subtitler 2.0 if I remember well.
Well, dunno - ask Gabest ^_^. But features definitely are there (working DBCS in W9x, "\{" construct).
I admit I thought this is enough of a confirmation and didn't really check the sources too throroughly. Well, it does not matter too much, and it is working really nice even now...

gabest
9th January 2002, 08:37
Originally posted by Rasqual

which are from Subtitler 2.0 if I remember well.

I had to change those arguments since dvobsub can't provide virtualdub's "FilterActivation *fa" and "const FilterFunctions *ff" arguments :)

gabest
9th January 2002, 09:08
Almost forgot, the auto-reloading thing is also done. Fortunately, windows can notify applications about several kind of file changes, so I don't have to periodically poll modification times on files :)

Yusaku
9th January 2002, 18:10
Sugoii, thanks a lot. Looking forward to the new version :).

Ad filechange notify: I know, but I haven't seen working example of this anywhere. I'll be happy to learn something new from you sources again ^_^

Yusaku
11th January 2002, 19:55
Ad omy.ssa crash at 6:00:

woow - something changed. Before, it just crashed, but now I got a bluescreen (or rather XP did reset...) ^_^

Actually I think it is the first time after I installed XP, so... :eek: :D

gabest
11th January 2002, 22:15
LOL, ok, it is still not good, but this time it was another problem and was not my fault.

See Rasterizer.cpp at Rasterizer::Draw(...):
dst = (unsigned long *)((char *)dst + pitch * (bh-y)) + x;That (bh-y) is the problem. If y = 0 (something is at the very top of the picture) then we address just beyond our memory by one row.

Before you ask, I've already mailed Avery Lee about this :)

Yusaku
12th January 2002, 15:59
LOL :).

still, it is strange - I don't think I am drawing something at the absolute top; and it doesn't crash with prebuffering turned off. Because of the second, I thought it shouldn't be in SSA rendering itselves.

gabest
12th January 2002, 21:32
Originally posted by Yusaku
I don't think I am drawing something at the absolute top;Dialogue: Marked=0,0:07:14.68,0:07:18.08,*Default,s,0396,0110,0355,,{\fs16}Sky colored \n\nseedand it doesn't crash with prebuffering turned off. Because of the second, I thought it shouldn't be in SSA rendering itselves.

I think whether it is crashing depends on the importace of data after the bitmap, which gets overwritten. Strangely, for the first time I tested, it wasn't doing anything bad for me either in non-buffered mode, but yesterday it did cause a memory protection error in both ways. I even tried reinstalling older versions of dvobsub and all of them had this problem.

Yusaku
13th January 2002, 22:01
Awww, my fault.

When I did On Your Mark encode, I split it to two files (first part of LD is 16:9 musicvideo, second 4:3 extra); and now I was harvesting the results - I forgot to delete last few lines of autoconverted (JacoSub>SSA conversion sucks...) script.

The reason it worked fine in realtime mode is, of course, that it never got so far in rendering (10 frames ahead makes some 0.4sec of video without prebuffer, ne?) - sorry for confusion