Browse Source

ffmpeg: set sub_text_format to ass (without timing) by default

Fixes Ticket #4783
tags/n3.1
Clément Bœsch 10 years ago
parent
commit
6433618dc0
4 changed files with 69 additions and 67 deletions
  1. +2
    -0
      ffmpeg.c
  2. +1
    -1
      tests/ref/fate/sub-charenc
  3. +33
    -33
      tests/ref/fate/sub-textenc
  4. +33
    -33
      tests/ref/fate/sub-webvttenc

+ 2
- 0
ffmpeg.c View File

@@ -2547,6 +2547,8 @@ static int init_input_stream(int ist_index, char *error, int error_len)
av_log(NULL, AV_LOG_WARNING, "Warning using DVB subtitles for filtering and output at the same time is not fully supported, also see -compute_edt [0|1]\n"); av_log(NULL, AV_LOG_WARNING, "Warning using DVB subtitles for filtering and output at the same time is not fully supported, also see -compute_edt [0|1]\n");
} }


av_dict_set(&ist->decoder_opts, "sub_text_format", "ass", AV_DICT_DONT_OVERWRITE);

if (!av_dict_get(ist->decoder_opts, "threads", NULL, 0)) if (!av_dict_get(ist->decoder_opts, "threads", NULL, 0))
av_dict_set(&ist->decoder_opts, "threads", "auto", 0); av_dict_set(&ist->decoder_opts, "threads", "auto", 0);
if ((ret = avcodec_open2(ist->dec_ctx, codec, &ist->decoder_opts)) < 0) { if ((ret = avcodec_open2(ist->dec_ctx, codec, &ist->decoder_opts)) < 0) {


+ 1
- 1
tests/ref/fate/sub-charenc View File

@@ -16,7 +16,7 @@ Dialogue: 0,0:01:22.17,0:01:24.05,Default,,0,0,0,,Учителят Ли е ту
Dialogue: 0,0:01:45.48,0:01:47.32,Default,,0,0,0,,Шу Лиен! Dialogue: 0,0:01:45.48,0:01:47.32,Default,,0,0,0,,Шу Лиен!
Dialogue: 0,0:01:54.53,0:01:57.24,Default,,0,0,0,,Ли Му Бай е тук. Dialogue: 0,0:01:54.53,0:01:57.24,Default,,0,0,0,,Ли Му Бай е тук.
Dialogue: 0,0:02:05.83,0:02:09.00,Default,,0,0,0,,- Как вървят нещата?\N- Добре. Моля, влезте! Dialogue: 0,0:02:05.83,0:02:09.00,Default,,0,0,0,,- Как вървят нещата?\N- Добре. Моля, влезте!
Dialogue: 0,0:02:23.48,0:02:26.52,Default,,0,0,0,,Му Бай...\NМина много време.
Dialogue: 0,0:02:23.48,0:02:26.53,Default,,0,0,0,,Му Бай...\NМина много време.
Dialogue: 0,0:02:26.73,0:02:28.11,Default,,0,0,0,,Така е. Dialogue: 0,0:02:26.73,0:02:28.11,Default,,0,0,0,,Така е.
Dialogue: 0,0:02:28.57,0:02:31.41,Default,,0,0,0,,- Как върви бизнесът?\N- Добре. Dialogue: 0,0:02:28.57,0:02:31.41,Default,,0,0,0,,- Как върви бизнесът?\N- Добре.
Dialogue: 0,0:02:31.61,0:02:33.90,Default,,0,0,0,,- А ти как си?\N- Добре. Dialogue: 0,0:02:31.61,0:02:33.90,Default,,0,0,0,,- А ти как си?\N- Добре.


+ 33
- 33
tests/ref/fate/sub-textenc View File

@@ -16,13 +16,13 @@ If you see this with the normal font, the player don't (fully) support font face
Hidden Hidden


4 4
00:00:04,501 --> 00:00:07,501
00:00:04,501 --> 00:00:07,500
This text should be small This text should be small
This text should be normal This text should be normal
This text should be big This text should be big


5 5
00:00:07,501 --> 00:00:11,501
00:00:07,501 --> 00:00:11,500
This should be an E with an accent: È This should be an E with an accent: È
日本語 日本語
This text should be bold, italics and underline This text should be bold, italics and underline
@@ -31,7 +31,7 @@ This text should be small and red
This text should be big and brown This text should be big and brown


6 6
00:00:11,501 --> 00:00:14,501
00:00:11,501 --> 00:00:14,500
This line should be bold This line should be bold
This line should be italics This line should be italics
This line should be underline This line should be underline
@@ -40,7 +40,7 @@ Both lines
should be underline should be underline


7 7
00:00:14,501 --> 00:00:17,501
00:00:14,501 --> 00:00:17,500
> >
It would be a good thing to It would be a good thing to
hide invalid html tags that are closed and show the text in them hide invalid html tags that are closed and show the text in them
@@ -49,7 +49,7 @@ Show not opened tags</invalid_tag_not_opened>
< <


8 8
00:00:17,501 --> 00:00:20,501
00:00:17,501 --> 00:00:20,500
and also and also
hide invalid html tags with parameters that are closed and show the text in them hide invalid html tags with parameters that are closed and show the text in them
<invalid_tag_uc par=5>but show un-closed invalid html tags <invalid_tag_uc par=5>but show un-closed invalid html tags
@@ -57,66 +57,66 @@ This text should be showed underlined without problems also: 2<3,5>1,4<6
This shouldn't be underlined This shouldn't be underlined


9 9
00:00:20,501 --> 00:00:21,501
00:00:20,501 --> 00:00:21,500
This text should be in the normal position... This text should be in the normal position...


10 10
00:00:21,501 --> 00:00:22,501
00:00:21,501 --> 00:00:22,500
This text should NOT be in the normal position This text should NOT be in the normal position


11 11
00:00:22,501 --> 00:00:24,501
00:00:22,501 --> 00:00:24,500
Implementation is the same of the ASS tag Implementation is the same of the ASS tag
This text should be at the This text should be at the
top and horizontally centered top and horizontally centered


12 12
00:00:22,501 --> 00:00:24,501
00:00:22,501 --> 00:00:24,500
This text should be at the This text should be at the
middle and horizontally centered middle and horizontally centered


13 13
00:00:22,501 --> 00:00:24,501
00:00:22,501 --> 00:00:24,500
This text should be at the This text should be at the
bottom and horizontally centered bottom and horizontally centered


14 14
00:00:24,501 --> 00:00:26,501
00:00:24,501 --> 00:00:26,500
This text should be at the This text should be at the
top and horizontally at the left top and horizontally at the left


15 15
00:00:24,501 --> 00:00:26,501
00:00:24,501 --> 00:00:26,500
This text should be at the This text should be at the
middle and horizontally at the left middle and horizontally at the left
(The second position must be ignored) (The second position must be ignored)


16 16
00:00:24,501 --> 00:00:26,501
00:00:24,501 --> 00:00:26,500
This text should be at the This text should be at the
bottom and horizontally at the left bottom and horizontally at the left


17 17
00:00:26,501 --> 00:00:28,501
00:00:26,501 --> 00:00:28,500
This text should be at the This text should be at the
top and horizontally at the right top and horizontally at the right


18 18
00:00:26,501 --> 00:00:28,501
00:00:26,501 --> 00:00:28,500
This text should be at the This text should be at the
middle and horizontally at the right middle and horizontally at the right


19 19
00:00:26,501 --> 00:00:28,501
00:00:26,501 --> 00:00:28,500
This text should be at the This text should be at the
bottom and horizontally at the right bottom and horizontally at the right


20 20
00:00:28,501 --> 00:00:31,501
00:00:28,501 --> 00:00:31,500
This could be the most difficult thing to implement This could be the most difficult thing to implement


21 21
00:00:31,501 --> 00:00:50,501
00:00:31,501 --> 00:00:50,500
First text First text


22 22
@@ -124,38 +124,38 @@ First text
Second, it shouldn't overlap first Second, it shouldn't overlap first


23 23
00:00:35,501 --> 00:00:37,501
00:00:35,501 --> 00:00:37,500
Third, it should replace second Third, it should replace second


24 24
00:00:36,501 --> 00:00:50,501
00:00:36,501 --> 00:00:50,500
Fourth, it shouldn't overlap first and third Fourth, it shouldn't overlap first and third


25 25
00:00:40,501 --> 00:00:45,501
00:00:40,501 --> 00:00:45,500
Fifth, it should replace third Fifth, it should replace third


26 26
00:00:45,501 --> 00:00:50,501
00:00:45,501 --> 00:00:50,500
Sixth, it shouldn't be Sixth, it shouldn't be
showed overlapped showed overlapped


27 27
00:00:50,501 --> 00:00:52,501
00:00:50,501 --> 00:00:52,500
TEXT 1 (bottom) TEXT 1 (bottom)


28 28
00:00:50,501 --> 00:00:52,501
00:00:50,501 --> 00:00:52,500
text 2 text 2


29 29
00:00:52,501 --> 00:00:54,501
00:00:52,501 --> 00:00:54,500
Hide these tags: Hide these tags:
also hide these tags: also hide these tags:
but show this: {normal text} but show this: {normal text}


30 30
00:00:54,501 --> 00:01:00,501
00:00:54,501 --> 00:01:00,500
\ N is a forced line break \ N is a forced line break
\ h is a hard space \ h is a hard space
@@ -163,21 +163,21 @@ Normal spaces at the start and at the end of the line are trimmed while hard spa
The\hline\hwill\hnever\hbreak\hautomatically\hright\hbefore\hor\hafter\ha\hhard\hspace.\h:-D The\hline\hwill\hnever\hbreak\hautomatically\hright\hbefore\hor\hafter\ha\hhard\hspace.\h:-D


31 31
00:00:54,501 --> 00:00:56,501
00:00:54,501 --> 00:00:56,500
\h\h\h\h\hA (05 hard spaces followed by a letter) \h\h\h\h\hA (05 hard spaces followed by a letter)
A (Normal spaces followed by a letter) A (Normal spaces followed by a letter)
A (No hard spaces followed by a letter) A (No hard spaces followed by a letter)


32 32
00:00:56,501 --> 00:00:58,501
00:00:56,501 --> 00:00:58,500
\h\h\h\h\hA (05 hard spaces followed by a letter) \h\h\h\h\hA (05 hard spaces followed by a letter)
A (Normal spaces followed by a letter) A (Normal spaces followed by a letter)
A (No hard spaces followed by a letter) A (No hard spaces followed by a letter)
Show this: \TEST and this: \-) Show this: \TEST and this: \-)


