summaryrefslogtreecommitdiff
path: root/libavutil/base64.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-20 22:16:30 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-20 23:28:31 +0100
commitd60d718c49133544bb6e11d073ca48a5e22b0eb6 (patch)
treeee32c22e6eb0d440654b1be3bb9bd44e907f0f7d /libavutil/base64.c
parent6af4c9814adb9fd87d2de723473c76e53e2c2b37 (diff)
Slightly optimize base64 encode.
Move handling of last byte outside of innermost loop. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavutil/base64.c')
-rw-r--r--libavutil/base64.c4
1 files changed, 3 insertions, 1 deletions
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';