charset_conv: "auto" encoding detection now uses uchardet.

If mpv is not built with uchardet, "enca" is still the fallback default
encoding detection.
This commit is contained in:
Jehan 2015-08-04 14:06:22 +02:00 committed by wm4
parent aca591ded3
commit e7897dfb9b
2 changed files with 8 additions and 5 deletions

View File

@ -1438,10 +1438,11 @@ Subtitles
``--sub-codepage=<codepage>``
If your system supports ``iconv(3)``, you can use this option to specify
the subtitle codepage. By default, ENCA will be used to guess the charset.
If mpv is not compiled with ENCA, ``UTF-8:UTF-8-BROKEN`` is the default,
which means it will try to use UTF-8, otherwise the ``UTF-8-BROKEN``
pseudo codepage (see below).
the subtitle codepage. By default, uchardet will be used to guess the
charset. If mpv is not compiled with uchardet, enca will be used.
If mpv is compiled with neither uchardet nor enca, ``UTF-8:UTF-8-BROKEN``
is the default, which means it will try to use UTF-8, otherwise the
``UTF-8-BROKEN`` pseudo codepage (see below).
The default value for this option is ``auto``, whose actual effect depends
on whether ENCA is compiled.

View File

@ -193,7 +193,9 @@ const char *mp_charset_guess(void *talloc_ctx, struct mp_log *log, bstr buf,
bool use_auto = strcasecmp(user_cp, "auto") == 0;
if (use_auto) {
#if HAVE_ENCA
#if HAVE_UCHARDET
user_cp = "uchardet";
#elif HAVE_ENCA
user_cp = "enca";
#else
user_cp = "UTF-8:UTF-8-BROKEN";