[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