summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2015-08-02 10:38:12 +0200
committerHendrik Leppkes <h.leppkes@gmail.com>2015-08-02 10:38:12 +0200
commit9ed59f16e005554fe412bcc05b2ed40688f4fd16 (patch)
tree2827c201867aaa7610ec8042a122295cf53b44f8
parent988ddfea5e32226448e353766c8d9b610914e087 (diff)
parent7a7df34c91e16ea8936f59524145a2cdd6b790f9 (diff)
Merge commit '7a7df34c91e16ea8936f59524145a2cdd6b790f9'
* commit '7a7df34c91e16ea8936f59524145a2cdd6b790f9': blowfish: add av_blowfish_alloc() Conflicts: doc/APIchanges libavutil/version.h Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/blowfish.c15
-rw-r--r--libavutil/blowfish.h10
-rw-r--r--libavutil/version.h5
4 files changed, 32 insertions, 1 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 29e9da9d80..d222fc67b7 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil: 2014-08-09
API changes, most recent first:
+2015-xx-xx - lavu 54.30.0
+ xxxxxxx - Add av_blowfish_alloc().
+
2015-xx-xx - lavc 56.35.0 - avcodec.h
xxxxxxxxx - Rename CODEC_FLAG* defines to AV_CODEC_FLAG*.
xxxxxxxxx - Rename CODEC_CAP_* defines to AV_CODEC_CAP_*.
diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c
index 3821427570..4f7e4dfd6c 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,
@@ -300,6 +310,11 @@ static const uint32_t orig_s[4][256] = {
+ ctx->s[3][ Xl & 0xFF])\
^ P;
+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 0b004532de..d163fd3578 100644
--- a/libavutil/blowfish.h
+++ b/libavutil/blowfish.h
@@ -23,6 +23,7 @@
#define AVUTIL_BLOWFISH_H
#include <stdint.h>
+#include "version.h"
/**
* @defgroup lavu_blowfish Blowfish
@@ -30,12 +31,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 b10f3e120f..653f530631 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -56,7 +56,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 54
-#define LIBAVUTIL_VERSION_MINOR 29
+#define LIBAVUTIL_VERSION_MINOR 30
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -125,6 +125,9 @@
#ifndef FF_API_HMAC
#define FF_API_HMAC (LIBAVUTIL_VERSION_MAJOR < 55)
#endif
+#ifndef FF_API_CRYPTO_CONTEXT
+#define FF_API_CRYPTO_CONTEXT (LIBAVUTIL_VERSION_MAJOR < 56)
+#endif
#ifndef FF_CONST_AVUTIL55
#if LIBAVUTIL_VERSION_MAJOR >= 55