[FFmpeg-devel] [PATCH] mp3enc: write ISO8859-1 instead of UTF-16 when possible
Reimar Döffinger
Reimar.Doeffinger
Sat Feb 5 21:37:21 CET 2011
On Sat, Feb 05, 2011 at 09:28:22PM +0100, Anton Khirnov wrote:
> +static int string_is_ascii(const uint8_t *str)
> +{
> + int ret = 1;
> + do {
> + if (*str > 127)
> + ret = 0;
It's quite silly and inefficient to continue parsing after that.
> + } while (*str++);
> + return ret;
In general it would be short/simpler/faster as
while (*str && *str < 128) str++;
return !*str;
> @@ -92,6 +102,12 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2
> if (url_open_dyn_buf(&dyn_buf) < 0)
> return AVERROR(ENOMEM);
>
> + /* check if the strings are ASCII-only and use UTF16 only if
> + * they're not */
> + if (enc == ID3v2_ENCODING_UTF16BOM && string_is_ascii(str1))
> + if ((str2 && string_is_ascii(str2)) || !str2)
enc == ID3v2_ENCODING_UTF16BOM && string_is_ascii(str1) &&
(!str2 || string_is_ascii(str2))
More information about the ffmpeg-devel
mailing list