diff options
author | Martin Storsjö <martin@martin.st> | 2012-10-11 15:08:04 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-10-11 23:35:27 +0300 |
commit | 9a92aea27bad2f5603ca85e0d0716c679a6b686c (patch) | |
tree | a38dae27b4c15cc4a75c0a3745351b8c5b3fd122 /libavutil/tree.c | |
parent | fb32f31af76ce784c86c59c86c28e5653e223610 (diff) | |
download | ffmpeg-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.c')
-rw-r--r-- | libavutil/tree.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavutil/tree.c b/libavutil/tree.c index 0e68bb75f1..55dcbc59a7 100644 --- a/libavutil/tree.c +++ b/libavutil/tree.c @@ -28,7 +28,14 @@ typedef struct AVTreeNode { int state; } AVTreeNode; +#if FF_API_CONTEXT_SIZE const int av_tree_node_size = sizeof(AVTreeNode); +#endif + +struct AVTreeNode *av_tree_node_alloc(void) +{ + return av_mallocz(sizeof(struct AVTreeNode)); +} void *av_tree_find(const AVTreeNode *t, void *key, int (*cmp)(void *key, const void *b), void *next[2]) |