From 324e50ee95929a9491b855c5e15451145bd5d1ec Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 22 May 2015 19:50:13 +0100 Subject: rl: Add a function for freeing dynamically allocated tables. Such tables are not used anywhere currently, but that should change. --- libavcodec/rl.c | 12 ++++++++++++ libavcodec/rl.h | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/libavcodec/rl.c b/libavcodec/rl.c index 942b7a6941..c0ec8ec296 100644 --- a/libavcodec/rl.c +++ b/libavcodec/rl.c @@ -19,9 +19,21 @@ #include #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 d03d4365a8..8244968898 100644 --- a/libavcodec/rl.h +++ b/libavcodec/rl.h @@ -56,6 +56,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); +/** + * Free the contents of a dynamically allocated table. + */ +void ff_rl_free(RLTable *rl); + #define INIT_VLC_RL(rl, static_size)\ {\ int q;\ -- cgit v1.2.3