diff --git a/doc/APIchanges b/doc/APIchanges index 8363b05b75..e02097b1a7 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2015-08-28 API changes, most recent first: +2016-04-02 - xxxxxxx - lavu 55.20.100 - base64.h + Add AV_BASE64_DECODE_SIZE(x) macro. + 2016-xx-xx - lavc 57.33.0 - avcodec.h xxxxxxx - Add AVCodecParameters and its related API. xxxxxxx - Add av_get_audio_frame_duration2(). diff --git a/libavutil/base64.h b/libavutil/base64.h index 514498eac8..2954c12d42 100644 --- a/libavutil/base64.h +++ b/libavutil/base64.h @@ -29,19 +29,24 @@ * @{ */ - /** * Decode a base64-encoded string. * * @param out buffer for decoded data * @param in null-terminated input string * @param out_size size in bytes of the out buffer, must be at - * least 3/4 of the length of in + * least 3/4 of the length of in, that is AV_BASE64_DECODE_SIZE(strlen(in)) * @return number of bytes written, or a negative value in case of * invalid input */ int av_base64_decode(uint8_t *out, const char *in, int out_size); +/** + * Calculate the output size in bytes needed to decode a base64 string + * with length x to a data buffer. + */ +#define AV_BASE64_DECODE_SIZE(x) ((x) * 3LL / 4) + /** * Encode data to base64 and null-terminate. * diff --git a/libavutil/version.h b/libavutil/version.h index 53e74bc343..f1e9e4006a 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -64,7 +64,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 55 -#define LIBAVUTIL_VERSION_MINOR 19 +#define LIBAVUTIL_VERSION_MINOR 20 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \