diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-08-02 10:38:33 +0200 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-08-02 10:38:33 +0200 |
commit | a130ec9540b4a56b315c24285623b867c4c6f95c (patch) | |
tree | 509257f38c3af574e38189633bc99e89f84b2b29 | |
parent | 9ed59f16e005554fe412bcc05b2ed40688f4fd16 (diff) | |
parent | ae365453c370c85f278bff7fbf9e20d9d335cb2a (diff) |
Merge commit 'ae365453c370c85f278bff7fbf9e20d9d335cb2a'
* commit 'ae365453c370c85f278bff7fbf9e20d9d335cb2a':
rc4: add av_rc4_alloc()
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
-rw-r--r-- | doc/APIchanges | 1 | ||||
-rw-r--r-- | libavutil/rc4.c | 13 | ||||
-rw-r--r-- | libavutil/rc4.h | 24 |
3 files changed, 35 insertions, 3 deletions
diff --git a/doc/APIchanges b/doc/APIchanges index d222fc67b7..5fcbabb9e4 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -17,6 +17,7 @@ API changes, most recent first: 2015-xx-xx - lavu 54.30.0 xxxxxxx - Add av_blowfish_alloc(). + xxxxxxx - Add av_rc4_alloc(). 2015-xx-xx - lavc 56.35.0 - avcodec.h xxxxxxxxx - Rename CODEC_FLAG* defines to AV_CODEC_FLAG*. diff --git a/libavutil/rc4.c b/libavutil/rc4.c index 4e52ba5ac1..e507b4a1ab 100644 --- a/libavutil/rc4.c +++ b/libavutil/rc4.c @@ -22,9 +22,20 @@ */ #include "avutil.h" #include "common.h" +#include "mem.h" #include "rc4.h" -typedef struct AVRC4 AVRC4; +#if !FF_API_CRYPTO_CONTEXT +struct AVRC4 { + uint8_t state[256]; + int x, y; +}; +#endif + +AVRC4 *av_rc4_alloc(void) +{ + return av_mallocz(sizeof(struct AVRC4)); +} int av_rc4_init(AVRC4 *r, const uint8_t *key, int key_bits, int decrypt) { int i, j; diff --git a/libavutil/rc4.h b/libavutil/rc4.h index 9362fd8880..52d0868f2e 100644 --- a/libavutil/rc4.h +++ b/libavutil/rc4.h @@ -22,11 +22,27 @@ #define AVUTIL_RC4_H #include <stdint.h> +#include "version.h" -struct AVRC4 { +/** + * @defgroup lavu_rc4 RC4 + * @ingroup lavu_crypto + * @{ + */ + +#if FF_API_CRYPTO_CONTEXT +typedef struct AVRC4 { uint8_t state[256]; int x, y; -}; +} AVRC4; +#else +typedef struct AVRC4 AVRC4; +#endif + +/** + * Allocate an AVRC4 context. + */ +AVRC4 *av_rc4_alloc(void); /** * @brief Initializes an AVRC4 context. @@ -47,4 +63,8 @@ int av_rc4_init(struct AVRC4 *d, const uint8_t *key, int key_bits, int decrypt); */ void av_rc4_crypt(struct AVRC4 *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); +/** + * @} + */ + #endif /* AVUTIL_RC4_H */ |