waddou / libass

Automatically exported from code.google.com/p/libass
1 stars 0 forks source link

intruducing \r style parsing breaks some files #115

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I played a file with ass subtitles in mplayer. In mplayer with libass .10.0 it 
works, with .10.1 and .10.2 it fails to style some text complaning style nd15 
is missing.

Extracting the subtitles and removing all occurences of (\rnd15) and \rnd15 
fixes the issue.

Maybe the fallback for \r styles could be updated to work with such files?

Original issue reported on code.google.com by hramr...@gmail.com on 24 Dec 2013 at 11:54

GoogleCodeExporter commented 8 years ago
Does it work as you expect in (any variant of) VSFilter? Can you post the ASS 
file? Just the Styles section and the affected line is enough.

Original comment by chortos@inbox.lv on 24 Dec 2013 at 9:01

GoogleCodeExporter commented 8 years ago
afaik VSFilter is a DShow dll and I have no idea how to use that.

as for affected file it's like this - probably some insane cut&paste, parts are 
even Vietnamese or what:

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, 
OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, 
Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, 
MarginV, Encoding
Style: edit 2-furigana,Microsoft 
Uighur,25,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,1,
2,10,10,10,1
Style: edit 1-furigana,Microsoft 
Uighur,50,&H0092CDDA,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,1,
2,10,10,10,1
Style: 
Nanoha/fate/rein-furigana,Katana,40,&H0093EEFB,&H0093EEFB,&H004E1233,&H00000000,
0,0,0,0,100,100,0,0,1,1.5,1,8,10,10,20,1
Style: rein kara 
2-furigana,Katana,25,&H00FFFFFF,&H00010000,&H004E1233,&H00000000,0,0,0,0,100,100
,0,0,1,1.5,1,2,50,50,30,1
Style: chrono 
kara-furigana,Katana,25,&H00B09A4A,&H00FFFFFF,&H00FFFFFF,&H00000000,0,0,0,0,100,
100,0,0,1,1.5,1,8,10,10,20,1
Style: Arf 
kara'-furigana,Katana,25,&H004A64B0,&H00FFFFFF,&H00F2F2F6,&H00000000,0,0,0,0,100
,100,0,0,1,1.5,1,8,10,10,20,1
Style: 
Zafira-furigana,Katana,30,&H00993124,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,10
0,100,0,0,1,1,1,8,10,10,10,1
Style: Yuuno kara-furigana,Hobo 
Std,40,&H0065D66C,&H00FFFFFF,&H00F2F2F6,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,8
,10,10,20,1
Style: Rein' 
kara-furigana,Katana,25,&H00BF467D,&H00000000,&H00000000,&H00000000,0,0,0,0,100,
100,0,0,1,1.5,1,8,10,10,20,1
Style: 
Fate-furigana,Katana,25,&H0093EEFB,&H00FFFFFF,&H0077E1E0,&H00000000,0,0,0,0,100,
100,0,0,1,1.5,1,8,10,10,20,1
Style: 
Rein'-furigana,Katana,25,&H000A0A10,&H00FFFFFF,&H009E1E6D,&H00000000,0,0,0,0,100
,100,0,0,1,1.5,1,8,10,10,20,1
Style: Nanoha-furigana,Hobo 
Std,40,&H00D125E7,&H00FFFFFF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,8
,10,10,20,1
Style: trad2-furigana,Hobo 
Std,30,&H00FFFFFF,&H000000FF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,8
,50,50,30,1
Style: Main-pensée 2-furigana,Hobo 
Std,30,&H00FFFFFF,&H000000FF,&H005A5A67,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,2
,50,50,30,1
Style: 
Shamal-furigana,Katana,25,&H008AE1A5,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,10
0,100,0,0,1,1,1,8,10,10,30,1
Style: Nanoha/fate-furigana,Hobo 
Std,40,&H00FFFFFF,&H0093EEFB,&H0093EEFB,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,8
,10,10,20,1
Style: Fate 
kara'-furigana,Katana,25,&H00FFFFFF,&H00FFFFFF,&H0093EEFB,&H00000000,0,0,0,0,100
,100,0,0,1,1.5,1,8,10,10,20,1
Style: Note-furigana,MV 
Boli,30,&H00FFFFFF,&H000000FF,&H00BF467D,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,
8,10,10,30,1
Style: Main-pensée-furigana,Hobo 
Std,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,-1,0,0,100,100,0,0,1,1.5,1,
2,50,50,30,1
Style: 
signum-furigana,Katana,25,&H00A88DD1,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,10
0,100,0,0,1,1,1,8,10,10,30,1
Style: Signum 
kara-furigana,Katana,30,&H00A88DD1,&H00FFFFFF,&H00FFFFFF,&H00000000,0,0,0,0,100,
100,0,0,1,1,1,8,10,10,10,1
Style: Nanoha kara'-furigana,Hobo 
Std,40,&H00FFFFFF,&H009D7420,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,8
,10,10,20,1
Style: Eisen/Vita 
kara'-furigana,Katana,30,&H008BAADF,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100
,100,0,0,1,1,1,8,10,10,10,1
Style: 
Eisen/Vita-furigana,Katana,25,&H008BAADF,&H00FFFFFF,&H00000000,&H00000000,0,0,0,
0,100,100,0,0,1,1,1,8,10,10,30,1
Style: Main-internal-furigana,Hobo 
Std,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,-1,0,0,100,100,0,0,1,1.5,1,
8,50,50,30,1
Style: Alarme 
2-furigana,Arial,25,&H00FCE79E,&H000000FF,&H00FCE79E,&H00000000,0,0,0,0,100,100,
0,0,1,1,0,2,10,10,10,1
Style: 
Alarme-furigana,Arial,25,&H00C5BC93,&H000000FF,&H00C5BC93,&H00000000,0,0,0,0,100
,100,0,0,1,1,0,2,10,10,10,1
Style: 
date-furigana,Arial,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,
100,0,0,1,1,1,2,10,10,10,1
Style: 
Trad-furigana,Arial,30,&H00FFFFFF,&H000000FF,&H32000000,&H00000000,0,0,0,0,100,1
00,0,0,1,1,0,2,10,10,20,1
Style: 
keitai-furigana,Arial,30,&H00735D4D,&H000000FF,&H00000000,&H00000000,-1,0,0,0,10
0,100,0,0,1,0,0,2,10,10,10,1
Style: Main-furigana,Hobo 
Std,30,&H00FFFFFF,&H000000FF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,1.5,1,2
,50,50,30,1
Style: 
Default-furigana,Arial,12,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,10
0,100,0,0,1,1.2,1.2,2,16,16,14,1
Style: 
Default,Arial,24,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0
,1,2.4,2.4,2,16,16,14,1
Style: Main,Hobo 
Std,60,&H00FFFFFF,&H000000FF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,3,2,2,5
0,50,30,1
Style: 
keitai,Arial,60,&H00735D4D,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0
,1,0,0,2,10,10,10,1
Style: 
Trad,Arial,60,&H00FFFFFF,&H000000FF,&H32000000,&H00000000,0,0,0,0,100,100,0,0,1,
2,0,2,10,10,20,1
Style: 
date,Arial,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1
,2,2,2,10,10,10,1
Style: 
Alarme,Arial,50,&H00C5BC93,&H000000FF,&H00C5BC93,&H00000000,0,0,0,0,100,100,0,0,
1,2,0,2,10,10,10,1
Style: Alarme 
2,Arial,50,&H00FCE79E,&H000000FF,&H00FCE79E,&H00000000,0,0,0,0,100,100,0,0,1,2,0
,2,10,10,10,1
Style: Main-internal,Hobo 
Std,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,-1,0,0,100,100,0,0,1,3,2,8,
50,50,30,1
Style: 
Eisen/Vita,Katana,50,&H008BAADF,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100,100
,0,0,1,2,2,8,10,10,30,1
Style: Eisen/Vita 
kara',Katana,60,&H008BAADF,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,
1,2,2,8,10,10,10,1
Style: Nanoha kara',Hobo 
Std,80,&H00FFFFFF,&H009D7420,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,1
0,10,20,1
Style: Signum 
kara,Katana,60,&H00A88DD1,&H00FFFFFF,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1
,2,2,8,10,10,10,1
Style: 
signum,Katana,50,&H00A88DD1,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0
,1,2,2,8,10,10,30,1
Style: Main-pensée,Hobo 
Std,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,-1,0,0,100,100,0,0,1,3,2,2,
50,50,30,1
Style: Note,MV 
Boli,60,&H00FFFFFF,&H000000FF,&H00BF467D,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,
10,10,30,1
Style: Fate 
kara',Katana,50,&H00FFFFFF,&H00FFFFFF,&H0093EEFB,&H00000000,0,0,0,0,100,100,0,0,
1,3,2,8,10,10,20,1
Style: Nanoha/fate,Hobo 
Std,80,&H00FFFFFF,&H0093EEFB,&H0093EEFB,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,1
0,10,20,1
Style: 
Shamal,Katana,50,&H008AE1A5,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0
,1,2,2,8,10,10,30,1
Style: Main-pensée 2,Hobo 
Std,60,&H00FFFFFF,&H000000FF,&H005A5A67,&H00000000,0,0,0,0,100,100,0,0,1,3,2,2,5
0,50,30,1
Style: trad2,Hobo 
Std,60,&H00FFFFFF,&H000000FF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,5
0,50,30,1
Style: Nanoha,Hobo 
Std,80,&H00D125E7,&H00FFFFFF,&H00916120,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,1
0,10,20,1
Style: 
Rein',Katana,50,&H000A0A10,&H00FFFFFF,&H009E1E6D,&H00000000,0,0,0,0,100,100,0,0,
1,3,2,8,10,10,20,1
Style: 
Fate,Katana,50,&H0093EEFB,&H00FFFFFF,&H0077E1E0,&H00000000,0,0,0,0,100,100,0,0,1
,3,2,8,10,10,20,1
Style: Rein' 
kara,Katana,50,&H00BF467D,&H00000000,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1
,3,2,8,10,10,20,1
Style: Yuuno kara,Hobo 
Std,80,&H0065D66C,&H00FFFFFF,&H00F2F2F6,&H00000000,0,0,0,0,100,100,0,0,1,3,2,8,1
0,10,20,1
Style: 
Zafira,Katana,60,&H00993124,&H00FFFFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0
,1,2,2,8,10,10,10,1
Style: Arf 
kara',Katana,50,&H004A64B0,&H00FFFFFF,&H00F2F2F6,&H00000000,0,0,0,0,100,100,0,0,
1,3,2,8,10,10,20,1
Style: chrono 
kara,Katana,50,&H00B09A4A,&H00FFFFFF,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1
,3,2,8,10,10,20,1
Style: rein kara 
2,Katana,50,&H00FFFFFF,&H00010000,&H004E1233,&H00000000,0,0,0,0,100,100,0,0,1,3,
2,2,50,50,30,1
Style: 
Nanoha/fate/rein,Katana,80,&H0093EEFB,&H0093EEFB,&H004E1233,&H00000000,0,0,0,0,1
00,100,0,0,1,3,2,8,10,10,20,1
Style: edit 1,Microsoft 
Uighur,100,&H0092CDDA,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2
,2,10,10,10,1
Style: edit 2,Microsoft 
Uighur,50,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,
2,10,10,10,1