33 33
00:00:58,501 --> 00:01:00,501
00:00:58,501 --> 00:01:00,500
A letter followed by 05 hard spaces: A\h\h\h\h\h A letter followed by 05 hard spaces: A\h\h\h\h\h
A letter followed by normal spaces: A A letter followed by normal spaces: A
@@ -188,26 +188,26 @@ A letter followed by no hard spaces: A
^--Forced line break ^--Forced line break


34 34
00:01:00,501 --> 00:01:02,501
00:01:00,501 --> 00:01:02,500
Both line should be strikethrough, Both line should be strikethrough,
yes. yes.
Correctly closed tags Correctly closed tags
should be hidden. should be hidden.


35 35
00:01:02,501 --> 00:01:04,501
00:01:02,501 --> 00:01:04,500
It shouldn't be strikethrough, It shouldn't be strikethrough,
not opened tag showed as text.</s> not opened tag showed as text.</s>
Not opened tag showed as text.</xxxxx> Not opened tag showed as text.</xxxxx>


36 36
00:01:04,501 --> 00:01:06,501
00:01:04,501 --> 00:01:06,500
Three lines should be strikethrough, Three lines should be strikethrough,
yes. yes.
<yyyy>Not closed tags showed as text <yyyy>Not closed tags showed as text


37 37
00:01:06,501 --> 00:01:08,501
00:01:06,501 --> 00:01:08,500
Both line should be strikethrough but Both line should be strikethrough but
the wrong closing tag should be showed</b> the wrong closing tag should be showed</b>



