ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Tue Jul 28 16:57:46 2015 -0300| [7a7df34c91e16ea8936f59524145a2cdd6b790f9] | committer: Anton Khirnov
blowfish: add av_blowfish_alloc() Signed-off-by: James Almer <jamr...@gmail.com> Signed-off-by: Anton Khirnov <an...@khirnov.net> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a7df34c91e16ea8936f59524145a2cdd6b790f9 --- doc/APIchanges | 3 +++ libavutil/blowfish.c | 15 +++++++++++++++ libavutil/blowfish.h | 10 ++++++++++ libavutil/version.h | 5 ++++- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 17a6d88..42f13fa 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,9 @@ libavutil: 2014-08-09 API changes, most recent first: +2015-xx-xx - lavu 54.17.0 + xxxxxxx - Add av_blowfish_alloc(). + 2015-07-29 - 7e38340 - lavu 54.16.0 - hmac.h Add AV_HMAC_SHA224 and AV_HMAC_SHA256. diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c index 8437dd6..a392459 100644 --- a/libavutil/blowfish.c +++ b/libavutil/blowfish.c @@ -24,8 +24,18 @@ #include "avutil.h" #include "common.h" #include "intreadwrite.h" +#include "mem.h" #include "blowfish.h" +#if !FF_API_CRYPTO_CONTEXT +#define AV_BF_ROUNDS 16 + +struct AVBlowfish { + uint32_t p[AV_BF_ROUNDS + 2]; + uint32_t s[4][256]; +}; +#endif + static const uint32_t orig_p[AV_BF_ROUNDS + 2] = { 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, @@ -312,6 +322,11 @@ static void F(AVBlowfish *ctx, uint32_t *xl, uint32_t *xr, int i) *xr = Xl; } +AVBlowfish *av_blowfish_alloc(void) +{ + return av_mallocz(sizeof(struct AVBlowfish)); +} + av_cold void av_blowfish_init(AVBlowfish *ctx, const uint8_t *key, int key_len) { uint32_t data, data_l, data_r; diff --git a/libavutil/blowfish.h b/libavutil/blowfish.h index 8c29536..4f86bf7 100644 --- a/libavutil/blowfish.h +++ b/libavutil/blowfish.h @@ -22,6 +22,7 @@ #define AVUTIL_BLOWFISH_H #include <stdint.h> +#include "version.h" /** * @defgroup lavu_blowfish Blowfish @@ -29,12 +30,21 @@ * @{ */ +#if FF_API_CRYPTO_CONTEXT #define AV_BF_ROUNDS 16 typedef struct AVBlowfish { uint32_t p[AV_BF_ROUNDS + 2]; uint32_t s[4][256]; } AVBlowfish; +#else +typedef struct AVBlowfish AVBlowfish; +#endif + +/** + * Allocate an AVBlowfish context. + */ +AVBlowfish *av_blowfish_alloc(void); /** * Initialize an AVBlowfish context. diff --git a/libavutil/version.h b/libavutil/version.h index 231cf94..47369fb 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -54,7 +54,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 54 -#define LIBAVUTIL_VERSION_MINOR 16 +#define LIBAVUTIL_VERSION_MINOR 17 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ @@ -114,6 +114,9 @@ #ifndef FF_API_DLOG #define FF_API_DLOG (LIBAVUTIL_VERSION_MAJOR < 55) #endif +#ifndef FF_API_CRYPTO_CONTEXT +#define FF_API_CRYPTO_CONTEXT (LIBAVUTIL_VERSION_MAJOR < 56) +#endif /** _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog