aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-02 13:50:34 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-04 08:03:33 +0200
commit95b681eafd7157413fe2ae756410726f754172de (patch)
treec4795c0e1913a1be743d114f78727601143db466
parentb0ee627ef9344a2606834806bdc8c64630495d07 (diff)
downloadffmpeg-95b681eafd7157413fe2ae756410726f754172de.tar.gz
avcodec/vp9: Remove vp9_free_entries()
Now that the mutexes and conditions are only initialized and destroyed once, said function only had one purpose: free the entries array. Given that vp9_alloc_entries() already does this if the array is already allocated it is unnecessary to call vp9_free_entries() anywhere except when closing. And then one can just inline the one free into vp9_decode_free(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/vp9.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 8bdcb86625..c1b58d4752 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -45,14 +45,6 @@ DEFINE_OFFSET_ARRAY(VP9Context, vp9_context, pthread_init_cnt,
(offsetof(VP9Context, progress_mutex)),
(offsetof(VP9Context, progress_cond)));
-static void vp9_free_entries(AVCodecContext *avctx) {
- VP9Context *s = avctx->priv_data;
-
- if (avctx->active_thread_type & FF_THREAD_SLICE) {
- av_freep(&s->entries);
- }
-}
-
static int vp9_alloc_entries(AVCodecContext *avctx, int n) {
VP9Context *s = avctx->priv_data;
int i;
@@ -88,7 +80,6 @@ static void vp9_await_tile_progress(VP9Context *s, int field, int n) {
pthread_mutex_unlock(&s->progress_mutex);
}
#else
-static void vp9_free_entries(AVCodecContext *avctx) {}
static int vp9_alloc_entries(AVCodecContext *avctx, int n) { return 0; }
#endif
@@ -794,7 +785,6 @@ static int decode_frame_header(AVCodecContext *avctx,
}
s->s.h.tiling.tile_cols = 1 << s->s.h.tiling.log2_tile_cols;
- vp9_free_entries(avctx);
s->active_tile_cols = avctx->active_thread_type == FF_THREAD_SLICE ?
s->s.h.tiling.tile_cols : 1;
vp9_alloc_entries(avctx, s->sb_rows);
@@ -1249,8 +1239,8 @@ static av_cold int vp9_decode_free(AVCodecContext *avctx)
}
free_buffers(s);
- vp9_free_entries(avctx);
#if HAVE_THREADS
+ av_freep(&s->entries);
ff_pthread_free(s, vp9_context_offsets);
#endif
av_freep(&s->td);