+ 33
- 33
tests/ref/fate/sub-webvttenc View File

@@ -14,12 +14,12 @@ If you see this with the normal font, the player don't (fully) support font face
00:04.500 --> 00:04.500 00:04.500 --> 00:04.500
Hidden Hidden


00:04.501 --> 00:07.501
00:04.501 --> 00:07.500
This text should be small This text should be small
This text should be normal This text should be normal
This text should be big This text should be big


00:07.501 --> 00:11.501
00:07.501 --> 00:11.500
This should be an E with an accent: È This should be an E with an accent: È
日本語 日本語
<b><i><u>This text should be bold, italics and underline</u></i></b> <b><i><u>This text should be bold, italics and underline</u></i></b>
@@ -27,7 +27,7 @@ This text should be small and green
This text should be small and red This text should be small and red
This text should be big and brown This text should be big and brown


00:11.501 --> 00:14.501
00:11.501 --> 00:14.500
<b>This line should be bold</b> <b>This line should be bold</b>
<i>This line should be italics</i> <i>This line should be italics</i>
<u>This line should be underline</u> <u>This line should be underline</u>
@@ -35,7 +35,7 @@ This line should be strikethrough
<u>Both lines <u>Both lines
should be underline</u> should be underline</u>


00:14.501 --> 00:17.501
00:14.501 --> 00:17.500
> >
It would be a good thing to It would be a good thing to
hide invalid html tags that are closed and show the text in them hide invalid html tags that are closed and show the text in them
@@ -43,110 +43,110 @@ hide invalid html tags that are closed and show the text in them
Show not opened tags</invalid_tag_not_opened> Show not opened tags</invalid_tag_not_opened>
< <


