aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2016-01-10 16:19:50 +0100
committerClément Bœsch <u@pkh.me>2016-01-10 16:28:14 +0100
commit6d32628bf34972bf6b600c6560a25c329afb62f8 (patch)
tree593d60e7204bb67e0d756d37f94ec880043a74ee
parentd86d7b2486cd5c31db8e820d8a89554abf19567e (diff)
downloadffmpeg-6d32628bf34972bf6b600c6560a25c329afb62f8.tar.gz
lavc/ccaption_dec: improve default style
Use monospaced font, and a black box outline.
-rw-r--r--libavcodec/ass.c7
-rw-r--r--libavcodec/ass.h3
-rw-r--r--libavcodec/ccaption_dec.c10
-rw-r--r--libavcodec/microdvddec.c3
-rw-r--r--libavcodec/movtextdec.c3
-rw-r--r--tests/ref/fate/sub-cc2
6 files changed, 20 insertions, 8 deletions
diff --git a/libavcodec/ass.c b/libavcodec/ass.c
index 336c3084e4..56d452f701 100644
--- a/libavcodec/ass.c
+++ b/libavcodec/ass.c
@@ -30,7 +30,7 @@ int ff_ass_subtitle_header(AVCodecContext *avctx,
const char *font, int font_size,
int color, int back_color,
int bold, int italic, int underline,
- int alignment)
+ int border_style, int alignment)
{
avctx->subtitle_header = av_asprintf(
"[Script Info]\r\n"
@@ -59,7 +59,7 @@ int ff_ass_subtitle_header(AVCodecContext *avctx,
"%d,%d,%d,0," /* Bold, Italic, Underline, StrikeOut */
"100,100," /* Scale{X,Y} */
"0,0," /* Spacing, Angle */
- "1,1,0," /* BorderStyle, Outline, Shadow */
+ "%d,1,0," /* BorderStyle, Outline, Shadow */
"%d,10,10,10," /* Alignment, Margin[LRV] */
"0\r\n" /* Encoding */
@@ -69,7 +69,7 @@ int ff_ass_subtitle_header(AVCodecContext *avctx,
!(avctx->flags & AV_CODEC_FLAG_BITEXACT) ? AV_STRINGIFY(LIBAVCODEC_VERSION) : "",
ASS_DEFAULT_PLAYRESX, ASS_DEFAULT_PLAYRESY,
font, font_size, color, color, back_color, back_color,
- -bold, -italic, -underline, alignment);
+ -bold, -italic, -underline, border_style, alignment);
if (!avctx->subtitle_header)
return AVERROR(ENOMEM);
@@ -86,6 +86,7 @@ int ff_ass_subtitle_header_default(AVCodecContext *avctx)
ASS_DEFAULT_BOLD,
ASS_DEFAULT_ITALIC,
ASS_DEFAULT_UNDERLINE,
+ ASS_DEFAULT_BORDERSTYLE,
ASS_DEFAULT_ALIGNMENT);
}
diff --git a/libavcodec/ass.h b/libavcodec/ass.h
index 14a1ed2c16..621a7ba7f3 100644
--- a/libavcodec/ass.h
+++ b/libavcodec/ass.h
@@ -40,6 +40,7 @@
#define ASS_DEFAULT_ITALIC 0
#define ASS_DEFAULT_UNDERLINE 0
#define ASS_DEFAULT_ALIGNMENT 2
+#define ASS_DEFAULT_BORDERSTYLE 1
/** @} */
/**
@@ -61,7 +62,7 @@ int ff_ass_subtitle_header(AVCodecContext *avctx,
const char *font, int font_size,
int color, int back_color,
int bold, int italic, int underline,
- int alignment);
+ int border_style, int alignment);
/**
* Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS
diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c
index e3cdcc1669..ca497e5de2 100644
--- a/libavcodec/ccaption_dec.c
+++ b/libavcodec/ccaption_dec.c
@@ -145,7 +145,15 @@ static av_cold int init_decoder(AVCodecContext *avctx)
/* taking by default roll up to 2 */
ctx->mode = CCMODE_ROLLUP;
ctx->rollup = 2;
- ret = ff_ass_subtitle_header_default(avctx);
+ ret = ff_ass_subtitle_header(avctx, "Monospace",
+ ASS_DEFAULT_FONT_SIZE,
+ ASS_DEFAULT_COLOR,
+ ASS_DEFAULT_BACK_COLOR,
+ ASS_DEFAULT_BOLD,
+ ASS_DEFAULT_ITALIC,
+ ASS_DEFAULT_UNDERLINE,
+ 3,
+ ASS_DEFAULT_ALIGNMENT);
if (ret < 0) {
return ret;
}
diff --git a/libavcodec/microdvddec.c b/libavcodec/microdvddec.c
index 9035892205..46d6d1473b 100644
--- a/libavcodec/microdvddec.c
+++ b/libavcodec/microdvddec.c
@@ -370,7 +370,8 @@ static int microdvd_init(AVCodecContext *avctx)
}
return ff_ass_subtitle_header(avctx, font_buf.str, font_size, color,
ASS_DEFAULT_BACK_COLOR, bold, italic,
- underline, alignment);
+ underline, ASS_DEFAULT_BORDERSTYLE,
+ alignment);
}
AVCodec ff_microdvd_decoder = {
diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
index 257d5986f5..8d0e8141d3 100644
--- a/libavcodec/movtextdec.c
+++ b/libavcodec/movtextdec.c
@@ -413,7 +413,8 @@ static int mov_text_init(AVCodecContext *avctx) {
if (ret == 0) {
return ff_ass_subtitle_header(avctx, m->d.font, m->d.fontsize, m->d.color,
m->d.back_color, m->d.bold, m->d.italic,
- m->d.underline, m->d.alignment);
+ m->d.underline, ASS_DEFAULT_BORDERSTYLE,
+ m->d.alignment);
} else
return ff_ass_subtitle_header_default(avctx);
}
diff --git a/tests/ref/fate/sub-cc b/tests/ref/fate/sub-cc
index e8086a8527..c60c6606b2 100644
--- a/tests/ref/fate/sub-cc
+++ b/tests/ref/fate/sub-cc
@@ -6,7 +6,7 @@ PlayResY: 288
[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: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0
+Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text