diff mbox series

[FFmpeg-devel,06/13] avcodec/vp9: Remove vp9_free_entries()

Message ID AM7PR03MB666045B5DDA327877B9813BD8FCE9@AM7PR03MB6660.eurprd03.prod.outlook.com
State Accepted
Commit 95b681eafd7157413fe2ae756410726f754172de
Headers show
Series [FFmpeg-devel,01/13] avcodec/vp9: Do not destroy uninitialized mutexes/conditions
Related show

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 fail Make fate failed
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Andreas Rheinhardt Sept. 2, 2021, 3:41 p.m. UTC
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>
---
 libavcodec/vp9.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)
diff mbox series

Patch

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);