summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/xtea.c12
-rw-r--r--libavutil/xtea.h10
2 files changed, 22 insertions, 0 deletions
diff --git a/libavutil/xtea.c b/libavutil/xtea.c
index 1750cbc45a..b95f32239e 100644
--- a/libavutil/xtea.c
+++ b/libavutil/xtea.c
@@ -31,8 +31,20 @@
#include "avutil.h"
#include "common.h"
#include "intreadwrite.h"
+#include "mem.h"
#include "xtea.h"
+#if !FF_API_CRYPTO_CONTEXT
+struct AVXTEA {
+ uint32_t key[16];
+};
+#endif
+
+AVXTEA *av_xtea_alloc(void)
+{
+ return av_mallocz(sizeof(struct AVXTEA));
+}
+
void av_xtea_init(AVXTEA *ctx, const uint8_t key[16])
{
int i;
diff --git a/libavutil/xtea.h b/libavutil/xtea.h
index 6f1e71e345..4281fd8c8f 100644
--- a/libavutil/xtea.h
+++ b/libavutil/xtea.h
@@ -23,6 +23,7 @@
#define AVUTIL_XTEA_H
#include <stdint.h>
+#include "version.h"
/**
* @file
@@ -32,9 +33,18 @@
* @{
*/
+#if FF_API_CRYPTO_CONTEXT
typedef struct AVXTEA {
uint32_t key[16];
} AVXTEA;
+#else
+typedef struct AVXTEA AVXTEA;
+#endif
+
+/**
+ * Allocate an AVXTEA context.
+ */
+AVXTEA *av_xtea_alloc(void);
/**
* Initialize an AVXTEA context.