aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/tree.h
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-10-11 15:08:04 +0300
committerMartin Storsjö <martin@martin.st>2012-10-11 23:35:27 +0300
commit9a92aea27bad2f5603ca85e0d0716c679a6b686c (patch)
treea38dae27b4c15cc4a75c0a3745351b8c5b3fd122 /libavutil/tree.h
parentfb32f31af76ce784c86c59c86c28e5653e223610 (diff)
downloadffmpeg-9a92aea27bad2f5603ca85e0d0716c679a6b686c.tar.gz
avutil: Add functions for allocating opaque contexts for algorithms
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ö <martin@martin.st>
Diffstat (limited to 'libavutil/tree.h')
-rw-r--r--libavutil/tree.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/libavutil/tree.h b/libavutil/tree.h
index 59ea01dbdb..623280f2b2 100644
--- a/libavutil/tree.h
+++ b/libavutil/tree.h
@@ -27,6 +27,9 @@
#ifndef AVUTIL_TREE_H
#define AVUTIL_TREE_H
+#include "attributes.h"
+#include "version.h"
+
/**
* @addtogroup lavu_tree AVTree
* @ingroup lavu_data
@@ -40,7 +43,14 @@
struct AVTreeNode;
-extern const int av_tree_node_size;
+#if FF_API_CONTEXT_SIZE
+extern attribute_deprecated const int av_tree_node_size;
+#endif
+
+/**
+ * Allocate an AVTreeNode.
+ */
+struct AVTreeNode *av_tree_node_alloc(void);
/**
* Find an element.