OSDN Git Service

avcodec/h264_slice: Clear table pointers to avoid stale pointers
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 2 Nov 2014 00:55:40 +0000 (01:55 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 28 Nov 2014 17:53:11 +0000 (18:53 +0100)
Might fix Ticket3889

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 547fce95858ef83f8c25ae347e3ae3b8ba437fd9)

Conflicts:

libavcodec/h264_slice.c

libavcodec/h264.c

index c8facbc..7ea833f 100644 (file)
@@ -1807,6 +1807,17 @@ static int decode_update_thread_context(AVCodecContext *dst,
         h->mb_type_pool      = NULL;
         h->ref_index_pool    = NULL;
         h->motion_val_pool   = NULL;
+        h->intra4x4_pred_mode= NULL;
+        h->non_zero_count    = NULL;
+        h->slice_table_base  = NULL;
+        h->slice_table       = NULL;
+        h->cbp_table         = NULL;
+        h->chroma_pred_mode_table = NULL;
+        memset(h->mvd_table, 0, sizeof(h->mvd_table));
+        h->direct_table      = NULL;
+        h->list_counts       = NULL;
+        h->mb2b_xy           = NULL;
+        h->mb2br_xy          = NULL;
         for (i = 0; i < 2; i++) {
             h->rbsp_buffer[i] = NULL;
             h->rbsp_buffer_size[i] = 0;