OSDN Git Service

HEVC : valgrind fix : vps_list
authorgcocherel <gildas.cocherel@laposte.net>
Tue, 26 Nov 2013 07:49:49 +0000 (08:49 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 26 Nov 2013 12:22:01 +0000 (13:22 +0100)
cherry picked from commit 211c39ade87bc079eabc862a6b684544dc88a786

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/hevc_parser.c

index 1ba9508..dc1f6d5 100644 (file)
@@ -187,7 +187,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, AVCodecContext *avctx
             }
             if (h->sps != (HEVCSPS*)h->sps_list[h->pps->sps_id]->data) {
                 h->sps = (HEVCSPS*)h->sps_list[h->pps->sps_id]->data;
-                h->vps = h->vps_list[h->sps->vps_id];
+                h->vps = (HEVCVPS*)h->vps_list[h->sps->vps_id]->data;
             }
 
             if (!sh->first_slice_in_pic_flag) {
@@ -325,7 +325,7 @@ static void hevc_close(AVCodecParserContext *s)
     av_freep(&pc->buffer);
 
     for (i = 0; i < FF_ARRAY_ELEMS(h->vps_list); i++)
-        av_freep(&h->vps_list[i]);
+        av_buffer_unref(&h->vps_list[i]);
     for (i = 0; i < FF_ARRAY_ELEMS(h->sps_list); i++)
         av_buffer_unref(&h->sps_list[i]);
     for (i = 0; i < FF_ARRAY_ELEMS(h->pps_list); i++)