Affected lines (probable - I don't really understand the format):

Comment: 1,0:00:00.00,0:00:00.00,Eisen/Vita kara',lead-in,0,0,0,template 
char,!char_counter(1)!!retime("star
t2syl",-1500+(ci[1]-1)*42,0)!{\an5\fad(420,0)\1c&HFFFFFF&\move(!$center-100!,$mi
ddle,$center,$middle,0,350)\
fscx60\fscy60\frx180\t(0,700,0.8,\frx0\fscx100\fscy100)}
Comment: 0,0:00:00.00,0:00:00.00,Eisen/Vita kara',lead-in shade,0,0,0,template 
char,!char_counter(2)!!retime
("start2syl",-800+(ci[2]-1)*42,0)!{\an5\pos($center,$middle)\fad(420,0)\bord3\bl
ur4\1a&HFF&\3c&H000000&}
Comment: 2,0:00:00.00,0:00:00.00,Eisen/Vita kara',lead-out,0,0,0,template 
char,!retime("syl2end",-$dur,-$syl
n*150+syl.i*150)!{\an5\pos($center,$middle)\bord1\blur1\1img(fire_texture.png,!s
et_temp("ofset",math.random(
200))!,0)\3img(fire_texture.png,!temp.ofset!,0)\t(!line.duration-300!,!line.dura
tion!,\alpha&HFF&)\t(\rnd15)
}
Comment: 0,0:00:00.00,0:00:00.00,Eisen/Vita kara',lead-out shade,0,0,0,template 
char,!retime("syl2end",-$dur
,-$syln*150+syl.i*150)!{\an5\pos($center,$middle)\t(0,33,\bord8\blur3\fscx120\fs
cy120)\t(33,$dur,\bord3\blur
4\fscx100\fscy100)\fad(0,300)\bord3\blur4\1a&HFF&\3c&HFFFFFF&\t(\rnd15)}
Comment: 3,0:00:00.00,0:00:00.00,Eisen/Vita kara',flame effect,0,0,0,template 
char notext noblank,!maxloop(m
ath.ceil((line.duration-$start-$syln*150+syl.i*150)/1000)*15)!!retime("syl2end",
-$dur+math.random($dur/2)+(math.floor((j-1)/15))*1000,-$syln*150+syl.i*150+1000)
!{\org($center,!$middle-20*x_rat!)\rnd15\fad(200,800)\blur!2*x_rat!\alpha&H60&\1
c!_G.ass_color(_G.HSV_to_RGB(set_temp("H",math.random(30,56)),1,1))!\fscx!set_te
mp("scx1",math.random(60,150)*x_rat)!\fscy!temp.scx1!\t(0,33,\fscx!set_temp("scx
2",math.random(120,240))!\fscy!temp.scx2!)\t(33,500,\fscx!temp.scx1!\fscy!temp.s
cx1!)\t(0,!math.random(200,1000)!,\1c!_G.ass_color(_G.HSV_to_RGB(temp.H,0.3,1))!
)\t(500,!math.random(700,1000)!,\alpha&HFF&\fscx!set_temp("scx",math.random(40,2
40)*x_rat)!\fscy!temp.scx!\fr!math.random(-20,20)!)\an5\bord0\shad0\move(!$cente
r+math.random(-16,16)*x_rat!,!$middle+math.random(-10,10)*x_rat!,!$center+math.r
andom(-10,10)*x_rat!,!$middle-$sheight*2+math.random(-10,40)*x_rat!,!math.random
(0,150)!,1000)\3c&HFFFFFF&}{\p1}!shape[1]!

...

Comment: 0,0:16:54.49,0:17:12.05,Eisen/Vita 
kara',,0,0,0,karaoke,{\k17}{\k0}{\k27}Ra{\k45}ke{\k625}ten{\k833
}... {\k30}Ha{\k180}mmer {\k0}!

