From d60d718c49133544bb6e11d073ca48a5e22b0eb6 Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Fri, 20 Jan 2012 22:16:30 +0100 Subject: Slightly optimize base64 encode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move handling of last byte outside of innermost loop. Signed-off-by: Reimar Döffinger --- libavutil/base64.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavutil/base64.c') diff --git a/libavutil/base64.c b/libavutil/base64.c index 5a7ab4c977..ef9bfc95dd 100644 --- a/libavutil/base64.c +++ b/libavutil/base64.c @@ -93,8 +93,10 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size) do { *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f]; i_shift -= 6; - } while (i_shift > 6 || (bytes_remaining == 0 && i_shift > 0)); + } while (i_shift > 6); } + if (i_shift > 0) + *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f]; while ((dst - ret) & 3) *dst++ = '='; *dst = '\0'; -- cgit v1.2.3