From 9a92aea27bad2f5603ca85e0d0716c679a6b686c Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Thu, 11 Oct 2012 15:08:04 +0300 Subject: avutil: Add functions for allocating opaque contexts for algorithms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current API where the plain size is exposed is not of much use - in most cases it is allocated dynamically anyway. If allocated e.g. on the stack via an uint8_t array, there's no guarantee that the struct's members are aligned properly (unless the array is overallocated and the opaque pointer within it manually aligned to some unspecified alignment). Signed-off-by: Martin Storsjö --- libavutil/aes.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libavutil/aes.h') diff --git a/libavutil/aes.h b/libavutil/aes.h index cf7b462092..edff275b7a 100644 --- a/libavutil/aes.h +++ b/libavutil/aes.h @@ -23,16 +23,26 @@ #include +#include "attributes.h" +#include "version.h" + /** * @defgroup lavu_aes AES * @ingroup lavu_crypto * @{ */ -extern const int av_aes_size; +#if FF_API_CONTEXT_SIZE +extern attribute_deprecated const int av_aes_size; +#endif struct AVAES; +/** + * Allocate an AVAES context. + */ +struct AVAES *av_aes_alloc(void); + /** * Initialize an AVAES context. * @param key_bits 128, 192 or 256 -- cgit v1.2.3