[FFmpeg-devel] [PATCH] Slightly optimize base64 encode.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Fri Jan 20 22:17:28 CET 2012
Move handling of last byte outside of innermost loop.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
libavutil/base64.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/libavutil/base64.c b/libavutil/base64.c
index 9eba58b..213fff1 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';
--
1.7.8.3
More information about the ffmpeg-devel
mailing list