summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-03-26 19:48:38 +0200
committerKevin Mitchell <kevmitch@gmail.com>2018-03-26 23:06:51 -0700
commitaf9c6c11339c685c217a8ed5a75bb10049a460c2 (patch)
tree900292460850cd5e55a2616bfb8fd7d77b9dee46
parentcdbd20581e7da8657c4b17784546f2af6c579d36 (diff)
downloadmpv-af9c6c11339c685c217a8ed5a75bb10049a460c2.tar.bz2
mpv-af9c6c11339c685c217a8ed5a75bb10049a460c2.tar.xz
lavc_conv: do not allow libavcodec to drop subtitles with broken UTF-8
libavcodec normally drops subtitle lines that fail a check for invalid UTF-8 (their check is slightly broken too, by the way). This was always annoying and inconvenient, but now there is a mechanism to prevent it from doing this. Requires newst libavcodec.
-rw-r--r--sub/lavc_conv.c1
-rw-r--r--wscript2
2 files changed, 2 insertions, 1 deletions
diff --git a/sub/lavc_conv.c b/sub/lavc_conv.c
index 06b975660f..75c127cc82 100644
--- a/sub/lavc_conv.c
+++ b/sub/lavc_conv.c
@@ -94,6 +94,7 @@ struct lavc_conv *lavc_conv_create(struct mp_log *log, const char *codec_name,
avctx->time_base = (AVRational) {1, 1000};
#if LIBAVCODEC_VERSION_MICRO >= 100
avctx->pkt_timebase = avctx->time_base;
+ avctx->sub_charenc_mode = FF_SUB_CHARENC_MODE_IGNORE;
#endif
priv->avctx = avctx;
priv->extradata = talloc_strndup(priv, avctx->subtitle_header,
diff --git a/wscript b/wscript
index 9675101a6a..442dfc2de9 100644
--- a/wscript
+++ b/wscript
@@ -413,7 +413,7 @@ iconv support use --disable-iconv.",
ffmpeg_pkg_config_checks = [
'libavutil', '>= 56.8.100',
- 'libavcodec', '>= 58.10.100',
+ 'libavcodec', '>= 58.16.100',
'libavformat', '>= 58.9.100',
'libswscale', '>= 5.0.101',
'libavfilter', '>= 7.0.101',