Original comment by hramr...@gmail.com on 24 Dec 2013 at 11:16

GoogleCodeExporter commented 8 years ago
Those lines are the (commented) template lines used to generate the effects, 
not the lines being rendered.

\rnd is a vsfiltermod tag. Normal (xy-)VSFilter parses it as libass does, but 
uses the line's style rather than displaying an error.

Original comment by tgoyne on 24 Dec 2013 at 11:33

GoogleCodeExporter commented 8 years ago
> Normal (xy-)VSFilter parses it as libass does, but uses the line's style 
rather than displaying an error.

So does libass in 0.10.0 and in 0.10.2 (in 0.10.1 it fell back to the Default 
style instead). 0.10.2 also displays an error message, but it does handle the 
error just like VSFilter does—unless there's a bug hiding somewhere.

hramrach: to add to what tgoyne said, the lines that are rendered start with 
"Dialogue:". However, it sounds like you're trying to render a VSFilterMod 
script, which is very much expected to fail with anything other than 
VSFilterMod itself.

Original comment by chortos@inbox.lv on 24 Dec 2013 at 11:50

GoogleCodeExporter commented 8 years ago
indeed, .10.2 fixes this. It has different soname so although I installed it it 
was not used by the media player.

Thanks

Original comment by hramr...@gmail.com on 25 Dec 2013 at 1:17

GoogleCodeExporter commented 8 years ago

Original comment by nfxjfg@googlemail.com on 14 Jan 2014 at 5:40