avcodec/hevcdec: use ff_hevc_uninit_parameter_sets()
authorJames Almer <jamrial@gmail.com>
Sat, 20 Jan 2018 19:54:51 +0000 (16:54 -0300)
committerJames Almer <jamrial@gmail.com>
Wed, 31 Jan 2018 01:07:21 +0000 (22:07 -0300)
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 1f0cf1b2f4ef6304c343d53508193ac4b5d9c1d2)

libavcodec/hevcdec.c

index 2e4add2..67ac9ab 100644 (file)
@@ -3215,15 +3215,7 @@ static av_cold int hevc_decode_free(AVCodecContext *avctx)
         av_frame_free(&s->DPB[i].frame);
     }
 
-    for (i = 0; i < FF_ARRAY_ELEMS(s->ps.vps_list); i++)
-        av_buffer_unref(&s->ps.vps_list[i]);
-    for (i = 0; i < FF_ARRAY_ELEMS(s->ps.sps_list); i++)
-        av_buffer_unref(&s->ps.sps_list[i]);
-    for (i = 0; i < FF_ARRAY_ELEMS(s->ps.pps_list); i++)
-        av_buffer_unref(&s->ps.pps_list[i]);
-    s->ps.sps = NULL;
-    s->ps.pps = NULL;
-    s->ps.vps = NULL;
+    ff_hevc_ps_uninit(&s->ps);
 
     av_freep(&s->sh.entry_point_offset);
     av_freep(&s->sh.offset);