[FFmpeg-devel] [PATCH 1/4] blowfish: add av_blowfish_alloc()
Paul B Mahol
onemda at gmail.com
Fri Jul 31 20:33:35 CEST 2015
On 7/31/15, James Almer <jamrial at gmail.com> wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> 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 29e9da9..d222fc6 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 3821427..4f7e4df 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 0b00453..d163fd3 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 b10f3e1..653f530 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
> --
> 2.5.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
For what is this useful?
More information about the ffmpeg-devel
mailing list