diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-28 21:55:17 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-28 21:55:20 +0200 |
commit | c508fef3c737321ad719db6ec62e1d011726baa8 (patch) | |
tree | 06869cea53d7018fb7dc6a8421cd74197eaaee01 | |
parent | 75647622b530e8ec98ce364c9d6c38ca1b292e6d (diff) | |
parent | 324e50ee95929a9491b855c5e15451145bd5d1ec (diff) | |
download | ffmpeg-streaming-c508fef3c737321ad719db6ec62e1d011726baa8.zip ffmpeg-streaming-c508fef3c737321ad719db6ec62e1d011726baa8.tar.gz |
Merge commit '324e50ee95929a9491b855c5e15451145bd5d1ec'
* commit '324e50ee95929a9491b855c5e15451145bd5d1ec':
rl: Add a function for freeing dynamically allocated tables.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/rl.c | 12 | ||||
-rw-r--r-- | libavcodec/rl.h | 5 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/rl.c b/libavcodec/rl.c index 68122b7..8b1854c 100644 --- a/libavcodec/rl.c +++ b/libavcodec/rl.c @@ -19,9 +19,21 @@ #include <stdint.h> #include "libavutil/attributes.h" +#include "libavutil/mem.h" #include "rl.h" +void ff_rl_free(RLTable *rl) +{ + int i; + + for (i = 0; i < 2; i++) { + av_freep(&rl->max_run[i]); + av_freep(&rl->max_level[i]); + av_freep(&rl->index_run[i]); + } +} + av_cold void ff_rl_init(RLTable *rl, uint8_t static_store[2][2 * MAX_RUN + MAX_LEVEL + 3]) { diff --git a/libavcodec/rl.h b/libavcodec/rl.h index 086266e..e4a6faa 100644 --- a/libavcodec/rl.h +++ b/libavcodec/rl.h @@ -55,6 +55,11 @@ typedef struct RLTable { void ff_rl_init(RLTable *rl, uint8_t static_store[2][2*MAX_RUN + MAX_LEVEL + 3]); void ff_rl_init_vlc(RLTable *rl, unsigned static_size); +/** + * Free the contents of a dynamically allocated table. + */ +void ff_rl_free(RLTable *rl); + #define INIT_VLC_RL(rl, static_size)\ {\ int q;\ |