Merge commit 'd9e8b47e3144262d6bc4681740411d4bdafad6ac'
authorHendrik Leppkes <h.leppkes@gmail.com>
Sun, 2 Aug 2015 08:41:16 +0000 (10:41 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Sun, 2 Aug 2015 08:41:16 +0000 (10:41 +0200)
* commit 'd9e8b47e3144262d6bc4681740411d4bdafad6ac':
  des: add av_des_alloc()

Conflicts:
libavutil/des.c

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
doc/APIchanges
libavutil/des.c
libavutil/des.h

index 7d1984fce99d4b5e6335e68b96cedbe5bd6dd714..cce2ddb0321c23d78a30a20d5ea9d9cf0ed1bbe0 100644 (file)
@@ -19,6 +19,7 @@ API changes, most recent first:
   xxxxxxx -  Add av_blowfish_alloc().
   xxxxxxx -  Add av_rc4_alloc().
   xxxxxxx -  Add av_xtea_alloc().
+  xxxxxxx -  Add av_des_alloc().
 
 2015-xx-xx - lavc 56.35.0 - avcodec.h
   xxxxxxxxx - Rename CODEC_FLAG* defines to AV_CODEC_FLAG*.
index 57ad0a4fffc8d7f87cf084b9222fee1d7b4412e2..e7e9178078494cdc87302fff7ed6cf524fc1e77a 100644 (file)
 #include "avutil.h"
 #include "common.h"
 #include "intreadwrite.h"
+#include "mem.h"
 #include "des.h"
 
-typedef struct AVDES AVDES;
+#if !FF_API_CRYPTO_CONTEXT
+struct AVDES {
+    uint64_t round_keys[3][16];
+    int triple_des;
+};
+#endif
 
 #define T(a, b, c, d, e, f, g, h) 64-a,64-b,64-c,64-d,64-e,64-f,64-g,64-h
 static const uint8_t IP_shuffle[] = {
@@ -286,6 +292,11 @@ static uint64_t des_encdec(uint64_t in, uint64_t K[16], int decrypt) {
     return in;
 }
 
+AVDES *av_des_alloc(void)
+{
+    return av_mallocz(sizeof(struct AVDES));
+}
+
 int av_des_init(AVDES *d, const uint8_t *key, int key_bits, av_unused int decrypt) {
     if (key_bits != 64 && key_bits != 192)
         return -1;
index 2feb0468db7fcca97b6c60ce02682d642dd28cc0..7c96dd84e147832b055e31564a15d18f203d62bc 100644 (file)
 
 #include <stdint.h>
 
-struct AVDES {
+/**
+ * @defgroup lavu_des DES
+ * @ingroup lavu_crypto
+ * @{
+ */
+
+#if FF_API_CRYPTO_CONTEXT
+typedef struct AVDES {
     uint64_t round_keys[3][16];
     int triple_des;
-};
+} AVDES;
+#else
+typedef struct AVDES AVDES;
+#endif
+
+/**
+ * Allocate an AVDES context.
+ */
+AVDES *av_des_alloc(void);
 
 /**
  * @brief Initializes an AVDES context.
@@ -58,4 +73,8 @@ void av_des_crypt(struct AVDES *d, uint8_t *dst, const uint8_t *src, int count,
  */
 void av_des_mac(struct AVDES *d, uint8_t *dst, const uint8_t *src, int count);
 
+/**
+ * @}
+ */
+
 #endif /* AVUTIL_DES_H */