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().
ctx->ABCD[3] = 0x67452301;
}
-void av_md5_update(AVMD5 *ctx, const uint8_t *src, const int len)
+ #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
{
- int i, j;
+ const uint8_t *end;
+ int j;
j = ctx->len & 63;
ctx->len += len;
* @{
*/
+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);
-void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, const int len);
+
+/**
+ * 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_sum(uint8_t *dst, const uint8_t *src, const int len);
-void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len);
+ #else
+ void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len);
+ #endif
/**
* @}