summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-08-15 23:24:53 +0200
committerwm4 <wm4@nowhere>2013-08-15 23:40:04 +0200
commit8b245c4d4b644e404b2e776b6c0ea42d27fa2005 (patch)
tree754e88b2fcdae1fc97a7b17dc33871f6adf6127e
parent3e6ed769357aa317bab5866da39cf0704e62fd5e (diff)
downloadmpv-8b245c4d4b644e404b2e776b6c0ea42d27fa2005.tar.bz2
mpv-8b245c4d4b644e404b2e776b6c0ea42d27fa2005.tar.xz
sd_lavc_conv: don't check AV_CODEC_PROP_TEXT_SUB flag
Not actually useful. This would break whenever a new text subtitle format would be added, which requires a binary->text transformation. (mov_text is one such format; disable it.) In general, we would have to know which packet formats are binary, which we don't, so the only reasonable way to handle this is a white list.
-rwxr-xr-xconfigure11
-rw-r--r--sub/sd_lavc_conv.c10
2 files changed, 3 insertions, 18 deletions
diff --git a/configure b/configure
index b179a4a1ce..06f871b32b 100755
--- a/configure
+++ b/configure
@@ -2677,16 +2677,6 @@ if test "$_vdpau" = yes ; then
fi
fi
-echocheck "libavcodec AV_CODEC_PROP_TEXT_SUB API"
-_avcodec_has_text_flag_api=no
-statement_check libavcodec/avcodec.h 'int x = AV_CODEC_PROP_TEXT_SUB' && _avcodec_has_text_flag_api=yes
-if test "$_avcodec_has_text_flag_api" = yes ; then
- def_avcodec_has_text_flag_api='#define HAVE_AV_CODEC_PROP_TEXT_SUB 1'
-else
- def_avcodec_has_text_flag_api='#define HAVE_AV_CODEC_PROP_TEXT_SUB 0'
-fi
-echores "$_avcodec_has_text_flag_api"
-
echocheck "libavcodec avcodec_enum_to_chroma_pos API"
_avcodec_has_chroma_pos_api=no
@@ -3225,7 +3215,6 @@ $def_zlib
$def_avutil_has_refcounting
$def_avutil_has_qp_api
$def_avcodec_new_vdpau_api
-$def_avcodec_has_text_flag_api
$def_avcodec_has_chroma_pos_api
$def_libpostproc
$def_libavdevice
diff --git a/sub/sd_lavc_conv.c b/sub/sd_lavc_conv.c
index 0c8160495c..ee783f08a4 100644
--- a/sub/sd_lavc_conv.c
+++ b/sub/sd_lavc_conv.c
@@ -40,20 +40,16 @@ static bool supports_format(const char *format)
const AVCodecDescriptor *desc = avcodec_descriptor_get(cid);
if (!desc)
return false;
-#if HAVE_AV_CODEC_PROP_TEXT_SUB
- // These are documented to support AVSubtitleRect->ass.
- return desc->props & AV_CODEC_PROP_TEXT_SUB;
-#else
+ // These are known to support AVSubtitleRect->ass.
const char *whitelist[] =
- {"text", "ass", "ssa", "mov_text", "srt", "subrip", "microdvd", "mpl2",
- "jacosub", "pjs", "sami", "realtext", "subviewer", "subviewer1",
+ {"text", "ass", "ssa", "srt", "subrip", "microdvd", "mpl2",
+ "jacosub", "pjs", "sami", "realtext", "subviewer", "subviewer1",
"vplayer", "webvtt", 0};
for (int n = 0; whitelist[n]; n++) {
if (strcmp(format, whitelist[n]) == 0)
return true;
}
return false;
-#endif
}
// Disable style definitions generated by the libavcodec converter.