[FFmpeg-cvslog] base64: simplify end handling in av_base64_encode()

Michael Niedermayer git at videolan.org
Sat Jan 21 00:34:12 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Jan 20 22:56:18 2012 +0100| [ea4da9489595ba531ef57c75e583303556b728e5] | committer: Michael Niedermayer

base64: simplify end handling in av_base64_encode()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ea4da9489595ba531ef57c75e583303556b728e5
---

 libavutil/base64.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/libavutil/base64.c b/libavutil/base64.c
index 26e28b7..cd3cb9e 100644
--- a/libavutil/base64.c
+++ b/libavutil/base64.c
@@ -99,14 +99,11 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
         i_bits = (i_bits << 8) + *in++;
         bytes_remaining--;
         i_shift += 8;
-
-        do {
-            *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f];
-            i_shift -= 6;
-        } while (i_shift > 6);
     }
-    if (i_shift > 0)
+    while (i_shift > 0) {
         *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f];
+        i_shift -= 6;
+    }
     while ((dst - ret) & 3)
         *dst++ = '=';
     *dst = '\0';



More information about the ffmpeg-cvslog mailing list