ffmpeg | branch: master | Clément Bœsch <cboe...@gopro.com> | Fri May 5 13:04:24 2017 +0200| [651ee9346105b9d492e01172ab447c04d03fa32e] | committer: Clément Bœsch
Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' * commit 'e435beb1ea5380a90774dbf51fdc8c941e486551': crypto: consistently use size_t as type for length parameters Merged-by: Clément Bœsch <cboe...@gopro.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=651ee9346105b9d492e01172ab447c04d03fa32e --- doc/APIchanges | 4 ++++ libavutil/md5.c | 8 ++++++++ libavutil/md5.h | 9 +++++++++ libavutil/sha.c | 6 +++++- libavutil/sha.h | 9 +++++++-- libavutil/version.h | 3 +++ 6 files changed, 36 insertions(+), 3 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index b9d7b8b569..e8c08ca769 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,10 @@ libavutil: 2015-08-28 API changes, most recent first: +2017-xx-xx - xxxxxxxxxx + Change av_sha_update() and av_md5_sum()/av_md5_update() length + parameter type to size_t at next major bump. + 2017-05-05 - xxxxxxxxxx - lavc 57.94.100 - avcodec.h The cuvid decoders now support AVCodecContext.hw_device_ctx, which removes the requirement to set an incomplete AVCodecContext.hw_frames_ctx only to diff --git a/libavutil/md5.c b/libavutil/md5.c index 1069ef1efe..31e69925ae 100644 --- a/libavutil/md5.c +++ b/libavutil/md5.c @@ -150,7 +150,11 @@ void av_md5_init(AVMD5 *ctx) ctx->ABCD[3] = 0x67452301; } +#if FF_API_CRYPTO_SIZE_T void av_md5_update(AVMD5 *ctx, const uint8_t *src, int len) +#else +void av_md5_update(AVMD5 *ctx, const uint8_t *src, size_t len) +#endif { const uint8_t *end; int j; @@ -200,7 +204,11 @@ void av_md5_final(AVMD5 *ctx, uint8_t *dst) AV_WL32(dst + 4 * i, ctx->ABCD[3 - i]); } +#if FF_API_CRYPTO_SIZE_T void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len) +#else +void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len) +#endif { AVMD5 ctx; diff --git a/libavutil/md5.h b/libavutil/md5.h index 9571c1fa46..ca72ccbf83 100644 --- a/libavutil/md5.h +++ b/libavutil/md5.h @@ -27,6 +27,7 @@ #ifndef AVUTIL_MD5_H #define AVUTIL_MD5_H +#include <stddef.h> #include <stdint.h> #include "attributes.h" @@ -63,7 +64,11 @@ void av_md5_init(struct AVMD5 *ctx); * @param src input data to update hash with * @param len input data length */ +#if FF_API_CRYPTO_SIZE_T void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len); +#else +void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len); +#endif /** * Finish hashing and output digest value. @@ -80,7 +85,11 @@ void av_md5_final(struct AVMD5 *ctx, uint8_t *dst); * @param src The data to hash * @param len The length of the data, in bytes */ +#if FF_API_CRYPTO_SIZE_T void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len); +#else +void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len); +#endif /** * @} diff --git a/libavutil/sha.c b/libavutil/sha.c index 5b42ccf1b2..ef6fa44227 100644 --- a/libavutil/sha.c +++ b/libavutil/sha.c @@ -311,7 +311,11 @@ av_cold int av_sha_init(AVSHA *ctx, int bits) return 0; } -void av_sha_update(AVSHA* ctx, const uint8_t* data, unsigned int len) +#if FF_API_CRYPTO_SIZE_T +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, unsigned int len) +#else +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len) +#endif { unsigned int i, j; diff --git a/libavutil/sha.h b/libavutil/sha.h index c7558a8964..c0180e5729 100644 --- a/libavutil/sha.h +++ b/libavutil/sha.h @@ -27,6 +27,7 @@ #ifndef AVUTIL_SHA_H #define AVUTIL_SHA_H +#include <stddef.h> #include <stdint.h> #include "attributes.h" @@ -69,11 +70,15 @@ int av_sha_init(struct AVSHA* context, int bits); /** * Update hash value. * - * @param context hash function context + * @param ctx hash function context * @param data input data to update hash with * @param len input data length */ -void av_sha_update(struct AVSHA* context, const uint8_t* data, unsigned int len); +#if FF_API_CRYPTO_SIZE_T +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, unsigned int len); +#else +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len); +#endif /** * Finish hashing and output digest value. diff --git a/libavutil/version.h b/libavutil/version.h index bba39e0180..e7a657971f 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -135,6 +135,9 @@ #ifndef FF_API_PKT_PTS #define FF_API_PKT_PTS (LIBAVUTIL_VERSION_MAJOR < 56) #endif +#ifndef FF_API_CRYPTO_SIZE_T +#define FF_API_CRYPTO_SIZE_T (LIBAVUTIL_VERSION_MAJOR < 56) +#endif /** ====================================================================== diff --cc doc/APIchanges index b9d7b8b569,942337903f..e8c08ca769 --- a/doc/APIchanges +++ b/doc/APIchanges @@@ -15,27 -13,25 +15,31 @@@ libavutil: 2015-08-2 API changes, most recent first: -2016-xx-xx - xxxxxxx ++2017-xx-xx - xxxxxxxxxx + Change av_sha_update() and av_md5_sum()/av_md5_update() length + parameter type to size_t at next major bump. + -2016-xx-xx - xxxxxxx - lavc 57.29.0 - avcodec.h - Add AV_PKT_DATA_SPHERICAL packet side data to export AVSphericalMapping - information from containers. +2017-05-05 - xxxxxxxxxx - lavc 57.94.100 - avcodec.h + The cuvid decoders now support AVCodecContext.hw_device_ctx, which removes + the requirement to set an incomplete AVCodecContext.hw_frames_ctx only to + set the Cuda device handle. -2016-xx-xx - xxxxxxx - lavu 55.30.0 - spherical.h - Add AV_FRAME_DATA_SPHERICAL value, av_spherical_alloc() API and - AVSphericalMapping type to export and describe spherical video properties. +2017-04-11 - 8378466507 - lavu 55.61.100 - avstring.h + Add av_strireplace(). -2016-xx-xx - xxxxxxx - lavf 57.10.0 - avformat.h - Add av_stream_add_side_data(). +2016-04-06 - 157e57a181 - lavc 57.92.100 - avcodec.h + Add AV_PKT_DATA_CONTENT_LIGHT_LEVEL packet side data. -2016-xx-xx - xxxxxxx - lavu 55.28.0 - pixfmt.h - Add AV_PIX_FMT_GRAY12(LE/BE). +2016-04-06 - b378f5bd64 - lavu 55.60.100 - mastering_display_metadata.h + Add AV_FRAME_DATA_CONTENT_LIGHT_LEVEL value, av_content_light_metadata_alloc() + and av_content_light_metadata_create_side_data() API, and AVContentLightMetadata + type to export content light level video properties. + +2017-03-31 - 9033e8723c - lavu 55.57.100 - spherical.h + Add av_spherical_projection_name(). + Add av_spherical_from_name(). -2016-xx-xx - xxxxxxx - lavu 55.27.0 - hwcontext.h +2017-03-30 - 4cda23f1f1 - lavu 55.53.100 / 55.27.0 - hwcontext.h Add av_hwframe_map() and associated AV_HWFRAME_MAP_* flags. Add av_hwframe_ctx_create_derived(). diff --cc libavutil/md5.c index 1069ef1efe,1946d78317..31e69925ae --- a/libavutil/md5.c +++ b/libavutil/md5.c @@@ -150,10 -146,13 +150,14 @@@ void av_md5_init(AVMD5 *ctx ctx->ABCD[3] = 0x67452301; } + #if FF_API_CRYPTO_SIZE_T -void av_md5_update(AVMD5 *ctx, const uint8_t *src, const int len) +void av_md5_update(AVMD5 *ctx, const uint8_t *src, int len) + #else + void av_md5_update(AVMD5 *ctx, const uint8_t *src, size_t len) + #endif { - int i, j; + const uint8_t *end; + int j; j = ctx->len & 63; ctx->len += len; diff --cc libavutil/md5.h index 9571c1fa46,55e7c23417..ca72ccbf83 --- a/libavutil/md5.h +++ b/libavutil/md5.h @@@ -40,47 -33,18 +41,55 @@@ * @{ */ +extern const int av_md5_size; + struct AVMD5; +/** + * Allocate an AVMD5 context. + */ struct AVMD5 *av_md5_alloc(void); + +/** + * Initialize MD5 hashing. + * + * @param ctx pointer to the function context (of size av_md5_size) + */ void av_md5_init(struct AVMD5 *ctx); + +/** + * Update hash value. + * + * @param ctx hash function context + * @param src input data to update hash with + * @param len input data length + */ ++#if FF_API_CRYPTO_SIZE_T +void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len); ++#else ++void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len); ++#endif + +/** + * Finish hashing and output digest value. + * + * @param ctx hash function context + * @param dst buffer where output digest value is stored + */ void av_md5_final(struct AVMD5 *ctx, uint8_t *dst); + +/** + * Hash an array of data. + * + * @param dst The output buffer to write the digest into + * @param src The data to hash + * @param len The length of the data, in bytes + */ + #if FF_API_CRYPTO_SIZE_T -void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, const int len); void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len); + #else -void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len); + void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len); + #endif /** * @} _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog