OSDN Git Service

Use AV_BASE64_SIZE() macro
authorHoward Chu <hyc@highlandsun.com>
Fri, 4 Jun 2010 01:15:41 +0000 (01:15 +0000)
committerHoward Chu <hyc@highlandsun.com>
Fri, 4 Jun 2010 01:15:41 +0000 (01:15 +0000)
Originally committed as revision 23462 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/libtheoraenc.c
libavformat/httpauth.c
libavutil/base64.c

index 2dc45a9..b502942 100644 (file)
@@ -101,7 +101,7 @@ static int get_stats(AVCodecContext *avctx, int eos)
         memcpy(h->stats + h->stats_offset, buf, bytes);
         h->stats_offset += bytes;
     } else {
-        int b64_size = ((h->stats_offset + 2) / 3) * 4 + 1;
+        int b64_size = AV_BASE64_SIZE(h->stats_offset);
         // libtheora generates a summary header at the end
         memcpy(h->stats, buf, bytes);
         avctx->stats_out = av_malloc(b64_size);
index 799f84d..47db46b 100644 (file)
@@ -294,7 +294,7 @@ char *ff_http_auth_create_response(HTTPAuthState *state, const char *auth,
         return NULL;
 
     if (state->auth_type == HTTP_AUTH_BASIC) {
-        int auth_b64_len = (strlen(auth) + 2) / 3 * 4 + 1;
+        int auth_b64_len = AV_BASE64_SIZE(strlen(auth));
         int len = auth_b64_len + 30;
         char *ptr;
         authstr = av_malloc(len);
index d84ca36..1b70fa9 100644 (file)
@@ -79,7 +79,7 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
     int bytes_remaining = in_size;
 
     if (in_size >= UINT_MAX / 4 ||
-        out_size < (in_size+2) / 3 * 4 + 1)
+        out_size < AV_BASE64_SIZE(in_size))
         return NULL;
     ret = dst = out;
     while (bytes_remaining) {