[FFmpeg-cvslog] AVDictionary: warn about its shortcommings and mention available replacements.
Stefano Sabatini
stefano.sabatini-lala at poste.it
Tue Jun 28 10:04:48 CEST 2011
On date Tuesday 2011-06-28 04:31:11 +0200, Michael Niedermayer wrote:
> ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Jun 28 04:10:40 2011 +0200| [c029ea39bd58905d7a15ad7e1eb7991447606974] | committer: Michael Niedermayer
>
> AVDictionary: warn about its shortcommings and mention available replacements.
>
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
>
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c029ea39bd58905d7a15ad7e1eb7991447606974
> ---
>
> libavutil/dict.h | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/libavutil/dict.h b/libavutil/dict.h
> index 421be32..dc575eb 100644
> --- a/libavutil/dict.h
> +++ b/libavutil/dict.h
> @@ -19,6 +19,13 @@
>
> /**
> * @file Public dictionary API.
> + * @deprecated
> + * AVDictionary is provided for compatibility with libav. It is both in
> + * implementation as well as API inefficient. It doesnt scale and is
> + * be extreemly slow with large dictionaries.
> + * It is recommanded that new code uses our tree container from tree.c/h
> + * where applicable.
> + * Which uses AVL trees to achive O(log n) performance
I was concerned with the efficiency issues (which should be unrelevant
for small sets).
Though the tree.[ch] API is much more complicated than this. I supose
an alternative would be to make this a proper hash dictionary (which
would possibly require complicating the API).
More information about the ffmpeg-cvslog
mailing list