00:17.501 --> 00:20.501
00:17.501 --> 00:20.500
and also and also
hide invalid html tags with parameters that are closed and show the text in them hide invalid html tags with parameters that are closed and show the text in them
<invalid_tag_uc par=5>but show un-closed invalid html tags <invalid_tag_uc par=5>but show un-closed invalid html tags
<u>This text should be showed underlined without problems also: 2<3,5>1,4<6</u> <u>This text should be showed underlined without problems also: 2<3,5>1,4<6</u>
This shouldn't be underlined This shouldn't be underlined


00:20.501 --> 00:21.501
00:20.501 --> 00:21.500
This text should be in the normal position... This text should be in the normal position...


00:21.501 --> 00:22.501
00:21.501 --> 00:22.500
This text should NOT be in the normal position This text should NOT be in the normal position


00:22.501 --> 00:24.501
00:22.501 --> 00:24.500
Implementation is the same of the ASS tag Implementation is the same of the ASS tag
This text should be at the This text should be at the
top and horizontally centered top and horizontally centered


00:22.501 --> 00:24.501
00:22.501 --> 00:24.500
This text should be at the This text should be at the
middle and horizontally centered middle and horizontally centered


00:22.501 --> 00:24.501
00:22.501 --> 00:24.500
This text should be at the This text should be at the
bottom and horizontally centered bottom and horizontally centered


00:24.501 --> 00:26.501
00:24.501 --> 00:26.500
This text should be at the This text should be at the
top and horizontally at the left top and horizontally at the left


00:24.501 --> 00:26.501
00:24.501 --> 00:26.500
This text should be at the This text should be at the
middle and horizontally at the left middle and horizontally at the left
(The second position must be ignored) (The second position must be ignored)


00:24.501 --> 00:26.501
00:24.501 --> 00:26.500
This text should be at the This text should be at the
bottom and horizontally at the left bottom and horizontally at the left


00:26.501 --> 00:28.501
00:26.501 --> 00:28.500
This text should be at the This text should be at the
top and horizontally at the right top and horizontally at the right


00:26.501 --> 00:28.501
00:26.501 --> 00:28.500
This text should be at the This text should be at the
middle and horizontally at the right middle and horizontally at the right


00:26.501 --> 00:28.501
00:26.501 --> 00:28.500
This text should be at the This text should be at the
bottom and horizontally at the right bottom and horizontally at the right


00:28.501 --> 00:31.501
00:28.501 --> 00:31.500
This could be the most difficult thing to implement This could be the most difficult thing to implement


