Quoting James Almer (2015-07-27 23:36:26)
> Signed-off-by: James Almer <[email protected]>
> ---
>  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 4ee7f41..4db1a3c 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -13,6 +13,9 @@ libavutil:     2014-08-09
>  
>  API changes, most recent first:
>  
> +2015-xx-xx - lavu 54.16.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 8437dd6..97a10a7 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
> +
> +typedef struct AVBlowfish {
> +    uint32_t p[AV_BF_ROUNDS + 2];
> +    uint32_t s[4][256];
> +} AVBlowfish;
> +#endif
> +
>  static const uint32_t orig_p[AV_BF_ROUNDS + 2] = {
>      0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344,
>      0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89,
> @@ -312,6 +322,11 @@ static void F(AVBlowfish *ctx, uint32_t *xl, uint32_t 
> *xr, int i)
>      *xr = Xl;
>  }
>  
> +struct 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 8c29536..ef0e88f 100644
> --- a/libavutil/blowfish.h
> +++ b/libavutil/blowfish.h
> @@ -22,6 +22,7 @@
>  #define AVUTIL_BLOWFISH_H
>  
>  #include <stdint.h>
> +#include "version.h"
>  
>  /**
>   * @defgroup lavu_blowfish Blowfish
> @@ -29,12 +30,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
> +struct AVBlowfish;

The struct is currently typedeffed and should remain so even after the
bump, since almost all other structs in libav are typedeffed.

The new function should also return the typedeffed name.
Same applies to the xtea patch (and technically to the other ones as
well, but there the structs are currently not typedeffed so you don't
have to fix that if you don't want to).

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to