00:31.501 --> 00:50.501
00:31.501 --> 00:50.500
First text First text


00:33.500 --> 00:35.500 00:33.500 --> 00:35.500
Second, it shouldn't overlap first Second, it shouldn't overlap first


00:35.501 --> 00:37.501
00:35.501 --> 00:37.500
Third, it should replace second Third, it should replace second


00:36.501 --> 00:50.501
00:36.501 --> 00:50.500
Fourth, it shouldn't overlap first and third Fourth, it shouldn't overlap first and third


00:40.501 --> 00:45.501
00:40.501 --> 00:45.500
Fifth, it should replace third Fifth, it should replace third


00:45.501 --> 00:50.501
00:45.501 --> 00:50.500
Sixth, it shouldn't be Sixth, it shouldn't be
showed overlapped showed overlapped


00:50.501 --> 00:52.501
00:50.501 --> 00:52.500
TEXT 1 (bottom) TEXT 1 (bottom)


00:50.501 --> 00:52.501
00:50.501 --> 00:52.500
text 2 text 2


00:52.501 --> 00:54.501
00:52.501 --> 00:54.500
Hide these tags: Hide these tags:
also hide these tags: also hide these tags:
but show this: {normal text} but show this: {normal text}


00:54.501 --> 01:00.501
00:54.501 --> 01:00.500


\ N is a forced line break \ N is a forced line break
\ h is a hard space \ h is a hard space
Normal spaces at the start and at the end of the line are trimmed while hard spaces are not trimmed. Normal spaces at the start and at the end of the line are trimmed while hard spaces are not trimmed.
The\hline\hwill\hnever\hbreak\hautomatically\hright\hbefore\hor\hafter\ha\hhard\hspace.\h:-D The\hline\hwill\hnever\hbreak\hautomatically\hright\hbefore\hor\hafter\ha\hhard\hspace.\h:-D


00:54.501 --> 00:56.501
00:54.501 --> 00:56.500


\h\h\h\h\hA (05 hard spaces followed by a letter) \h\h\h\h\hA (05 hard spaces followed by a letter)
A (Normal spaces followed by a letter) A (Normal spaces followed by a letter)
A (No hard spaces followed by a letter) A (No hard spaces followed by a letter)


00:56.501 --> 00:58.501
00:56.501 --> 00:58.500
\h\h\h\h\hA (05 hard spaces followed by a letter) \h\h\h\h\hA (05 hard spaces followed by a letter)
A (Normal spaces followed by a letter) A (Normal spaces followed by a letter)
A (No hard spaces followed by a letter) A (No hard spaces followed by a letter)
Show this: \TEST and this: \-) Show this: \TEST and this: \-)


00:58.501 --> 01:00.501
00:58.501 --> 01:00.500


A letter followed by 05 hard spaces: A\h\h\h\h\h A letter followed by 05 hard spaces: A\h\h\h\h\h
A letter followed by normal spaces: A A letter followed by normal spaces: A
@@ -156,22 +156,22 @@ A letter followed by no hard spaces: A


^--Forced line break ^--Forced line break


01:00.501 --> 01:02.501
01:00.501 --> 01:02.500
Both line should be strikethrough, Both line should be strikethrough,
yes. yes.
Correctly closed tags Correctly closed tags
should be hidden. should be hidden.


01:02.501 --> 01:04.501
01:02.501 --> 01:04.500
It shouldn't be strikethrough, It shouldn't be strikethrough,
not opened tag showed as text.</s> not opened tag showed as text.</s>
Not opened tag showed as text.</xxxxx> Not opened tag showed as text.</xxxxx>


01:04.501 --> 01:06.501
01:04.501 --> 01:06.500
Three lines should be strikethrough, Three lines should be strikethrough,
yes. yes.
<yyyy>Not closed tags showed as text <yyyy>Not closed tags showed as text


01:06.501 --> 01:08.501
01:06.501 --> 01:08.500
Both line should be strikethrough but Both line should be strikethrough but
the wrong closing tag should be showed</b> the wrong closing tag should be showed</b>

Loading…
Cancel
Save